test.rs 1.8 KB

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