auth_test.rs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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. #[tokio::test]
  6. async fn sign_up_with_invalid_email() {
  7. for email in invalid_email_test_case() {
  8. let test = FlowyTest::setup();
  9. let request = SignUpRequest {
  10. email: email.to_string(),
  11. name: valid_name(),
  12. password: login_password(),
  13. };
  14. assert_eq!(
  15. UserTest::new(test.sdk)
  16. .event(SignUp)
  17. .request(request)
  18. .async_send()
  19. .await
  20. .error()
  21. .code,
  22. ErrorCode::EmailFormatInvalid
  23. );
  24. }
  25. }
  26. #[tokio::test]
  27. async fn sign_up_with_invalid_password() {
  28. for password in invalid_password_test_case() {
  29. let test = FlowyTest::setup();
  30. let request = SignUpRequest {
  31. email: random_email(),
  32. name: valid_name(),
  33. password,
  34. };
  35. UserTest::new(test.sdk)
  36. .event(SignUp)
  37. .request(request)
  38. .async_send()
  39. .await
  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. .async_send()
  56. .await
  57. .parse::<UserProfile>();
  58. dbg!(&response);
  59. }
  60. #[tokio::test]
  61. async 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. .async_send()
  73. .await
  74. .error()
  75. .code,
  76. ErrorCode::EmailFormatInvalid
  77. );
  78. }
  79. }
  80. #[tokio::test]
  81. async 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. .async_send()
  92. .await
  93. .assert_error();
  94. }
  95. }