chore: cleaning code
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
#[cfg(test)]
|
||||
mod auth_repository_test {
|
||||
use crate::{
|
||||
create_mock_app_state, get_iso_date, make_thing, AuthOtpSchema, AuthRepository,
|
||||
ResourceEnum, RolesItemDtoRaw, UsersItemDtoRaw, UsersRepository, UsersSchema,
|
||||
AuthOtpSchema, AuthRepository, ResourceEnum, UsersRepository, UsersSchema,
|
||||
create_mock_app_state, get_iso_date, make_thing,
|
||||
};
|
||||
use chrono::{Duration, Utc};
|
||||
use imphnen_iam::{RolesDetailQueryDto, UsersDetailQueryDto};
|
||||
use surrealdb::Uuid;
|
||||
|
||||
fn create_mock_user(email: &str) -> UsersSchema {
|
||||
@@ -47,7 +48,7 @@ mod auth_repository_test {
|
||||
let state = create_mock_app_state().await;
|
||||
let auth_repo = AuthRepository::new(&state);
|
||||
let email = "delete_me@example.com".to_string();
|
||||
let mock_user = UsersItemDtoRaw {
|
||||
let mock_user = UsersDetailQueryDto {
|
||||
id: make_thing(&ResourceEnum::UsersCache.to_string(), &email),
|
||||
fullname: "Test User".into(),
|
||||
email: email.clone(),
|
||||
@@ -56,7 +57,7 @@ mod auth_repository_test {
|
||||
is_active: true,
|
||||
gender: None,
|
||||
birthdate: None,
|
||||
role: RolesItemDtoRaw {
|
||||
role: RolesDetailQueryDto {
|
||||
id: make_thing("app_roles", &Uuid::new_v4().to_string()),
|
||||
name: "Dummy Role".into(),
|
||||
permissions: vec![],
|
||||
@@ -69,7 +70,7 @@ mod auth_repository_test {
|
||||
created_at: get_iso_date(),
|
||||
updated_at: get_iso_date(),
|
||||
};
|
||||
let _: Option<UsersItemDtoRaw> = state
|
||||
let _: Option<UsersDetailQueryDto> = state
|
||||
.surrealdb_mem
|
||||
.create((ResourceEnum::UsersCache.to_string(), email.clone()))
|
||||
.content(mock_user)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
use crate::AppState;
|
||||
use crate::{
|
||||
create_mock_app_state, roles_router, v1::roles_repository::RolesRepository,
|
||||
RolesRequestCreateDto, RolesRequestUpdateDto,
|
||||
RolesRequestCreateDto, RolesRequestUpdateDto, create_mock_app_state, roles_router,
|
||||
v1::roles_repository::RolesRepository,
|
||||
};
|
||||
use axum::http::StatusCode;
|
||||
use axum::Extension;
|
||||
use axum::Router;
|
||||
use axum::http::StatusCode;
|
||||
use axum_test::TestServer;
|
||||
|
||||
pub fn create_test_app(state: AppState) -> TestServer {
|
||||
@@ -74,6 +74,7 @@ async fn test_put_update_role_should_return_200() {
|
||||
let payload = RolesRequestUpdateDto {
|
||||
name: Some("Updated Role".into()),
|
||||
permissions: Some(vec![]),
|
||||
overwrite: None,
|
||||
};
|
||||
let res = server
|
||||
.put(&format!("/v1/roles/update/{}", id))
|
||||
@@ -131,6 +132,7 @@ async fn test_put_update_nonexistent_role_should_return_404() {
|
||||
let payload = RolesRequestUpdateDto {
|
||||
name: Some("Does Not Exist".into()),
|
||||
permissions: Some(vec![]),
|
||||
overwrite: None,
|
||||
};
|
||||
let res = server
|
||||
.put("/v1/roles/update/nonexistent-id")
|
||||
|
||||
@@ -100,6 +100,7 @@ async fn test_query_update_role_should_update_name_and_permissions() {
|
||||
let update_payload = RolesRequestUpdateDto {
|
||||
name: Some("Updated Role Name".into()),
|
||||
permissions: Some(vec![new_perm_id.clone()]),
|
||||
overwrite: None,
|
||||
};
|
||||
let update_result = repo
|
||||
.query_update_role(existing_role_id.clone(), update_payload)
|
||||
@@ -158,6 +159,7 @@ async fn test_query_update_role_should_fallback_to_existing_permissions_if_none_
|
||||
let update_payload = RolesRequestUpdateDto {
|
||||
name: Some("Updated Role Name".into()),
|
||||
permissions: None,
|
||||
overwrite: None,
|
||||
};
|
||||
let update_res = repo
|
||||
.query_update_role(existing_id.clone(), update_payload)
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
use crate::{create_mock_app_state, create_test_user, RolesRepository};
|
||||
use crate::{
|
||||
MetaRequestDto, UsersActiveInactiveSchema, UsersRepository,
|
||||
UsersSetNewPasswordSchema,
|
||||
};
|
||||
use crate::{MetaRequestDto, UsersRepository};
|
||||
use crate::{RolesRepository, create_mock_app_state, create_test_user};
|
||||
|
||||
async fn get_role_id(state: &crate::AppState) -> String {
|
||||
RolesRepository::new(state)
|
||||
@@ -31,35 +28,6 @@ async fn test_create_and_get_user() {
|
||||
assert_eq!(fetched.unwrap().email, "testuser@example.com");
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_update_password_user() {
|
||||
let app_state = create_mock_app_state().await;
|
||||
let repo = UsersRepository::new(&app_state);
|
||||
let role_repo = RolesRepository::new(&app_state);
|
||||
let role_id = role_repo
|
||||
.query_role_by_name("Student".into())
|
||||
.await
|
||||
.expect("Role not found")
|
||||
.id;
|
||||
let email = "changepass@example.com";
|
||||
let user = create_test_user(email, "Change Password", true, &role_id);
|
||||
repo.query_create_user(user).await.unwrap();
|
||||
let result = repo
|
||||
.query_update_password_user(
|
||||
email.to_string(),
|
||||
UsersSetNewPasswordSchema {
|
||||
password: "newpass".into(),
|
||||
},
|
||||
)
|
||||
.await;
|
||||
assert!(
|
||||
result.is_ok(),
|
||||
"Update password failed with error: {:?}",
|
||||
result.err()
|
||||
);
|
||||
dbg!(result.unwrap());
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_query_user_list_with_pagination_and_filter() {
|
||||
let app_state = create_mock_app_state().await;
|
||||
@@ -116,57 +84,6 @@ async fn test_query_user_list_basic() {
|
||||
assert_eq!(result.meta.as_ref().unwrap().per_page.unwrap(), 5);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_query_active_inactive_user() {
|
||||
let app_state = create_mock_app_state().await;
|
||||
let repo = UsersRepository::new(&app_state);
|
||||
let email = "inactive@example.com";
|
||||
let user = create_test_user(
|
||||
email,
|
||||
"Inactive User",
|
||||
false,
|
||||
&get_role_id(&app_state).await,
|
||||
);
|
||||
repo.query_create_user(user).await.unwrap();
|
||||
let result = repo
|
||||
.query_active_inactive_user(
|
||||
email.into(),
|
||||
UsersActiveInactiveSchema { is_active: true },
|
||||
)
|
||||
.await;
|
||||
assert!(result.is_ok());
|
||||
let updated = repo
|
||||
.query_user_by_email("inactive@example.com".into())
|
||||
.await
|
||||
.unwrap();
|
||||
assert_eq!(updated.is_active, true);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_query_user_by_invalid_email_should_fail() {
|
||||
let app_state = create_mock_app_state().await;
|
||||
let repo = UsersRepository::new(&app_state);
|
||||
let result = repo
|
||||
.query_user_by_email("nonexistent@example.com".into())
|
||||
.await;
|
||||
assert!(result.is_err());
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_query_update_password_for_nonexistent_user_should_fail() {
|
||||
let app_state = create_mock_app_state().await;
|
||||
let repo = UsersRepository::new(&app_state);
|
||||
let result = repo
|
||||
.query_update_password_user(
|
||||
"ghost@example.com".into(),
|
||||
UsersSetNewPasswordSchema {
|
||||
password: "secret".into(),
|
||||
},
|
||||
)
|
||||
.await;
|
||||
assert!(result.is_err());
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_query_delete_user() {
|
||||
let app_state = create_mock_app_state().await;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
pub use imphnen_entities::*;
|
||||
pub use imphnen_iam::*;
|
||||
pub use imphnen_utils::*;
|
||||
|
||||
#[cfg(test)]
|
||||
pub mod iam;
|
||||
|
||||
Reference in New Issue
Block a user