| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 | 
							- use crate::helper::*;
 
- use flowy_test::{event_builder::UserModuleEventBuilder, FlowySDKTest};
 
- use flowy_user::entities::{UpdateUserProfilePayloadPB, UserProfilePB};
 
- use flowy_user::{errors::ErrorCode, event_map::UserEvent::*};
 
- use nanoid::nanoid;
 
- // use serial_test::*;
 
- #[tokio::test]
 
- async fn user_profile_get_failed() {
 
-     let sdk = FlowySDKTest::default();
 
-     let result = UserModuleEventBuilder::new(sdk)
 
-         .event(GetUserProfile)
 
-         .assert_error()
 
-         .async_send()
 
-         .await;
 
-     assert!(result.user_profile().is_none())
 
- }
 
- #[tokio::test]
 
- async fn user_profile_get() {
 
-     let test = FlowySDKTest::default();
 
-     let user_profile = test.init_user().await;
 
-     let user = UserModuleEventBuilder::new(test.clone())
 
-         .event(GetUserProfile)
 
-         .sync_send()
 
-         .parse::<UserProfilePB>();
 
-     assert_eq!(user_profile, user);
 
- }
 
- #[tokio::test]
 
- async fn user_update_with_name() {
 
-     let sdk = FlowySDKTest::default();
 
-     let user = sdk.init_user().await;
 
-     let new_name = "hello_world".to_owned();
 
-     let request = UpdateUserProfilePayloadPB::new(&user.id).name(&new_name);
 
-     let _ = UserModuleEventBuilder::new(sdk.clone())
 
-         .event(UpdateUserProfile)
 
-         .payload(request)
 
-         .sync_send();
 
-     let user_profile = UserModuleEventBuilder::new(sdk.clone())
 
-         .event(GetUserProfile)
 
-         .assert_error()
 
-         .sync_send()
 
-         .parse::<UserProfilePB>();
 
-     assert_eq!(user_profile.name, new_name,);
 
- }
 
- #[tokio::test]
 
- async fn user_update_with_email() {
 
-     let sdk = FlowySDKTest::default();
 
-     let user = sdk.init_user().await;
 
-     let new_email = format!("{}@gmail.com", nanoid!(6));
 
-     let request = UpdateUserProfilePayloadPB::new(&user.id).email(&new_email);
 
-     let _ = UserModuleEventBuilder::new(sdk.clone())
 
-         .event(UpdateUserProfile)
 
-         .payload(request)
 
-         .sync_send();
 
-     let user_profile = UserModuleEventBuilder::new(sdk.clone())
 
-         .event(GetUserProfile)
 
-         .assert_error()
 
-         .sync_send()
 
-         .parse::<UserProfilePB>();
 
-     assert_eq!(user_profile.email, new_email,);
 
- }
 
- #[tokio::test]
 
- async fn user_update_with_password() {
 
-     let sdk = FlowySDKTest::default();
 
-     let user = sdk.init_user().await;
 
-     let new_password = "H123world!".to_owned();
 
-     let request = UpdateUserProfilePayloadPB::new(&user.id).password(&new_password);
 
-     let _ = UserModuleEventBuilder::new(sdk.clone())
 
-         .event(UpdateUserProfile)
 
-         .payload(request)
 
-         .sync_send()
 
-         .assert_success();
 
- }
 
- #[tokio::test]
 
- async fn user_update_with_invalid_email() {
 
-     let test = FlowySDKTest::default();
 
-     let user = test.init_user().await;
 
-     for email in invalid_email_test_case() {
 
-         let request = UpdateUserProfilePayloadPB::new(&user.id).email(&email);
 
-         assert_eq!(
 
-             UserModuleEventBuilder::new(test.clone())
 
-                 .event(UpdateUserProfile)
 
-                 .payload(request)
 
-                 .sync_send()
 
-                 .error()
 
-                 .code,
 
-             ErrorCode::EmailFormatInvalid.value()
 
-         );
 
-     }
 
- }
 
- #[tokio::test]
 
- async fn user_update_with_invalid_password() {
 
-     let test = FlowySDKTest::default();
 
-     let user = test.init_user().await;
 
-     for password in invalid_password_test_case() {
 
-         let request = UpdateUserProfilePayloadPB::new(&user.id).password(&password);
 
-         UserModuleEventBuilder::new(test.clone())
 
-             .event(UpdateUserProfile)
 
-             .payload(request)
 
-             .sync_send()
 
-             .assert_error();
 
-     }
 
- }
 
- #[tokio::test]
 
- async fn user_update_with_invalid_name() {
 
-     let test = FlowySDKTest::default();
 
-     let user = test.init_user().await;
 
-     let request = UpdateUserProfilePayloadPB::new(&user.id).name("");
 
-     UserModuleEventBuilder::new(test.clone())
 
-         .event(UpdateUserProfile)
 
-         .payload(request)
 
-         .sync_send()
 
-         .assert_error();
 
- }
 
 
  |