test.rs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. use std::time::Duration;
  2. use flowy_folder2::entities::{FolderSnapshotStatePB, FolderSyncStatePB};
  3. use crate::folder::supabase_test::helper::{assert_folder_collab_content, FlowySupabaseFolderTest};
  4. use crate::util::receive_with_timeout;
  5. #[tokio::test]
  6. async fn cloud_test_supabase_initial_folder_snapshot_test() {
  7. if let Some(test) = FlowySupabaseFolderTest::new().await {
  8. let workspace_id = test.get_current_workspace().await.workspace.id;
  9. let mut rx = test
  10. .notification_sender
  11. .subscribe::<FolderSnapshotStatePB>(&workspace_id);
  12. receive_with_timeout(&mut rx, Duration::from_secs(30))
  13. .await
  14. .unwrap();
  15. let expected = test.get_collab_json().await;
  16. let snapshots = test.get_folder_snapshots(&workspace_id).await;
  17. assert_eq!(snapshots.len(), 1);
  18. assert_folder_collab_content(&workspace_id, &snapshots[0].data, expected);
  19. }
  20. }
  21. #[tokio::test]
  22. async fn cloud_test_supabase_initial_folder_snapshot_test2() {
  23. if let Some(test) = FlowySupabaseFolderTest::new().await {
  24. let workspace_id = test.get_current_workspace().await.workspace.id;
  25. test
  26. .create_view(&workspace_id, "supabase test view1".to_string())
  27. .await;
  28. test
  29. .create_view(&workspace_id, "supabase test view2".to_string())
  30. .await;
  31. test
  32. .create_view(&workspace_id, "supabase test view3".to_string())
  33. .await;
  34. let mut rx = test
  35. .notification_sender
  36. .subscribe_with_condition::<FolderSyncStatePB, _>(&workspace_id, |pb| pb.is_finish);
  37. receive_with_timeout(&mut rx, Duration::from_secs(30))
  38. .await
  39. .unwrap();
  40. let expected = test.get_collab_json().await;
  41. let update = test.get_collab_update(&workspace_id).await;
  42. assert_folder_collab_content(&workspace_id, &update, expected);
  43. }
  44. }