auth_test.rs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. use crate::helper::*;
  2. use flowy_test::builder::UserTestBuilder;
  3. use flowy_user::{errors::ErrorCode, event::UserEvent::*, prelude::*};
  4. use serial_test::*;
  5. #[test]
  6. #[serial]
  7. fn sign_up_success() {
  8. let user_detail = UserTestBuilder::new().sign_up().user_detail;
  9. log::info!("{:?}", user_detail);
  10. }
  11. #[test]
  12. #[serial]
  13. fn sign_up_with_invalid_email() {
  14. for email in invalid_email_test_case() {
  15. let request = SignUpRequest {
  16. email: email.to_string(),
  17. name: valid_name(),
  18. password: login_password(),
  19. };
  20. assert_eq!(
  21. UserTestBuilder::new().event(SignUp).request(request).sync_send().error().code,
  22. ErrorCode::EmailFormatInvalid
  23. );
  24. }
  25. }
  26. #[test]
  27. #[serial]
  28. fn sign_up_with_invalid_password() {
  29. for password in invalid_password_test_case() {
  30. let request = SignUpRequest {
  31. email: random_email(),
  32. name: valid_name(),
  33. password,
  34. };
  35. UserTestBuilder::new().event(SignUp).request(request).sync_send().assert_error();
  36. }
  37. }
  38. #[test]
  39. #[serial]
  40. fn sign_in_success() {
  41. let context = UserTestBuilder::new().sign_up();
  42. let _ = UserTestBuilder::new().event(SignOut).sync_send();
  43. let request = SignInRequest {
  44. email: context.user_detail.email,
  45. password: context.password,
  46. };
  47. let response = UserTestBuilder::new()
  48. .event(SignIn)
  49. .request(request)
  50. .sync_send()
  51. .parse::<UserDetail>();
  52. dbg!(&response);
  53. }
  54. #[test]
  55. #[serial]
  56. fn sign_in_with_invalid_email() {
  57. for email in invalid_email_test_case() {
  58. let request = SignInRequest {
  59. email: email.to_string(),
  60. password: login_password(),
  61. };
  62. assert_eq!(
  63. UserTestBuilder::new().event(SignIn).request(request).sync_send().error().code,
  64. ErrorCode::EmailFormatInvalid
  65. );
  66. }
  67. }
  68. #[test]
  69. #[serial]
  70. fn sign_in_with_invalid_password() {
  71. for password in invalid_password_test_case() {
  72. let request = SignInRequest {
  73. email: random_email(),
  74. password,
  75. };
  76. UserTestBuilder::new().event(SignIn).request(request).sync_send().assert_error();
  77. }
  78. }