diff --git a/crates/backend/tests/common/mod.rs b/crates/backend/tests/common/mod.rs index 5a14c83..bcb7519 100644 --- a/crates/backend/tests/common/mod.rs +++ b/crates/backend/tests/common/mod.rs @@ -1,10 +1,7 @@ use backend::{Database, build_database_url}; use log::{debug, info}; use migration::{Migrator, MigratorTrait}; -use testcontainers::{ - ContainerAsync, ImageExt, core::logs::consumer::logging_consumer::LoggingConsumer, - runners::AsyncRunner, -}; +use testcontainers::{ContainerAsync, ImageExt, runners::AsyncRunner}; use testcontainers_modules::{postgres::Postgres, redis::Redis}; pub mod test_helpers; diff --git a/crates/backend/tests/common/test_helpers.rs b/crates/backend/tests/common/test_helpers.rs index a1e5458..4b44d43 100644 --- a/crates/backend/tests/common/test_helpers.rs +++ b/crates/backend/tests/common/test_helpers.rs @@ -29,3 +29,20 @@ pub async fn get_database() -> &'static Database { &state.database } + +#[macro_export] +macro_rules! create_test_app { + () => {{ + let db = $crate::common::test_helpers::get_database().await; + + actix_web::test::init_service( + actix_web::App::new() + .app_data(actix_web::web::Data::new(db.clone())) + .service( + actix_web::web::scope("/api/v1") + .configure(backend::controller::register_controllers), + ), + ) + .await + }}; +} diff --git a/crates/backend/tests/endpoints/auth.rs b/crates/backend/tests/endpoints/auth.rs index 1f9212c..4f8428d 100644 --- a/crates/backend/tests/endpoints/auth.rs +++ b/crates/backend/tests/endpoints/auth.rs @@ -1,8 +1,7 @@ -use actix_web::{App, http::header, test, web}; -use backend::controller; +use actix_web::{http::header, test}; use serde::{Deserialize, Serialize}; -use crate::common::test_helpers::get_database; +use crate::create_test_app; #[cfg(test)] mod tests { @@ -20,14 +19,7 @@ mod tests { #[actix_web::test] async fn test_login() { - let db = get_database().await; - - let app = test::init_service( - App::new() - .app_data(web::Data::new(db.clone())) - .service(web::scope("/api/v1").configure(controller::register_controllers)), - ) - .await; + let app = create_test_app!(); let req = test::TestRequest::post() .uri("/api/v1/user")