| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 | use crate::user::local_test::helper::*;use flowy_test::{event_builder::EventBuilder, FlowyCoreTest};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 = FlowyCoreTest::new();  let result = EventBuilder::new(sdk)    .event(GetUserProfile)    .async_send()    .await    .error();  assert!(result.is_some())}#[tokio::test]async fn user_profile_get() {  let test = FlowyCoreTest::new();  let user_profile = test.init_user().await;  let user = EventBuilder::new(test.clone())    .event(GetUserProfile)    .sync_send()    .parse::<UserProfilePB>();  assert_eq!(user_profile, user);}#[tokio::test]async fn user_update_with_name() {  let sdk = FlowyCoreTest::new();  let user = sdk.init_user().await;  let new_name = "hello_world".to_owned();  let request = UpdateUserProfilePayloadPB::new(user.id).name(&new_name);  let _ = EventBuilder::new(sdk.clone())    .event(UpdateUserProfile)    .payload(request)    .sync_send();  let user_profile = EventBuilder::new(sdk.clone())    .event(GetUserProfile)    .sync_send()    .parse::<UserProfilePB>();  assert_eq!(user_profile.name, new_name,);}#[tokio::test]async fn user_update_with_email() {  let sdk = FlowyCoreTest::new();  let user = sdk.init_user().await;  let new_email = format!("{}@gmail.com", nanoid!(6));  let request = UpdateUserProfilePayloadPB::new(user.id).email(&new_email);  let _ = EventBuilder::new(sdk.clone())    .event(UpdateUserProfile)    .payload(request)    .sync_send();  let user_profile = EventBuilder::new(sdk.clone())    .event(GetUserProfile)    .sync_send()    .parse::<UserProfilePB>();  assert_eq!(user_profile.email, new_email,);}#[tokio::test]async fn user_update_with_invalid_email() {  let test = FlowyCoreTest::new();  let user = test.init_user().await;  for email in invalid_email_test_case() {    let request = UpdateUserProfilePayloadPB::new(user.id).email(&email);    assert_eq!(      EventBuilder::new(test.clone())        .event(UpdateUserProfile)        .payload(request)        .sync_send()        .error()        .unwrap()        .code,      ErrorCode::EmailFormatInvalid.value()    );  }}#[tokio::test]async fn user_update_with_invalid_password() {  let test = FlowyCoreTest::new();  let user = test.init_user().await;  for password in invalid_password_test_case() {    let request = UpdateUserProfilePayloadPB::new(user.id).password(&password);    assert!(EventBuilder::new(test.clone())      .event(UpdateUserProfile)      .payload(request)      .async_send()      .await      .error()      .is_some());  }}#[tokio::test]async fn user_update_with_invalid_name() {  let test = FlowyCoreTest::new();  let user = test.init_user().await;  let request = UpdateUserProfilePayloadPB::new(user.id).name("");  assert!(EventBuilder::new(test.clone())    .event(UpdateUserProfile)    .payload(request)    .sync_send()    .error()    .is_some())}
 |