auth.rs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. use crate::helper::{spawn_app, TestApp};
  2. use flowy_user::entities::{SignInParams, SignUpParams, SignUpResponse, UserToken};
  3. #[actix_rt::test]
  4. async fn user_register() {
  5. let app = spawn_app().await;
  6. let response = register_user(&app, "[email protected]", "HelloWork123!").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_app().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_app().await;
  21. let email = "annie@gmail@";
  22. let password = "HelloWork123!";
  23. let _ = register_user(&app, email, password).await;
  24. }
  25. #[actix_rt::test]
  26. async fn user_sign_in() {
  27. let app = spawn_app().await;
  28. let email = "[email protected]";
  29. let password = "HelloWork123!";
  30. let _ = register_user(&app, email, password).await;
  31. let response = app
  32. .sign_in(SignInParams {
  33. email: email.to_string(),
  34. password: password.to_string(),
  35. })
  36. .await;
  37. log::info!("{:?}", response);
  38. }
  39. #[actix_rt::test]
  40. async fn user_sign_out() {
  41. let app = spawn_app().await;
  42. let email = "[email protected]";
  43. let password = "HelloWork123!";
  44. let _ = register_user(&app, email, password).await;
  45. let sign_in_resp = app
  46. .sign_in(SignInParams {
  47. email: email.to_string(),
  48. password: password.to_string(),
  49. })
  50. .await;
  51. let token = sign_in_resp.token.clone();
  52. let user_token = UserToken {
  53. token: token.clone(),
  54. };
  55. app.sign_out(user_token).await;
  56. let query_user_params = UserToken { token };
  57. app.get_user_detail(query_user_params).await;
  58. }
  59. #[actix_rt::test]
  60. async fn user_get_detail() {
  61. let app = spawn_app().await;
  62. let email = "[email protected]";
  63. let password = "HelloWork123!";
  64. let sign_up_resp = register_user(&app, email, password).await;
  65. let query_user_params = UserToken {
  66. token: sign_up_resp.token,
  67. };
  68. log::info!("{:?}", app.get_user_detail(query_user_params).await);
  69. }
  70. async fn register_user(app: &TestApp, email: &str, password: &str) -> SignUpResponse {
  71. let params = SignUpParams {
  72. email: email.to_string(),
  73. name: "annie".to_string(),
  74. password: password.to_string(),
  75. };
  76. let response = app.register_user(params).await;
  77. response
  78. }