| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 | use flowy_test::user_event::*;use flowy_test::{event_builder::EventBuilder, FlowyCoreTest};use flowy_user::entities::{AuthTypePB, SignInPayloadPB, SignUpPayloadPB, UserProfilePB};use flowy_user::errors::ErrorCode;use flowy_user::event_map::UserEvent::*;use crate::user::local_test::helper::*;#[tokio::test]async fn sign_up_with_invalid_email() {  for email in invalid_email_test_case() {    let sdk = FlowyCoreTest::new();    let request = SignUpPayloadPB {      email: email.to_string(),      name: valid_name(),      password: login_password(),      auth_type: AuthTypePB::Local,    };    assert_eq!(      EventBuilder::new(sdk)        .event(SignUp)        .payload(request)        .async_send()        .await        .error()        .unwrap()        .code,      ErrorCode::EmailFormatInvalid.value()    );  }}#[tokio::test]async fn sign_up_with_long_password() {  let sdk = FlowyCoreTest::new();  let request = SignUpPayloadPB {    email: random_email(),    name: valid_name(),    password: "1234".repeat(100).as_str().to_string(),    auth_type: AuthTypePB::Local,  };  assert_eq!(    EventBuilder::new(sdk)      .event(SignUp)      .payload(request)      .async_send()      .await      .error()      .unwrap()      .code,    ErrorCode::PasswordTooLong.value()  );}#[tokio::test]async fn sign_in_success() {  let test = FlowyCoreTest::new();  let _ = EventBuilder::new(test.clone()).event(SignOut).sync_send();  let sign_up_context = test.sign_up().await;  let request = SignInPayloadPB {    email: sign_up_context.user_profile.email.clone(),    password: sign_up_context.password.clone(),    name: "".to_string(),    auth_type: AuthTypePB::Local,  };  let response = EventBuilder::new(test.clone())    .event(SignIn)    .payload(request)    .async_send()    .await    .parse::<UserProfilePB>();  dbg!(&response);}#[tokio::test]async fn sign_in_with_invalid_email() {  for email in invalid_email_test_case() {    let sdk = FlowyCoreTest::new();    let request = SignInPayloadPB {      email: email.to_string(),      password: login_password(),      name: "".to_string(),      auth_type: AuthTypePB::Local,    };    assert_eq!(      EventBuilder::new(sdk)        .event(SignIn)        .payload(request)        .async_send()        .await        .error()        .unwrap()        .code,      ErrorCode::EmailFormatInvalid.value()    );  }}#[tokio::test]async fn sign_in_with_invalid_password() {  for password in invalid_password_test_case() {    let sdk = FlowyCoreTest::new();    let request = SignInPayloadPB {      email: random_email(),      password,      name: "".to_string(),      auth_type: AuthTypePB::Local,    };    assert!(EventBuilder::new(sdk)      .event(SignIn)      .payload(request)      .async_send()      .await      .error()      .is_some())  }}
 |