auth.rs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. use crate::helper::{spawn_user_server, TestUserServer};
  2. use flowy_user::entities::{SignInParams, SignUpParams, SignUpResponse, UpdateUserParams};
  3. #[actix_rt::test]
  4. async fn user_register() {
  5. let app = spawn_user_server().await;
  6. let response = register_user(&app, "[email protected]", "HelloWorld123!").await;
  7. log::info!("{:?}", response);
  8. }
  9. #[actix_rt::test]
  10. #[should_panic]
  11. async fn user_sign_in_with_invalid_password() {
  12. let app = spawn_user_server().await;
  13. let email = "[email protected]";
  14. let password = "123";
  15. let _ = register_user(&app, email, password).await;
  16. }
  17. #[actix_rt::test]
  18. #[should_panic]
  19. async fn user_sign_in_with_invalid_email() {
  20. let app = spawn_user_server().await;
  21. let email = "annie@gmail@";
  22. let password = "HelloWorld123!";
  23. let _ = register_user(&app, email, password).await;
  24. }
  25. #[actix_rt::test]
  26. async fn user_sign_in() {
  27. let app = spawn_user_server().await;
  28. let email = "[email protected]";
  29. let password = "HelloWorld123!";
  30. let _ = register_user(&app, email, password).await;
  31. let params = SignInParams {
  32. email: email.to_string(),
  33. password: password.to_string(),
  34. };
  35. let _ = app.sign_in(params).await.unwrap();
  36. }
  37. #[actix_rt::test]
  38. #[should_panic]
  39. async fn user_sign_out() {
  40. let server = TestUserServer::new().await;
  41. server.sign_out().await;
  42. // user_detail will be empty because use was sign out.
  43. server.get_user_profile().await;
  44. }
  45. #[actix_rt::test]
  46. async fn user_get_detail() {
  47. let server = TestUserServer::new().await;
  48. log::info!("{:?}", server.get_user_profile().await);
  49. }
  50. #[actix_rt::test]
  51. async fn user_update_password() {
  52. let mut server = spawn_user_server().await;
  53. let email = "[email protected]";
  54. let password = "HelloWorld123!";
  55. let sign_up_resp = register_user(&server, email, password).await;
  56. let params = UpdateUserParams::new(&sign_up_resp.user_id).password("Hello123!");
  57. server.user_token = Some(sign_up_resp.token);
  58. server.update_user_profile(params).await.unwrap();
  59. let sign_in_params = SignInParams {
  60. email: email.to_string(),
  61. password: password.to_string(),
  62. };
  63. match server.sign_in(sign_in_params).await {
  64. Ok(_) => {},
  65. Err(e) => {
  66. assert_eq!(e.code, flowy_user::errors::ErrorCode::PasswordNotMatch);
  67. },
  68. }
  69. }
  70. #[actix_rt::test]
  71. async fn user_update_name() {
  72. let server = TestUserServer::new().await;
  73. let name = "tom".to_string();
  74. let params = UpdateUserParams::new(&server.user_id()).name(&name);
  75. server.update_user_profile(params).await.unwrap();
  76. let user = server.get_user_profile().await;
  77. assert_eq!(user.name, name);
  78. }
  79. #[actix_rt::test]
  80. async fn user_update_email() {
  81. let server = TestUserServer::new().await;
  82. let email = "[email protected]".to_string();
  83. let params = UpdateUserParams::new(server.user_id()).email(&email);
  84. server.update_user_profile(params).await.unwrap();
  85. let user = server.get_user_profile().await;
  86. assert_eq!(user.email, email);
  87. }
  88. #[allow(dead_code)]
  89. async fn sign_up_user(server: &TestUserServer) -> SignUpResponse {
  90. let email = "[email protected]";
  91. let password = "HelloWorld123!";
  92. let response = register_user(server, email, password).await;
  93. response
  94. }
  95. async fn register_user(server: &TestUserServer, email: &str, password: &str) -> SignUpResponse {
  96. let params = SignUpParams {
  97. email: email.to_string(),
  98. name: "annie".to_string(),
  99. password: password.to_string(),
  100. };
  101. let response = server.register(params).await;
  102. response
  103. }