fix: test user
This commit is contained in:
@@ -46,41 +46,6 @@ async fn test_create_user_should_return_201() {
|
||||
assert_eq!(res.status_code(), StatusCode::CREATED);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_delete_user_should_return_200() {
|
||||
let state = create_mock_app_state().await;
|
||||
let role_repo = RolesRepository::new(&state);
|
||||
let role = role_repo
|
||||
.query_role_by_name(RolesEnum::Student.to_string())
|
||||
.await
|
||||
.unwrap();
|
||||
let role_id = role.id;
|
||||
let repo = UsersRepository::new(&state);
|
||||
let app = axum::Router::new()
|
||||
.nest("/v1/users", users_router())
|
||||
.layer(Extension(state.clone()));
|
||||
let server = TestServer::new(app).unwrap();
|
||||
let payload = UsersCreateRequestDto {
|
||||
fullname: "Create Data #1".into(),
|
||||
email: "test@create.com".into(),
|
||||
password: "Password1!".into(),
|
||||
student_type: "general".into(),
|
||||
role_id,
|
||||
phone_number: "081234567890".into(),
|
||||
is_active: true,
|
||||
referral_code: None,
|
||||
referred_by: None,
|
||||
};
|
||||
let create_res = server.post("/v1/users/create").json(&payload).await;
|
||||
assert_eq!(create_res.status_code(), StatusCode::CREATED);
|
||||
let detail_res = repo.query_user_by_email(payload.email);
|
||||
let user_id = detail_res.await.unwrap().id.id.to_raw();
|
||||
let delete_res = server
|
||||
.delete(&format!("/v1/users/delete/{}", user_id))
|
||||
.await;
|
||||
assert_eq!(delete_res.status_code(), StatusCode::OK);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_user_detail_should_return_200() {
|
||||
let state = create_mock_app_state().await;
|
||||
@@ -113,6 +78,42 @@ async fn test_get_user_detail_should_return_200() {
|
||||
assert_eq!(res.status_code(), StatusCode::OK);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_delete_user_should_return_200() {
|
||||
let state = create_mock_app_state().await;
|
||||
let role_repo = RolesRepository::new(&state);
|
||||
let role = role_repo
|
||||
.query_role_by_name(RolesEnum::Student.to_string())
|
||||
.await
|
||||
.expect("Failed to get role");
|
||||
let repo = UsersRepository::new(&state);
|
||||
let app = axum::Router::new()
|
||||
.nest("/v1/users", users_router())
|
||||
.layer(Extension(state.clone()));
|
||||
let server = TestServer::new(app).unwrap();
|
||||
let payload = UsersCreateRequestDto {
|
||||
fullname: "Test Delete Me".into(),
|
||||
email: "test@delete-me.com".into(),
|
||||
password: "Password1!".into(),
|
||||
student_type: "general".into(),
|
||||
role_id: role.id.clone(),
|
||||
phone_number: "081234567890".into(),
|
||||
is_active: true,
|
||||
referral_code: None,
|
||||
referred_by: None,
|
||||
};
|
||||
let create_res = server.post("/v1/users/create").json(&payload).await;
|
||||
assert_eq!(create_res.status_code(), StatusCode::CREATED);
|
||||
let detail_res = repo.query_user_by_email(payload.email.clone()).await;
|
||||
assert!(detail_res.is_ok(), "User not found after creation");
|
||||
let user = detail_res.unwrap();
|
||||
let user_id_for_delete = user.id.id.to_raw();
|
||||
let delete_res = server
|
||||
.delete(&format!("/v1/users/delete/{}", user_id_for_delete))
|
||||
.await;
|
||||
assert_eq!(delete_res.status_code(), StatusCode::OK);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_activate_user_should_return_200() {
|
||||
let state = create_mock_app_state().await;
|
||||
|
||||
Reference in New Issue
Block a user