123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 |
- use crate::helper::*;
- use flowy_user::{errors::UserErrorCode, event::UserEvent::*, prelude::*};
- use serial_test::*;
- #[test]
- #[serial]
- fn sign_in_success() {
- let request = SignInRequest {
- email: random_valid_email(),
- password: valid_password(),
- };
- let response = UserTestBuilder::new()
- .logout()
- .event(SignIn)
- .request(request)
- .sync_send()
- .parse::<UserDetail>();
- dbg!(&response);
- }
- #[test]
- #[serial]
- fn sign_in_with_invalid_email() {
- for email in invalid_email_test_case() {
- let request = SignInRequest {
- email: email.to_string(),
- password: valid_password(),
- };
- assert_eq!(
- UserTestBuilder::new()
- .event(SignIn)
- .request(request)
- .sync_send()
- .error()
- .code,
- UserErrorCode::EmailInvalid
- );
- }
- }
- #[test]
- #[serial]
- fn sign_in_with_invalid_password() {
- for password in invalid_password_test_case() {
- let request = SignInRequest {
- email: random_valid_email(),
- password,
- };
- assert_eq!(
- UserTestBuilder::new()
- .event(SignIn)
- .request(request)
- .sync_send()
- .error()
- .code,
- UserErrorCode::PasswordInvalid
- );
- }
- }
- #[test]
- #[serial]
- fn sign_up_success() {
- let _ = UserTestBuilder::new().event(SignOut).sync_send();
- let request = SignUpRequest {
- email: random_valid_email(),
- name: valid_name(),
- password: valid_password(),
- };
- let _response = UserTestBuilder::new()
- .logout()
- .event(SignUp)
- .request(request)
- .sync_send();
- }
- #[test]
- #[serial]
- fn sign_up_with_invalid_email() {
- for email in invalid_email_test_case() {
- let request = SignUpRequest {
- email: email.to_string(),
- name: valid_name(),
- password: valid_password(),
- };
- assert_eq!(
- UserTestBuilder::new()
- .event(SignUp)
- .request(request)
- .sync_send()
- .error()
- .code,
- UserErrorCode::EmailInvalid
- );
- }
- }
- #[test]
- #[serial]
- fn sign_up_with_invalid_password() {
- for password in invalid_password_test_case() {
- let request = SignUpRequest {
- email: random_valid_email(),
- name: valid_name(),
- password,
- };
- assert_eq!(
- UserTestBuilder::new()
- .event(SignUp)
- .request(request)
- .sync_send()
- .error()
- .code,
- UserErrorCode::PasswordInvalid
- );
- }
- }
- #[test]
- #[should_panic]
- #[serial]
- fn user_status_get_failed_before_login() {
- let _ = UserTestBuilder::new()
- .logout()
- .event(GetStatus)
- .sync_send()
- .parse::<UserDetail>();
- }
- #[test]
- #[serial]
- fn user_status_get_success_after_login() {
- let request = SignInRequest {
- email: random_valid_email(),
- password: valid_password(),
- };
- let response = UserTestBuilder::new()
- .logout()
- .event(SignIn)
- .request(request)
- .sync_send()
- .parse::<UserDetail>();
- dbg!(&response);
- let _ = UserTestBuilder::new()
- .event(GetStatus)
- .sync_send()
- .parse::<UserDetail>();
- }
- #[test]
- #[serial]
- fn user_update_with_name() {
- let user_detail = UserTestBuilder::new().login().user_detail.unwrap();
- let new_name = "hello_world".to_owned();
- let request = UpdateUserRequest {
- id: user_detail.id.clone(),
- name: Some(new_name.clone()),
- email: None,
- workspace: None,
- password: None,
- };
- let user_detail = UserTestBuilder::new()
- .event(UpdateUser)
- .request(request)
- .sync_send()
- .parse::<UserDetail>();
- assert_eq!(user_detail.name, new_name,);
- }
- #[test]
- #[serial]
- fn user_update_with_email() {
- let user_detail = UserTestBuilder::new().login().user_detail.unwrap();
- let new_email = "[email protected]".to_owned();
- let request = UpdateUserRequest {
- id: user_detail.id.clone(),
- name: None,
- email: Some(new_email.clone()),
- workspace: None,
- password: None,
- };
- let user_detail = UserTestBuilder::new()
- .event(UpdateUser)
- .request(request)
- .sync_send()
- .parse::<UserDetail>();
- assert_eq!(user_detail.email, new_email,);
- }
- #[test]
- #[serial]
- fn user_update_with_password() {
- let user_detail = UserTestBuilder::new().login().user_detail.unwrap();
- let new_password = "H123world!".to_owned();
- let request = UpdateUserRequest {
- id: user_detail.id.clone(),
- name: None,
- email: None,
- workspace: None,
- password: Some(new_password.clone()),
- };
- let _ = UserTestBuilder::new()
- .event(UpdateUser)
- .request(request)
- .sync_send()
- .assert_success();
- }
- #[test]
- #[serial]
- fn user_update_with_invalid_email() {
- let user_detail = UserTestBuilder::new().login().user_detail.unwrap();
- for email in invalid_email_test_case() {
- let request = UpdateUserRequest {
- id: user_detail.id.clone(),
- name: None,
- email: Some(email),
- workspace: None,
- password: None,
- };
- assert_eq!(
- UserTestBuilder::new()
- .event(UpdateUser)
- .request(request)
- .sync_send()
- .error()
- .code,
- UserErrorCode::EmailInvalid
- );
- }
- }
- #[test]
- #[serial]
- fn user_update_with_invalid_password() {
- let user_detail = UserTestBuilder::new().login().user_detail.unwrap();
- for password in invalid_password_test_case() {
- let request = UpdateUserRequest {
- id: user_detail.id.clone(),
- name: None,
- email: None,
- workspace: None,
- password: Some(password),
- };
- assert_eq!(
- UserTestBuilder::new()
- .event(UpdateUser)
- .request(request)
- .sync_send()
- .error()
- .code,
- UserErrorCode::PasswordInvalid
- );
- }
- }
- #[test]
- #[serial]
- fn user_update_with_invalid_name() {
- let user_detail = UserTestBuilder::new().login().user_detail.unwrap();
- let request = UpdateUserRequest {
- id: user_detail.id.clone(),
- name: Some("".to_string()),
- email: None,
- workspace: None,
- password: None,
- };
- assert_eq!(
- UserTestBuilder::new()
- .event(UpdateUser)
- .request(request)
- .sync_send()
- .error()
- .code,
- UserErrorCode::UserNameInvalid
- );
- }
|