mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2025-07-24 01:18:56 +00:00
104 lines
2.8 KiB
Rust
104 lines
2.8 KiB
Rust
use crate::database::database_ref_test::script::LinkDatabaseTest;
|
|
use crate::database::database_ref_test::script::LinkDatabaseTestScript::*;
|
|
|
|
#[tokio::test]
|
|
async fn number_of_database_test() {
|
|
let mut test = LinkDatabaseTest::new().await;
|
|
test
|
|
.run_scripts(vec![
|
|
// After the LinkDatabaseTest initialize, it will create a grid.
|
|
AssertNumberOfDatabase { expected: 1 },
|
|
CreateNewGrid,
|
|
AssertNumberOfDatabase { expected: 2 },
|
|
])
|
|
.await;
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn database_view_link_with_existing_database_test() {
|
|
let mut test = LinkDatabaseTest::new().await;
|
|
let database = test.all_databases().await.pop().unwrap();
|
|
test
|
|
.run_scripts(vec![
|
|
CreateGridViewAndLinkToDatabase {
|
|
database_id: database.database_id,
|
|
},
|
|
AssertNumberOfDatabase { expected: 1 },
|
|
])
|
|
.await;
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn check_number_of_rows_in_linked_database_view() {
|
|
let mut test = LinkDatabaseTest::new().await;
|
|
let database = test.all_databases().await.pop().unwrap();
|
|
let view = test
|
|
.all_database_ref_views(&database.database_id)
|
|
.await
|
|
.remove(0);
|
|
|
|
test
|
|
.run_scripts(vec![
|
|
CreateGridViewAndLinkToDatabase {
|
|
database_id: database.database_id,
|
|
},
|
|
// The initial number of rows is 6
|
|
AssertNumberOfRows {
|
|
view_id: view.view_id.clone(),
|
|
expected: 6,
|
|
},
|
|
])
|
|
.await;
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn multiple_views_share_database_rows() {
|
|
let mut test = LinkDatabaseTest::new().await;
|
|
|
|
// After the LinkDatabaseTest initialize, it will create a default database
|
|
// with Grid layout.
|
|
let database = test.all_databases().await.pop().unwrap();
|
|
let mut database_views = test.all_database_ref_views(&database.database_id).await;
|
|
assert_eq!(database_views.len(), 1);
|
|
let view = database_views.remove(0);
|
|
|
|
test
|
|
.run_scripts(vec![
|
|
AssertNumberOfRows {
|
|
view_id: view.view_id.clone(),
|
|
expected: 6,
|
|
},
|
|
CreateGridViewAndLinkToDatabase {
|
|
database_id: database.database_id.clone(),
|
|
},
|
|
])
|
|
.await;
|
|
|
|
let database_views = test.all_database_ref_views(&database.database_id).await;
|
|
assert_eq!(database_views.len(), 2);
|
|
let view_id_1 = database_views.get(0).unwrap().view_id.clone();
|
|
let view_id_2 = database_views.get(1).unwrap().view_id.clone();
|
|
|
|
// Create a new row
|
|
let mut builder = test.row_builder(&view_id_1).await;
|
|
builder.insert_text_cell("hello world");
|
|
|
|
test
|
|
.run_scripts(vec![
|
|
CreateRow {
|
|
view_id: view_id_1.clone(),
|
|
row_rev: builder.build(),
|
|
},
|
|
AssertNumberOfRows {
|
|
view_id: view_id_1,
|
|
expected: 7,
|
|
},
|
|
AssertNumberOfRows {
|
|
view_id: view_id_2,
|
|
expected: 7,
|
|
},
|
|
AssertNumberOfDatabase { expected: 1 },
|
|
])
|
|
.await;
|
|
}
|