2023-10-24 20:11:06 +08:00
|
|
|
use event_integration::EventIntegrationTest;
|
2023-08-06 15:54:18 +08:00
|
|
|
use flowy_core::DEFAULT_NAME;
|
|
|
|
use flowy_folder2::entities::ViewLayoutPB;
|
|
|
|
|
2023-08-28 13:28:24 +08:00
|
|
|
use crate::util::unzip_history_user_db;
|
2023-08-06 15:54:18 +08:00
|
|
|
|
|
|
|
#[tokio::test]
|
|
|
|
async fn migrate_020_historical_empty_document_test() {
|
2023-08-28 13:28:24 +08:00
|
|
|
let (cleaner, user_db_path) = unzip_history_user_db(
|
|
|
|
"./tests/user/migration_test/history_user_db",
|
|
|
|
"020_historical_user_data",
|
|
|
|
)
|
|
|
|
.unwrap();
|
2023-10-24 20:11:06 +08:00
|
|
|
let test = EventIntegrationTest::new_with_user_data_path(user_db_path, DEFAULT_NAME.to_string());
|
2023-08-06 15:54:18 +08:00
|
|
|
|
|
|
|
let mut views = test.get_all_workspace_views().await;
|
|
|
|
assert_eq!(views.len(), 1);
|
|
|
|
|
|
|
|
// Check the parent view
|
|
|
|
let parent_view = views.pop().unwrap();
|
|
|
|
assert_eq!(parent_view.layout, ViewLayoutPB::Document);
|
|
|
|
let data = test.open_document(parent_view.id.clone()).await.data;
|
|
|
|
assert!(!data.page_id.is_empty());
|
|
|
|
assert_eq!(data.blocks.len(), 2);
|
|
|
|
assert!(!data.meta.children_map.is_empty());
|
|
|
|
|
|
|
|
// Check the child views of the parent view
|
|
|
|
let child_views = test.get_views(&parent_view.id).await.child_views;
|
|
|
|
assert_eq!(child_views.len(), 4);
|
|
|
|
assert_eq!(child_views[0].layout, ViewLayoutPB::Document);
|
|
|
|
assert_eq!(child_views[1].layout, ViewLayoutPB::Grid);
|
|
|
|
assert_eq!(child_views[2].layout, ViewLayoutPB::Calendar);
|
|
|
|
assert_eq!(child_views[3].layout, ViewLayoutPB::Board);
|
|
|
|
|
|
|
|
let database = test.get_database(&child_views[1].id).await;
|
|
|
|
assert_eq!(database.fields.len(), 8);
|
|
|
|
assert_eq!(database.rows.len(), 3);
|
|
|
|
drop(cleaner);
|
|
|
|
}
|