user_update_test.rs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. use crate::helper::*;
  2. use flowy_user::{errors::ErrorCode, event::UserEvent::*, prelude::*};
  3. use serial_test::*;
  4. #[test]
  5. #[serial]
  6. fn user_update_with_name() {
  7. let user_detail = TestBuilder::new().login().user_detail.unwrap();
  8. let new_name = "hello_world".to_owned();
  9. let request = UpdateUserRequest::new(&user_detail.id).name(&new_name);
  10. let _ = TestBuilder::new()
  11. .event(UpdateUser)
  12. .request(request)
  13. .sync_send();
  14. let user_detail = TestBuilder::new()
  15. .event(GetUserProfile)
  16. .assert_error()
  17. .sync_send()
  18. .parse::<UserDetail>();
  19. assert_eq!(user_detail.name, new_name,);
  20. }
  21. #[test]
  22. #[serial]
  23. fn user_update_with_email() {
  24. let user_detail = TestBuilder::new().login().user_detail.unwrap();
  25. let new_email = "[email protected]".to_owned();
  26. let request = UpdateUserRequest::new(&user_detail.id).email(&new_email);
  27. let _ = TestBuilder::new()
  28. .event(UpdateUser)
  29. .request(request)
  30. .sync_send();
  31. let user_detail = TestBuilder::new()
  32. .event(GetUserProfile)
  33. .assert_error()
  34. .sync_send()
  35. .parse::<UserDetail>();
  36. assert_eq!(user_detail.email, new_email,);
  37. }
  38. #[test]
  39. #[serial]
  40. fn user_update_with_password() {
  41. let user_detail = TestBuilder::new().login().user_detail.unwrap();
  42. let new_password = "H123world!".to_owned();
  43. let request = UpdateUserRequest::new(&user_detail.id).password(&new_password);
  44. let _ = TestBuilder::new()
  45. .event(UpdateUser)
  46. .request(request)
  47. .sync_send()
  48. .assert_success();
  49. }
  50. #[test]
  51. #[serial]
  52. fn user_update_with_invalid_email() {
  53. let user_detail = TestBuilder::new().login().user_detail.unwrap();
  54. for email in invalid_email_test_case() {
  55. let request = UpdateUserRequest::new(&user_detail.id).email(&email);
  56. assert_eq!(
  57. TestBuilder::new()
  58. .event(UpdateUser)
  59. .request(request)
  60. .sync_send()
  61. .error()
  62. .code,
  63. ErrorCode::EmailFormatInvalid
  64. );
  65. }
  66. }
  67. #[test]
  68. #[serial]
  69. fn user_update_with_invalid_password() {
  70. let user_detail = TestBuilder::new().login().user_detail.unwrap();
  71. for password in invalid_password_test_case() {
  72. let request = UpdateUserRequest::new(&user_detail.id).password(&password);
  73. TestBuilder::new()
  74. .event(UpdateUser)
  75. .request(request)
  76. .sync_send()
  77. .assert_error();
  78. }
  79. }
  80. #[test]
  81. #[serial]
  82. fn user_update_with_invalid_name() {
  83. let user_detail = TestBuilder::new().login().user_detail.unwrap();
  84. let request = UpdateUserRequest::new(&user_detail.id).name("");
  85. TestBuilder::new()
  86. .event(UpdateUser)
  87. .request(request)
  88. .sync_send()
  89. .assert_error();
  90. }