database_test.rs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. use collab_entity::{CollabObject, CollabType};
  2. use uuid::Uuid;
  3. use flowy_user_deps::entities::AuthResponse;
  4. use lib_infra::box_any::BoxAny;
  5. use crate::supabase_test::util::{
  6. collab_service, database_service, get_supabase_ci_config, third_party_sign_up_param,
  7. user_auth_service,
  8. };
  9. #[tokio::test]
  10. async fn supabase_create_database_test() {
  11. if get_supabase_ci_config().is_none() {
  12. return;
  13. }
  14. let user_service = user_auth_service();
  15. let uuid = Uuid::new_v4().to_string();
  16. let params = third_party_sign_up_param(uuid);
  17. let user: AuthResponse = user_service.sign_up(BoxAny::new(params)).await.unwrap();
  18. let collab_service = collab_service();
  19. let database_service = database_service();
  20. let mut row_ids = vec![];
  21. for _i in 0..3 {
  22. let row_id = uuid::Uuid::new_v4().to_string();
  23. row_ids.push(row_id.clone());
  24. let collab_object = CollabObject::new(
  25. user.user_id,
  26. row_id,
  27. CollabType::DatabaseRow,
  28. user.latest_workspace.id.clone(),
  29. "fake_device_id".to_string(),
  30. );
  31. collab_service
  32. .send_update(&collab_object, 0, vec![1, 2, 3])
  33. .await
  34. .unwrap();
  35. collab_service
  36. .send_update(&collab_object, 0, vec![4, 5, 6])
  37. .await
  38. .unwrap();
  39. }
  40. let updates_by_oid = database_service
  41. .batch_get_collab_updates(row_ids, CollabType::DatabaseRow, "fake_workspace_id")
  42. .await
  43. .unwrap();
  44. assert_eq!(updates_by_oid.len(), 3);
  45. for (_, update) in updates_by_oid {
  46. assert_eq!(update.len(), 2);
  47. }
  48. }