auth_test.rs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. use flowy_test::user_event::*;
  2. use flowy_test::{event_builder::EventBuilder, FlowyCoreTest};
  3. use flowy_user::entities::{AuthTypePB, SignInPayloadPB, SignUpPayloadPB};
  4. use flowy_user::errors::ErrorCode;
  5. use flowy_user::event_map::UserEvent::*;
  6. use crate::user::local_test::helper::*;
  7. #[tokio::test]
  8. async fn sign_up_with_invalid_email() {
  9. for email in invalid_email_test_case() {
  10. let sdk = FlowyCoreTest::new();
  11. let request = SignUpPayloadPB {
  12. email: email.to_string(),
  13. name: valid_name(),
  14. password: login_password(),
  15. auth_type: AuthTypePB::Local,
  16. device_id: "".to_string(),
  17. };
  18. assert_eq!(
  19. EventBuilder::new(sdk)
  20. .event(SignUp)
  21. .payload(request)
  22. .async_send()
  23. .await
  24. .error()
  25. .unwrap()
  26. .code,
  27. ErrorCode::EmailFormatInvalid
  28. );
  29. }
  30. }
  31. #[tokio::test]
  32. async fn sign_up_with_long_password() {
  33. let sdk = FlowyCoreTest::new();
  34. let request = SignUpPayloadPB {
  35. email: random_email(),
  36. name: valid_name(),
  37. password: "1234".repeat(100).as_str().to_string(),
  38. auth_type: AuthTypePB::Local,
  39. device_id: "".to_string(),
  40. };
  41. assert_eq!(
  42. EventBuilder::new(sdk)
  43. .event(SignUp)
  44. .payload(request)
  45. .async_send()
  46. .await
  47. .error()
  48. .unwrap()
  49. .code,
  50. ErrorCode::PasswordTooLong
  51. );
  52. }
  53. #[tokio::test]
  54. async fn sign_in_with_invalid_email() {
  55. for email in invalid_email_test_case() {
  56. let sdk = FlowyCoreTest::new();
  57. let request = SignInPayloadPB {
  58. email: email.to_string(),
  59. password: login_password(),
  60. name: "".to_string(),
  61. auth_type: AuthTypePB::Local,
  62. device_id: "".to_string(),
  63. };
  64. assert_eq!(
  65. EventBuilder::new(sdk)
  66. .event(SignIn)
  67. .payload(request)
  68. .async_send()
  69. .await
  70. .error()
  71. .unwrap()
  72. .code,
  73. ErrorCode::EmailFormatInvalid
  74. );
  75. }
  76. }
  77. #[tokio::test]
  78. async fn sign_in_with_invalid_password() {
  79. for password in invalid_password_test_case() {
  80. let sdk = FlowyCoreTest::new();
  81. let request = SignInPayloadPB {
  82. email: random_email(),
  83. password,
  84. name: "".to_string(),
  85. auth_type: AuthTypePB::Local,
  86. device_id: "".to_string(),
  87. };
  88. assert!(EventBuilder::new(sdk)
  89. .event(SignIn)
  90. .payload(request)
  91. .async_send()
  92. .await
  93. .error()
  94. .is_some())
  95. }
  96. }