auth_test.rs 2.6 KB

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