auth_test.rs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. use crate::helper::*;
  2. use flowy_test::{event_builder::UserModuleEventBuilder, FlowySDKTest};
  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 sdk = FlowySDKTest::setup();
  8. let request = SignUpRequest {
  9. email: email.to_string(),
  10. name: valid_name(),
  11. password: login_password(),
  12. };
  13. assert_eq!(
  14. UserModuleEventBuilder::new(sdk)
  15. .event(SignUp)
  16. .request(request)
  17. .async_send()
  18. .await
  19. .error()
  20. .code,
  21. ErrorCode::EmailFormatInvalid.value()
  22. );
  23. }
  24. }
  25. #[tokio::test]
  26. async fn sign_up_with_invalid_password() {
  27. for password in invalid_password_test_case() {
  28. let sdk = FlowySDKTest::setup();
  29. let request = SignUpRequest {
  30. email: random_email(),
  31. name: valid_name(),
  32. password,
  33. };
  34. UserModuleEventBuilder::new(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 = FlowySDKTest::setup();
  45. let _ = UserModuleEventBuilder::new(test.clone()).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. name: "".to_string(),
  51. };
  52. let response = UserModuleEventBuilder::new(test.clone())
  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 sdk = FlowySDKTest::setup();
  64. let request = SignInRequest {
  65. email: email.to_string(),
  66. password: login_password(),
  67. name: "".to_string(),
  68. };
  69. assert_eq!(
  70. UserModuleEventBuilder::new(sdk)
  71. .event(SignIn)
  72. .request(request)
  73. .async_send()
  74. .await
  75. .error()
  76. .code,
  77. ErrorCode::EmailFormatInvalid.value()
  78. );
  79. }
  80. }
  81. #[tokio::test]
  82. async fn sign_in_with_invalid_password() {
  83. for password in invalid_password_test_case() {
  84. let sdk = FlowySDKTest::setup();
  85. let request = SignInRequest {
  86. email: random_email(),
  87. password,
  88. name: "".to_string(),
  89. };
  90. UserModuleEventBuilder::new(sdk)
  91. .event(SignIn)
  92. .request(request)
  93. .async_send()
  94. .await
  95. .assert_error();
  96. }
  97. }