refactor: add folder entities's revision objects

This commit is contained in:
appflowy
2022-06-12 22:01:02 +08:00
parent 2b499ee62b
commit c2fad5021b
16 changed files with 325 additions and 206 deletions

View File

@ -1,7 +1,7 @@
use crate::script::{invalid_workspace_name_test_case, FolderScript::*, FolderTest};
use flowy_folder::entities::workspace::CreateWorkspacePayload;
use flowy_folder_data_model::entities::view::ViewDataType;
use flowy_folder_data_model::revision::{AppRevision, WorkspaceRevision};
use flowy_revision::disk::RevisionState;
use flowy_test::{event_builder::*, FlowySDKTest};
@ -38,11 +38,12 @@ async fn workspace_create() {
async fn workspace_read() {
let mut test = FolderTest::new().await;
let workspace = test.workspace.clone();
let json = serde_json::to_string(&workspace).unwrap();
let workspace_revision: WorkspaceRevision = workspace.clone().into();
let json = serde_json::to_string(&workspace_revision).unwrap();
test.run_scripts(vec![
ReadWorkspace(Some(workspace.id.clone())),
AssertWorkspaceJson(json),
AssertWorkspaceRevisionJson(json),
AssertWorkspace(workspace),
])
.await;
@ -58,8 +59,10 @@ async fn workspace_create_with_apps() {
.await;
let app = test.app.clone();
let json = serde_json::to_string(&app).unwrap();
test.run_scripts(vec![ReadApp(app.id), AssertAppJson(json)]).await;
let app_revision: AppRevision = app.clone().into();
let json = serde_json::to_string(&app_revision).unwrap();
test.run_scripts(vec![ReadApp(app.id), AssertAppRevisionJson(json)])
.await;
}
#[tokio::test]

View File

@ -14,6 +14,7 @@ use flowy_folder_data_model::entities::{
view::{CreateViewPayload, UpdateViewPayload},
workspace::{CreateWorkspacePayload, RepeatedWorkspace},
};
use flowy_folder_data_model::revision::{AppRevision, WorkspaceRevision};
use flowy_revision::disk::RevisionState;
use flowy_revision::REVISION_WRITE_INTERVAL_IN_MILLIS;
use flowy_sync::entities::text_block_info::TextBlockInfo;
@ -28,7 +29,7 @@ pub enum FolderScript {
name: String,
desc: String,
},
AssertWorkspaceJson(String),
AssertWorkspaceRevisionJson(String),
AssertWorkspace(Workspace),
ReadWorkspace(Option<String>),
@ -37,7 +38,7 @@ pub enum FolderScript {
name: String,
desc: String,
},
AssertAppJson(String),
AssertAppRevisionJson(String),
AssertApp(App),
ReadApp(String),
UpdateApp {
@ -138,12 +139,13 @@ impl FolderTest {
let workspace = create_workspace(sdk, &name, &desc).await;
self.workspace = workspace;
}
FolderScript::AssertWorkspaceJson(expected_json) => {
FolderScript::AssertWorkspaceRevisionJson(expected_json) => {
let workspace = read_workspace(sdk, Some(self.workspace.id.clone()))
.await
.pop()
.unwrap();
let json = serde_json::to_string(&workspace).unwrap();
let workspace_revision: WorkspaceRevision = workspace.into();
let json = serde_json::to_string(&workspace_revision).unwrap();
assert_eq!(json, expected_json);
}
FolderScript::AssertWorkspace(workspace) => {
@ -157,8 +159,9 @@ impl FolderTest {
let app = create_app(sdk, &self.workspace.id, &name, &desc).await;
self.app = app;
}
FolderScript::AssertAppJson(expected_json) => {
let json = serde_json::to_string(&self.app).unwrap();
FolderScript::AssertAppRevisionJson(expected_json) => {
let app_revision: AppRevision = self.app.clone().into();
let json = serde_json::to_string(&app_revision).unwrap();
assert_eq!(json, expected_json);
}
FolderScript::AssertApp(app) => {