feat: identity tests

This commit is contained in:
Aravinth Manivannan 2025-01-10 15:50:17 +05:30
parent 5352fcccfc
commit 104fc1525c
Signed by: realaravinth
GPG key ID: F8F50389936984FF
3 changed files with 112 additions and 21 deletions

View file

@ -158,3 +158,29 @@ async fn exit_organization_form_submission_handler(
Ok(HttpResponse::Ok().json(store))
}
#[cfg(test)]
mod tests {
use super::*;
use crate::identity::adapters::input::web::RoutesRepository;
use crate::tests::actix_web_test_utils::page_test_runner;
#[actix_rt::test]
async fn identity_web_employee_login_ui_works() {
let routes = RoutesRepository::default();
page_test_runner(&routes.employee_login).await;
}
#[actix_rt::test]
async fn identity_web_employee_register_ui_works() {
let routes = RoutesRepository::default();
page_test_runner(&routes.employee_register).await;
}
#[actix_rt::test]
async fn identity_web_employee_exit_organization_ui_works() {
let routes = RoutesRepository::default();
page_test_runner(&routes.employee_exit_organization).await;
}
}

View file

@ -121,11 +121,13 @@ async fn register_form_submission_handler(
#[get("/owner/user/email/update")]
#[tracing::instrument(name = "Update email UI handler", skip())]
async fn update_email_ui_handler() -> WebJsonRepsonse<impl Responder> {
const UPDATE_EMAIL: &str = include_str!("./owner_update_email.html");
use web_ui::identity::owner_update_email::*;
let page = OwnerUpdateEmailPage::page();
Ok(HttpResponse::Ok()
.insert_header(ContentType::html())
.body(UPDATE_EMAIL))
.body(page))
}
#[derive(Debug, Clone, Eq, PartialEq, Ord, PartialOrd, Serialize, Deserialize)]
@ -154,7 +156,7 @@ async fn update_email_form_submission_handler(
// change password handlers
#[allow(clippy::too_many_arguments)]
#[get("/owner/user/password/update")]
#[get("/owner/user/password/change")]
#[tracing::instrument(name = "Change password UI handler", skip())]
async fn change_password_ui_handler() -> WebJsonRepsonse<impl Responder> {
const CHANGE_PASSWORD: &str = include_str!("./owner_change_password.html");
@ -256,12 +258,12 @@ async fn verify_email_form_submission_handler(
#[get("/owner/user/email/verify/resend")]
#[tracing::instrument(
name = "Resend verification email handler",
skip(id, req, identity_cqrs_exec)
skip(req, identity_cqrs_exec)
)]
async fn resend_verification_email(
identity_cqrs_exec: types::WebIdentityCqrsExec,
req: HttpRequest,
id: Identity,
// id: Identity,
) -> WebJsonRepsonse<impl Responder> {
let store = "";
@ -339,3 +341,66 @@ async fn update_store_form_submission_handler(
Ok(HttpResponse::Ok().json(store))
}
#[cfg(test)]
mod tests {
use super::*;
use crate::identity::adapters::input::web::RoutesRepository;
use crate::tests::actix_web_test_utils::page_test_runner;
#[actix_rt::test]
async fn identity_web_owner_login_ui_works() {
let routes = RoutesRepository::default();
page_test_runner(&routes.owner_login).await;
}
#[actix_rt::test]
async fn identity_web_owner_register_ui_works() {
let routes = RoutesRepository::default();
page_test_runner(&routes.owner_register).await;
}
#[actix_rt::test]
async fn identity_web_owner_delete_ui_works() {
let routes = RoutesRepository::default();
page_test_runner(&routes.owner_delete).await;
}
#[actix_rt::test]
async fn identity_web_owner_verify_email_ui_works() {
let routes = RoutesRepository::default();
page_test_runner(&routes.owner_verify_email).await;
}
#[actix_rt::test]
async fn identity_web_owner_resend_verification_email_ui_works() {
let routes = RoutesRepository::default();
page_test_runner(&routes.owner_resend_verification_email).await;
}
#[actix_rt::test]
async fn identity_web_owner_update_email_ui_works() {
let routes = RoutesRepository::default();
page_test_runner(&routes.owner_update_email).await;
}
#[actix_rt::test]
async fn identity_web_owner_change_password_ui_works() {
let routes = RoutesRepository::default();
page_test_runner(&routes.owner_change_password).await;
}
#[actix_rt::test]
async fn identity_web_owner_add_store_ui_works() {
let routes = RoutesRepository::default();
page_test_runner(&routes.owner_add_store).await;
}
#[actix_rt::test]
async fn identity_web_owner_update_store_ui_works() {
let routes = RoutesRepository::default();
page_test_runner(&routes.owner_update_store).await;
}
}

View file

@ -7,24 +7,24 @@ use uuid::Uuid;
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord)]
pub struct RoutesRepository {
owner_login: String,
owner_register: String,
owner_delete: String,
owner_verify_email: String,
owner_resend_verification_email: String,
pub owner_login: String,
pub owner_register: String,
pub owner_delete: String,
pub owner_verify_email: String,
pub owner_resend_verification_email: String,
// owner_set_admin: String,
owner_update_email: String,
owner_change_password: String,
pub owner_update_email: String,
pub owner_change_password: String,
owner_add_store: String,
owner_update_store: String,
pub owner_add_store: String,
pub owner_update_store: String,
employee_exit_organization: String,
employee_login: String,
employee_register: String,
employee_resend_login_otp: String,
employee_resend_verification_otp: String,
employee_verify_phone_number: String,
pub employee_exit_organization: String,
pub employee_login: String,
pub employee_register: String,
pub employee_resend_login_otp: String,
pub employee_resend_verification_otp: String,
pub employee_verify_phone_number: String,
}
impl Default for RoutesRepository {
@ -36,7 +36,7 @@ impl Default for RoutesRepository {
owner_verify_email: "/owner/user/email/verify".into(),
owner_resend_verification_email: "/owner/user/email/verify/resend".into(),
owner_update_email: "/owner/user/email/update".into(),
owner_change_password: "/owner/password/change".into(),
owner_change_password: "/owner/user/password/change".into(),
//owner_set_admin: "/owner/user/promote/admin".into(),
owner_add_store: "/owner/store".into(),
owner_update_store: "/owner/store/update".into(),