user_test.rs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. use uuid::Uuid;
  2. use flowy_user_deps::entities::*;
  3. use lib_infra::box_any::BoxAny;
  4. use crate::supabase_test::util::{get_supabase_config, sign_up_param, user_auth_service};
  5. // ‼️‼️‼️ Warning: this test will create a table in the database
  6. #[tokio::test]
  7. async fn supabase_user_sign_up_test() {
  8. if get_supabase_config().is_none() {
  9. return;
  10. }
  11. let user_service = user_auth_service();
  12. let uuid = Uuid::new_v4().to_string();
  13. let params = sign_up_param(uuid);
  14. let user: SignUpResponse = user_service.sign_up(BoxAny::new(params)).await.unwrap();
  15. assert!(!user.latest_workspace.id.is_empty());
  16. assert!(!user.user_workspaces.is_empty());
  17. assert!(!user.latest_workspace.database_storage_id.is_empty());
  18. }
  19. #[tokio::test]
  20. async fn supabase_user_sign_up_with_existing_uuid_test() {
  21. if get_supabase_config().is_none() {
  22. return;
  23. }
  24. let user_service = user_auth_service();
  25. let uuid = Uuid::new_v4().to_string();
  26. let params = sign_up_param(uuid);
  27. let _user: SignUpResponse = user_service
  28. .sign_up(BoxAny::new(params.clone()))
  29. .await
  30. .unwrap();
  31. let user: SignUpResponse = user_service.sign_up(BoxAny::new(params)).await.unwrap();
  32. assert!(!user.latest_workspace.id.is_empty());
  33. assert!(!user.latest_workspace.database_storage_id.is_empty());
  34. assert!(!user.user_workspaces.is_empty());
  35. }
  36. #[tokio::test]
  37. async fn supabase_update_user_profile_test() {
  38. if get_supabase_config().is_none() {
  39. return;
  40. }
  41. let user_service = user_auth_service();
  42. let uuid = Uuid::new_v4().to_string();
  43. let params = sign_up_param(uuid);
  44. let user: SignUpResponse = user_service
  45. .sign_up(BoxAny::new(params.clone()))
  46. .await
  47. .unwrap();
  48. user_service
  49. .update_user(
  50. UserCredentials::from_uid(user.user_id),
  51. UpdateUserProfileParams {
  52. id: user.user_id,
  53. auth_type: Default::default(),
  54. name: Some("123".to_string()),
  55. email: Some(format!("{}@test.com", Uuid::new_v4())),
  56. password: None,
  57. icon_url: None,
  58. openai_key: None,
  59. },
  60. )
  61. .await
  62. .unwrap();
  63. let user_profile = user_service
  64. .get_user_profile(UserCredentials::from_uid(user.user_id))
  65. .await
  66. .unwrap()
  67. .unwrap();
  68. assert_eq!(user_profile.name, "123");
  69. }
  70. #[tokio::test]
  71. async fn supabase_get_user_profile_test() {
  72. if get_supabase_config().is_none() {
  73. return;
  74. }
  75. let user_service = user_auth_service();
  76. let uuid = Uuid::new_v4().to_string();
  77. let params = sign_up_param(uuid);
  78. let user: SignUpResponse = user_service
  79. .sign_up(BoxAny::new(params.clone()))
  80. .await
  81. .unwrap();
  82. let credential = UserCredentials::from_uid(user.user_id);
  83. user_service
  84. .get_user_profile(credential.clone())
  85. .await
  86. .unwrap()
  87. .unwrap();
  88. }
  89. #[tokio::test]
  90. async fn supabase_get_not_exist_user_profile_test() {
  91. if get_supabase_config().is_none() {
  92. return;
  93. }
  94. let user_service = user_auth_service();
  95. let result = user_service
  96. .get_user_profile(UserCredentials::from_uid(i64::MAX))
  97. .await
  98. .unwrap();
  99. // user not found
  100. assert!(result.is_none());
  101. }