auth_test.rs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. use crate::helper::*;
  2. use flowy_test::{builder::UserTest, FlowyTest};
  3. use flowy_user::{errors::ErrorCode, event::UserEvent::*, prelude::*};
  4. use serial_test::*;
  5. #[test]
  6. #[serial]
  7. fn sign_up_with_invalid_email() {
  8. for email in invalid_email_test_case() {
  9. let test = FlowyTest::setup();
  10. let request = SignUpRequest {
  11. email: email.to_string(),
  12. name: valid_name(),
  13. password: login_password(),
  14. };
  15. assert_eq!(
  16. UserTest::new(test.sdk)
  17. .event(SignUp)
  18. .request(request)
  19. .sync_send()
  20. .error()
  21. .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 test = FlowyTest::setup();
  31. let request = SignUpRequest {
  32. email: random_email(),
  33. name: valid_name(),
  34. password,
  35. };
  36. UserTest::new(test.sdk)
  37. .event(SignUp)
  38. .request(request)
  39. .sync_send()
  40. .assert_error();
  41. }
  42. }
  43. #[tokio::test]
  44. async fn sign_in_success() {
  45. let test = FlowyTest::setup();
  46. let _ = UserTest::new(test.sdk()).event(SignOut).sync_send();
  47. let sign_up_context = test.sign_up().await;
  48. let request = SignInRequest {
  49. email: sign_up_context.user_profile.email.clone(),
  50. password: sign_up_context.password.clone(),
  51. };
  52. let response = UserTest::new(test.sdk())
  53. .event(SignIn)
  54. .request(request)
  55. .sync_send()
  56. .parse::<UserProfile>();
  57. dbg!(&response);
  58. }
  59. #[test]
  60. #[serial]
  61. fn sign_in_with_invalid_email() {
  62. for email in invalid_email_test_case() {
  63. let test = FlowyTest::setup();
  64. let request = SignInRequest {
  65. email: email.to_string(),
  66. password: login_password(),
  67. };
  68. assert_eq!(
  69. UserTest::new(test.sdk)
  70. .event(SignIn)
  71. .request(request)
  72. .sync_send()
  73. .error()
  74. .code,
  75. ErrorCode::EmailFormatInvalid
  76. );
  77. }
  78. }
  79. #[test]
  80. #[serial]
  81. fn sign_in_with_invalid_password() {
  82. for password in invalid_password_test_case() {
  83. let test = FlowyTest::setup();
  84. let request = SignInRequest {
  85. email: random_email(),
  86. password,
  87. };
  88. UserTest::new(test.sdk)
  89. .event(SignIn)
  90. .request(request)
  91. .sync_send()
  92. .assert_error();
  93. }
  94. }