mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
refactor: fav and workspace (#3837)
* refactor: workspace * chore: update collab rev * test: add data migration test * fix: test * fix: tauri build * test: fix bloc test * test: fix bloc test * test: fix bloc test * chore: restore magic codde
This commit is contained in:
@ -1,53 +1,10 @@
|
||||
use collab_folder::core::ViewLayout;
|
||||
use collab_folder::ViewLayout;
|
||||
|
||||
use flowy_folder2::entities::icon::{ViewIconPB, ViewIconTypePB};
|
||||
|
||||
use crate::folder::local_test::script::FolderScript::*;
|
||||
use crate::folder::local_test::script::FolderTest;
|
||||
|
||||
#[tokio::test]
|
||||
async fn read_all_workspace_test() {
|
||||
let mut test = FolderTest::new().await;
|
||||
test.run_scripts(vec![ReadAllWorkspaces]).await;
|
||||
assert!(!test.all_workspace.is_empty());
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn create_workspace_test() {
|
||||
let mut test = FolderTest::new().await;
|
||||
let name = "My new workspace".to_owned();
|
||||
let desc = "Daily routines".to_owned();
|
||||
test
|
||||
.run_scripts(vec![CreateWorkspace {
|
||||
name: name.clone(),
|
||||
desc: desc.clone(),
|
||||
}])
|
||||
.await;
|
||||
|
||||
let workspace = test.workspace.clone();
|
||||
assert_eq!(workspace.name, name);
|
||||
|
||||
test
|
||||
.run_scripts(vec![
|
||||
ReadWorkspace(Some(workspace.id.clone())),
|
||||
AssertWorkspace(workspace),
|
||||
])
|
||||
.await;
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn get_workspace_test() {
|
||||
let mut test = FolderTest::new().await;
|
||||
let workspace = test.workspace.clone();
|
||||
|
||||
test
|
||||
.run_scripts(vec![
|
||||
ReadWorkspace(Some(workspace.id.clone())),
|
||||
AssertWorkspace(workspace),
|
||||
])
|
||||
.await;
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn create_parent_view_test() {
|
||||
let mut test = FolderTest::new().await;
|
||||
|
@ -1,4 +1,4 @@
|
||||
use collab_folder::core::ViewLayout;
|
||||
use collab_folder::ViewLayout;
|
||||
|
||||
use event_integration::event_builder::EventBuilder;
|
||||
use event_integration::EventIntegrationTest;
|
||||
@ -7,14 +7,15 @@ use flowy_folder2::entities::*;
|
||||
use flowy_folder2::event_map::FolderEvent::*;
|
||||
|
||||
pub enum FolderScript {
|
||||
// Workspace
|
||||
ReadAllWorkspaces,
|
||||
#[allow(dead_code)]
|
||||
CreateWorkspace {
|
||||
name: String,
|
||||
desc: String,
|
||||
},
|
||||
#[allow(dead_code)]
|
||||
AssertWorkspace(WorkspacePB),
|
||||
ReadWorkspace(Option<String>),
|
||||
#[allow(dead_code)]
|
||||
ReadWorkspace(String),
|
||||
|
||||
// App
|
||||
CreateParentView {
|
||||
@ -65,7 +66,6 @@ pub enum FolderScript {
|
||||
|
||||
pub struct FolderTest {
|
||||
pub sdk: EventIntegrationTest,
|
||||
pub all_workspace: Vec<WorkspacePB>,
|
||||
pub workspace: WorkspacePB,
|
||||
pub parent_view: ViewPB,
|
||||
pub child_view: ViewPB,
|
||||
@ -77,8 +77,15 @@ impl FolderTest {
|
||||
pub async fn new() -> Self {
|
||||
let sdk = EventIntegrationTest::new().await;
|
||||
let _ = sdk.init_anon_user().await;
|
||||
let workspace = create_workspace(&sdk, "FolderWorkspace", "Folder test workspace").await;
|
||||
let parent_view = create_app(&sdk, &workspace.id, "Folder App", "Folder test app").await;
|
||||
let workspace = sdk.folder_manager.get_current_workspace().await.unwrap();
|
||||
let parent_view = create_view(
|
||||
&sdk,
|
||||
&workspace.id,
|
||||
"Folder App",
|
||||
"Folder test app",
|
||||
ViewLayout::Document,
|
||||
)
|
||||
.await;
|
||||
let view = create_view(
|
||||
&sdk,
|
||||
&parent_view.id,
|
||||
@ -89,7 +96,6 @@ impl FolderTest {
|
||||
.await;
|
||||
Self {
|
||||
sdk,
|
||||
all_workspace: vec![],
|
||||
workspace,
|
||||
parent_view,
|
||||
child_view: view,
|
||||
@ -107,10 +113,6 @@ impl FolderTest {
|
||||
pub async fn run_script(&mut self, script: FolderScript) {
|
||||
let sdk = &self.sdk;
|
||||
match script {
|
||||
FolderScript::ReadAllWorkspaces => {
|
||||
let all_workspace = read_workspace(sdk, None).await;
|
||||
self.all_workspace = all_workspace;
|
||||
},
|
||||
FolderScript::CreateWorkspace { name, desc } => {
|
||||
let workspace = create_workspace(sdk, &name, &desc).await;
|
||||
self.workspace = workspace;
|
||||
@ -119,11 +121,11 @@ impl FolderTest {
|
||||
assert_eq!(self.workspace, workspace, "Workspace not equal");
|
||||
},
|
||||
FolderScript::ReadWorkspace(workspace_id) => {
|
||||
let workspace = read_workspace(sdk, workspace_id).await.pop().unwrap();
|
||||
let workspace = read_workspace(sdk, workspace_id).await;
|
||||
self.workspace = workspace;
|
||||
},
|
||||
FolderScript::CreateParentView { name, desc } => {
|
||||
let app = create_app(sdk, &self.workspace.id, &name, &desc).await;
|
||||
let app = create_view(sdk, &self.workspace.id, &name, &desc, ViewLayout::Document).await;
|
||||
self.parent_view = app;
|
||||
},
|
||||
FolderScript::AssertParentView(app) => {
|
||||
@ -215,70 +217,27 @@ pub async fn create_workspace(sdk: &EventIntegrationTest, name: &str, desc: &str
|
||||
.parse::<WorkspacePB>()
|
||||
}
|
||||
|
||||
pub async fn read_workspace(
|
||||
sdk: &EventIntegrationTest,
|
||||
workspace_id: Option<String>,
|
||||
) -> Vec<WorkspacePB> {
|
||||
pub async fn read_workspace(sdk: &EventIntegrationTest, workspace_id: String) -> WorkspacePB {
|
||||
let request = WorkspaceIdPB {
|
||||
value: workspace_id,
|
||||
};
|
||||
let repeated_workspace = EventBuilder::new(sdk.clone())
|
||||
.event(ReadAllWorkspaces)
|
||||
EventBuilder::new(sdk.clone())
|
||||
.event(ReadCurrentWorkspace)
|
||||
.payload(request.clone())
|
||||
.async_send()
|
||||
.await
|
||||
.parse::<RepeatedWorkspacePB>();
|
||||
|
||||
let workspaces;
|
||||
if let Some(workspace_id) = &request.value {
|
||||
workspaces = repeated_workspace
|
||||
.items
|
||||
.into_iter()
|
||||
.filter(|workspace| &workspace.id == workspace_id)
|
||||
.collect::<Vec<WorkspacePB>>();
|
||||
debug_assert_eq!(workspaces.len(), 1);
|
||||
} else {
|
||||
workspaces = repeated_workspace.items;
|
||||
}
|
||||
|
||||
workspaces
|
||||
}
|
||||
|
||||
pub async fn create_app(
|
||||
sdk: &EventIntegrationTest,
|
||||
workspace_id: &str,
|
||||
name: &str,
|
||||
desc: &str,
|
||||
) -> ViewPB {
|
||||
let create_view_request = CreateViewPayloadPB {
|
||||
parent_view_id: workspace_id.to_owned(),
|
||||
name: name.to_string(),
|
||||
desc: desc.to_string(),
|
||||
thumbnail: None,
|
||||
layout: ViewLayout::Document.into(),
|
||||
initial_data: vec![],
|
||||
meta: Default::default(),
|
||||
set_as_current: true,
|
||||
index: None,
|
||||
};
|
||||
|
||||
EventBuilder::new(sdk.clone())
|
||||
.event(CreateView)
|
||||
.payload(create_view_request)
|
||||
.async_send()
|
||||
.await
|
||||
.parse::<ViewPB>()
|
||||
.parse::<WorkspacePB>()
|
||||
}
|
||||
|
||||
pub async fn create_view(
|
||||
sdk: &EventIntegrationTest,
|
||||
app_id: &str,
|
||||
parent_view_id: &str,
|
||||
name: &str,
|
||||
desc: &str,
|
||||
layout: ViewLayout,
|
||||
) -> ViewPB {
|
||||
let request = CreateViewPayloadPB {
|
||||
parent_view_id: app_id.to_string(),
|
||||
parent_view_id: parent_view_id.to_string(),
|
||||
name: name.to_string(),
|
||||
desc: desc.to_string(),
|
||||
thumbnail: None,
|
||||
|
@ -17,7 +17,7 @@ use crate::util::receive_with_timeout;
|
||||
/// 6. Ensure that the received views contain the newly created "test_view".
|
||||
async fn create_child_view_in_workspace_subscription_test() {
|
||||
let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
let workspace = test.get_current_workspace().await.workspace;
|
||||
let workspace = test.get_current_workspace().await;
|
||||
let rx = test
|
||||
.notification_sender
|
||||
.subscribe::<RepeatedViewPB>(&workspace.id, FolderNotification::DidUpdateWorkspaceViews);
|
||||
@ -41,7 +41,7 @@ async fn create_child_view_in_workspace_subscription_test() {
|
||||
#[tokio::test]
|
||||
async fn create_child_view_in_view_subscription_test() {
|
||||
let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
let mut workspace = test.get_current_workspace().await.workspace;
|
||||
let mut workspace = test.get_current_workspace().await;
|
||||
let workspace_child_view = workspace.views.pop().unwrap();
|
||||
let rx = test.notification_sender.subscribe::<ChildViewUpdatePB>(
|
||||
&workspace_child_view.id,
|
||||
@ -73,7 +73,7 @@ async fn create_child_view_in_view_subscription_test() {
|
||||
#[tokio::test]
|
||||
async fn delete_view_subscription_test() {
|
||||
let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
let workspace = test.get_current_workspace().await.workspace;
|
||||
let workspace = test.get_current_workspace().await;
|
||||
let rx = test
|
||||
.notification_sender
|
||||
.subscribe::<ChildViewUpdatePB>(&workspace.id, FolderNotification::DidUpdateChildViews);
|
||||
@ -104,7 +104,7 @@ async fn delete_view_subscription_test() {
|
||||
#[tokio::test]
|
||||
async fn update_view_subscription_test() {
|
||||
let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
let mut workspace = test.get_current_workspace().await.workspace;
|
||||
let mut workspace = test.get_current_workspace().await;
|
||||
let rx = test
|
||||
.notification_sender
|
||||
.subscribe::<ChildViewUpdatePB>(&workspace.id, FolderNotification::DidUpdateChildViews);
|
||||
|
@ -16,44 +16,45 @@ async fn create_workspace_event_test() {
|
||||
.payload(request)
|
||||
.async_send()
|
||||
.await
|
||||
.parse::<flowy_folder2::entities::WorkspacePB>();
|
||||
assert_eq!(resp.name, "my second workspace");
|
||||
.error()
|
||||
.unwrap();
|
||||
assert_eq!(resp.code, ErrorCode::NotSupportYet);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn open_workspace_event_test() {
|
||||
let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
let payload = CreateWorkspacePayloadPB {
|
||||
name: "my second workspace".to_owned(),
|
||||
desc: "".to_owned(),
|
||||
};
|
||||
// create a workspace
|
||||
let resp_1 = EventBuilder::new(test.clone())
|
||||
.event(flowy_folder2::event_map::FolderEvent::CreateWorkspace)
|
||||
.payload(payload)
|
||||
.async_send()
|
||||
.await
|
||||
.parse::<flowy_folder2::entities::WorkspacePB>();
|
||||
|
||||
// open the workspace
|
||||
let payload = WorkspaceIdPB {
|
||||
value: Some(resp_1.id.clone()),
|
||||
};
|
||||
let resp_2 = EventBuilder::new(test)
|
||||
.event(flowy_folder2::event_map::FolderEvent::OpenWorkspace)
|
||||
.payload(payload)
|
||||
.async_send()
|
||||
.await
|
||||
.parse::<flowy_folder2::entities::WorkspacePB>();
|
||||
|
||||
assert_eq!(resp_1.id, resp_2.id);
|
||||
assert_eq!(resp_1.name, resp_2.name);
|
||||
}
|
||||
// #[tokio::test]
|
||||
// async fn open_workspace_event_test() {
|
||||
// let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
// let payload = CreateWorkspacePayloadPB {
|
||||
// name: "my second workspace".to_owned(),
|
||||
// desc: "".to_owned(),
|
||||
// };
|
||||
// // create a workspace
|
||||
// let resp_1 = EventBuilder::new(test.clone())
|
||||
// .event(flowy_folder2::event_map::FolderEvent::CreateWorkspace)
|
||||
// .payload(payload)
|
||||
// .async_send()
|
||||
// .await
|
||||
// .parse::<flowy_folder2::entities::WorkspacePB>();
|
||||
//
|
||||
// // open the workspace
|
||||
// let payload = WorkspaceIdPB {
|
||||
// value: Some(resp_1.id.clone()),
|
||||
// };
|
||||
// let resp_2 = EventBuilder::new(test)
|
||||
// .event(flowy_folder2::event_map::FolderEvent::OpenWorkspace)
|
||||
// .payload(payload)
|
||||
// .async_send()
|
||||
// .await
|
||||
// .parse::<flowy_folder2::entities::WorkspacePB>();
|
||||
//
|
||||
// assert_eq!(resp_1.id, resp_2.id);
|
||||
// assert_eq!(resp_1.name, resp_2.name);
|
||||
// }
|
||||
|
||||
#[tokio::test]
|
||||
async fn create_view_event_test() {
|
||||
let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
let current_workspace = test.get_current_workspace().await.workspace;
|
||||
let current_workspace = test.get_current_workspace().await;
|
||||
let view = test
|
||||
.create_view(¤t_workspace.id, "My first view".to_string())
|
||||
.await;
|
||||
@ -65,7 +66,7 @@ async fn create_view_event_test() {
|
||||
#[tokio::test]
|
||||
async fn update_view_event_with_name_test() {
|
||||
let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
let current_workspace = test.get_current_workspace().await.workspace;
|
||||
let current_workspace = test.get_current_workspace().await;
|
||||
let view = test
|
||||
.create_view(¤t_workspace.id, "My first view".to_string())
|
||||
.await;
|
||||
@ -86,7 +87,7 @@ async fn update_view_event_with_name_test() {
|
||||
#[tokio::test]
|
||||
async fn update_view_icon_event_test() {
|
||||
let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
let current_workspace = test.get_current_workspace().await.workspace;
|
||||
let current_workspace = test.get_current_workspace().await;
|
||||
let view = test
|
||||
.create_view(¤t_workspace.id, "My first view".to_string())
|
||||
.await;
|
||||
@ -110,7 +111,7 @@ async fn update_view_icon_event_test() {
|
||||
#[tokio::test]
|
||||
async fn delete_view_event_test() {
|
||||
let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
let current_workspace = test.get_current_workspace().await.workspace;
|
||||
let current_workspace = test.get_current_workspace().await;
|
||||
let view = test
|
||||
.create_view(¤t_workspace.id, "My first view".to_string())
|
||||
.await;
|
||||
@ -133,7 +134,7 @@ async fn delete_view_event_test() {
|
||||
#[tokio::test]
|
||||
async fn put_back_trash_event_test() {
|
||||
let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
let current_workspace = test.get_current_workspace().await.workspace;
|
||||
let current_workspace = test.get_current_workspace().await;
|
||||
let view = test
|
||||
.create_view(¤t_workspace.id, "My first view".to_string())
|
||||
.await;
|
||||
@ -176,7 +177,7 @@ async fn put_back_trash_event_test() {
|
||||
#[tokio::test]
|
||||
async fn delete_view_permanently_event_test() {
|
||||
let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
let current_workspace = test.get_current_workspace().await.workspace;
|
||||
let current_workspace = test.get_current_workspace().await;
|
||||
let view = test
|
||||
.create_view(¤t_workspace.id, "My first view".to_string())
|
||||
.await;
|
||||
@ -225,7 +226,7 @@ async fn delete_view_permanently_event_test() {
|
||||
#[tokio::test]
|
||||
async fn delete_all_trash_test() {
|
||||
let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
let current_workspace = test.get_current_workspace().await.workspace;
|
||||
let current_workspace = test.get_current_workspace().await;
|
||||
|
||||
for i in 0..3 {
|
||||
let view = test
|
||||
@ -269,7 +270,7 @@ async fn delete_all_trash_test() {
|
||||
#[tokio::test]
|
||||
async fn multiple_hierarchy_view_test() {
|
||||
let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
let current_workspace = test.get_current_workspace().await.workspace;
|
||||
let current_workspace = test.get_current_workspace().await;
|
||||
for i in 1..4 {
|
||||
let parent = test
|
||||
.create_view(¤t_workspace.id, format!("My {} view", i))
|
||||
@ -345,7 +346,7 @@ async fn multiple_hierarchy_view_test() {
|
||||
#[tokio::test]
|
||||
async fn move_view_event_test() {
|
||||
let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
let current_workspace = test.get_current_workspace().await.workspace;
|
||||
let current_workspace = test.get_current_workspace().await;
|
||||
for i in 1..4 {
|
||||
let parent = test
|
||||
.create_view(¤t_workspace.id, format!("My {} view", i))
|
||||
@ -383,7 +384,7 @@ async fn move_view_event_test() {
|
||||
#[tokio::test]
|
||||
async fn move_view_event_after_delete_view_test() {
|
||||
let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
let current_workspace = test.get_current_workspace().await.workspace;
|
||||
let current_workspace = test.get_current_workspace().await;
|
||||
for i in 1..6 {
|
||||
let _ = test
|
||||
.create_view(¤t_workspace.id, format!("My {} view", i))
|
||||
@ -425,7 +426,7 @@ async fn move_view_event_after_delete_view_test() {
|
||||
#[tokio::test]
|
||||
async fn move_view_event_after_delete_view_test2() {
|
||||
let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
let current_workspace = test.get_current_workspace().await.workspace;
|
||||
let current_workspace = test.get_current_workspace().await;
|
||||
let parent = test
|
||||
.create_view(¤t_workspace.id, "My view".to_string())
|
||||
.await;
|
||||
@ -495,7 +496,7 @@ fn invalid_workspace_name_test_case() -> Vec<(String, ErrorCode)> {
|
||||
#[tokio::test]
|
||||
async fn move_view_across_parent_test() {
|
||||
let test = EventIntegrationTest::new_with_guest_user().await;
|
||||
let current_workspace = test.get_current_workspace().await.workspace;
|
||||
let current_workspace = test.get_current_workspace().await;
|
||||
let parent_1 = test
|
||||
.create_view(¤t_workspace.id, "My view 1".to_string())
|
||||
.await;
|
||||
|
@ -5,7 +5,7 @@ use collab::core::collab::MutexCollab;
|
||||
use collab::core::origin::CollabOrigin;
|
||||
use collab::preclude::updates::decoder::Decode;
|
||||
use collab::preclude::{merge_updates_v1, JsonValue, Update};
|
||||
use collab_folder::core::FolderData;
|
||||
use collab_folder::FolderData;
|
||||
|
||||
use event_integration::event_builder::EventBuilder;
|
||||
use flowy_folder2::entities::{FolderSnapshotPB, RepeatedFolderSnapshotPB, WorkspaceIdPB};
|
||||
@ -39,7 +39,7 @@ impl FlowySupabaseFolderTest {
|
||||
EventBuilder::new(self.inner.deref().clone())
|
||||
.event(GetFolderSnapshots)
|
||||
.payload(WorkspaceIdPB {
|
||||
value: Some(workspace_id.to_string()),
|
||||
value: workspace_id.to_string(),
|
||||
})
|
||||
.async_send()
|
||||
.await
|
||||
|
@ -12,11 +12,12 @@ use crate::util::{get_folder_data_from_server, receive_with_timeout};
|
||||
#[tokio::test]
|
||||
async fn supabase_encrypt_folder_test() {
|
||||
if let Some(test) = FlowySupabaseFolderTest::new().await {
|
||||
let uid = test.user_manager.user_id().unwrap();
|
||||
let secret = test.enable_encryption().await;
|
||||
|
||||
let local_folder_data = test.get_local_folder_data().await;
|
||||
let workspace_id = test.get_current_workspace().await.workspace.id;
|
||||
let remote_folder_data = get_folder_data_from_server(&workspace_id, Some(secret))
|
||||
let workspace_id = test.get_current_workspace().await.id;
|
||||
let remote_folder_data = get_folder_data_from_server(&uid, &workspace_id, Some(secret))
|
||||
.await
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
@ -28,8 +29,9 @@ async fn supabase_encrypt_folder_test() {
|
||||
#[tokio::test]
|
||||
async fn supabase_decrypt_folder_data_test() {
|
||||
if let Some(test) = FlowySupabaseFolderTest::new().await {
|
||||
let uid = test.user_manager.user_id().unwrap();
|
||||
let secret = Some(test.enable_encryption().await);
|
||||
let workspace_id = test.get_current_workspace().await.workspace.id;
|
||||
let workspace_id = test.get_current_workspace().await.id;
|
||||
test
|
||||
.create_view(&workspace_id, "encrypt view".to_string())
|
||||
.await;
|
||||
@ -41,7 +43,7 @@ async fn supabase_decrypt_folder_data_test() {
|
||||
receive_with_timeout(rx, Duration::from_secs(10))
|
||||
.await
|
||||
.unwrap();
|
||||
let folder_data = get_folder_data_from_server(&workspace_id, secret)
|
||||
let folder_data = get_folder_data_from_server(&uid, &workspace_id, secret)
|
||||
.await
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
@ -54,8 +56,9 @@ async fn supabase_decrypt_folder_data_test() {
|
||||
#[should_panic]
|
||||
async fn supabase_decrypt_with_invalid_secret_folder_data_test() {
|
||||
if let Some(test) = FlowySupabaseFolderTest::new().await {
|
||||
let uid = test.user_manager.user_id().unwrap();
|
||||
let _ = Some(test.enable_encryption().await);
|
||||
let workspace_id = test.get_current_workspace().await.workspace.id;
|
||||
let workspace_id = test.get_current_workspace().await.id;
|
||||
test
|
||||
.create_view(&workspace_id, "encrypt view".to_string())
|
||||
.await;
|
||||
@ -66,7 +69,7 @@ async fn supabase_decrypt_with_invalid_secret_folder_data_test() {
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
let _ = get_folder_data_from_server(&workspace_id, Some("invalid secret".to_string()))
|
||||
let _ = get_folder_data_from_server(&uid, &workspace_id, Some("invalid secret".to_string()))
|
||||
.await
|
||||
.unwrap();
|
||||
}
|
||||
@ -74,7 +77,7 @@ async fn supabase_decrypt_with_invalid_secret_folder_data_test() {
|
||||
#[tokio::test]
|
||||
async fn supabase_folder_snapshot_test() {
|
||||
if let Some(test) = FlowySupabaseFolderTest::new().await {
|
||||
let workspace_id = test.get_current_workspace().await.workspace.id;
|
||||
let workspace_id = test.get_current_workspace().await.id;
|
||||
let rx = test
|
||||
.notification_sender
|
||||
.subscribe::<FolderSnapshotStatePB>(&workspace_id, DidUpdateFolderSnapshotState);
|
||||
@ -92,7 +95,7 @@ async fn supabase_folder_snapshot_test() {
|
||||
#[tokio::test]
|
||||
async fn supabase_initial_folder_snapshot_test2() {
|
||||
if let Some(test) = FlowySupabaseFolderTest::new().await {
|
||||
let workspace_id = test.get_current_workspace().await.workspace.id;
|
||||
let workspace_id = test.get_current_workspace().await.id;
|
||||
|
||||
test
|
||||
.create_view(&workspace_id, "supabase test view1".to_string())
|
||||
|
Reference in New Issue
Block a user