auth.rs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. use crate::helper::{spawn_app, TestApp};
  2. use flowy_user::entities::{
  3. QueryUserDetailParams,
  4. SignInParams,
  5. SignOutParams,
  6. SignUpParams,
  7. SignUpResponse,
  8. };
  9. #[actix_rt::test]
  10. async fn user_register() {
  11. let app = spawn_app().await;
  12. let response = register_user(&app, "[email protected]", "HelloWork123!").await;
  13. log::info!("{:?}", response);
  14. }
  15. #[actix_rt::test]
  16. #[should_panic]
  17. async fn user_sign_in_with_invalid_password() {
  18. let app = spawn_app().await;
  19. let email = "[email protected]";
  20. let password = "123";
  21. let _ = register_user(&app, email, password).await;
  22. }
  23. #[actix_rt::test]
  24. #[should_panic]
  25. async fn user_sign_in_with_invalid_email() {
  26. let app = spawn_app().await;
  27. let email = "annie@gmail@";
  28. let password = "HelloWork123!";
  29. let _ = register_user(&app, email, password).await;
  30. }
  31. #[actix_rt::test]
  32. async fn user_sign_in() {
  33. let app = spawn_app().await;
  34. let email = "[email protected]";
  35. let password = "HelloWork123!";
  36. let _ = register_user(&app, email, password).await;
  37. let response = app
  38. .sign_in(SignInParams {
  39. email: email.to_string(),
  40. password: password.to_string(),
  41. })
  42. .await;
  43. log::info!("{:?}", response);
  44. }
  45. #[actix_rt::test]
  46. async fn user_sign_out() {
  47. let app = spawn_app().await;
  48. let email = "[email protected]";
  49. let password = "HelloWork123!";
  50. let _ = register_user(&app, email, password).await;
  51. let sign_in_resp = app
  52. .sign_in(SignInParams {
  53. email: email.to_string(),
  54. password: password.to_string(),
  55. })
  56. .await;
  57. let token = sign_in_resp.token.clone();
  58. let sign_out_params = SignOutParams {
  59. token: token.clone(),
  60. };
  61. app.sign_out(sign_out_params).await;
  62. let query_user_params = QueryUserDetailParams { token };
  63. app.get_user_detail(query_user_params).await;
  64. }
  65. #[actix_rt::test]
  66. async fn user_get_detail() {
  67. let app = spawn_app().await;
  68. let email = "[email protected]";
  69. let password = "HelloWork123!";
  70. let sign_up_resp = register_user(&app, email, password).await;
  71. let query_user_params = QueryUserDetailParams {
  72. token: sign_up_resp.token,
  73. };
  74. log::info!("{:?}", app.get_user_detail(query_user_params).await);
  75. }
  76. async fn register_user(app: &TestApp, email: &str, password: &str) -> SignUpResponse {
  77. let params = SignUpParams {
  78. email: email.to_string(),
  79. name: "annie".to_string(),
  80. password: password.to_string(),
  81. };
  82. let response = app.register_user(params).await;
  83. response
  84. }