From 4d1118eb36246d57547aa241e52278599c491f83 Mon Sep 17 00:00:00 2001 From: Rohan Sircar Date: Thu, 6 May 2021 12:51:58 +0530 Subject: [PATCH] refactor it tests --- tests/integration/main.rs | 48 ++------------------------------------ tests/integration/misc.rs | 21 +++++++++++++++++ tests/integration/users.rs | 44 ++++++++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+), 46 deletions(-) create mode 100644 tests/integration/misc.rs create mode 100644 tests/integration/users.rs diff --git a/tests/integration/main.rs b/tests/integration/main.rs index 117d90e..015b0fb 100644 --- a/tests/integration/main.rs +++ b/tests/integration/main.rs @@ -1,47 +1,3 @@ mod common; - -#[cfg(test)] -mod tests { - - use super::*; - use actix_demo::models::ErrorModel; - use actix_web::dev::Service as _; - use actix_web::http::StatusCode; - use actix_web::test; - - #[actix_rt::test] - async fn get_users_api_should_return_error_message_if_no_users_exist() { - let req = test::TestRequest::get().uri("/api/get/users").to_request(); - let resp = common::test_app().await.call(req).await.unwrap(); - assert_eq!(resp.status(), StatusCode::ACCEPTED); - let body: ErrorModel = test::read_body_json(resp).await; - assert_eq!( - body, - ErrorModel { - success: false, - reason: "Entity does not exist - No users available".to_owned() - } - ); - log::debug!("{:?}", body); - } - - #[actix_rt::test] - async fn get_user_api_should_return_error_message_if_user_with_id_does_not_exist( - ) { - let req = test::TestRequest::get() - .uri("/api/get/users/1") - .to_request(); - let resp = common::test_app().await.call(req).await.unwrap(); - assert_eq!(resp.status(), StatusCode::ACCEPTED); - let body: ErrorModel = test::read_body_json(resp).await; - assert_eq!( - body, - ErrorModel { - success: false, - reason: "Entity does not exist - No user found with uid: 1" - .to_owned() - } - ); - log::debug!("{:?}", body); - } -} +mod misc; +mod users; diff --git a/tests/integration/misc.rs b/tests/integration/misc.rs new file mode 100644 index 0000000..d6e8707 --- /dev/null +++ b/tests/integration/misc.rs @@ -0,0 +1,21 @@ +use crate::common; +use actix_demo::get_build_info; + +#[cfg(test)] +mod tests { + + use super::*; + use actix_web::dev::Service as _; + use actix_web::http::StatusCode; + use actix_web::test; + + #[actix_rt::test] + async fn get_build_info_should_succeed() { + let req = test::TestRequest::get().uri("/api/build-info").to_request(); + let resp = common::test_app().await.call(req).await.unwrap(); + assert_eq!(resp.status(), StatusCode::OK); + let body: build_info::BuildInfo = test::read_body_json(resp).await; + assert_eq!(body, *get_build_info()); + log::debug!("{:?}", body); + } +} diff --git a/tests/integration/users.rs b/tests/integration/users.rs new file mode 100644 index 0000000..3512710 --- /dev/null +++ b/tests/integration/users.rs @@ -0,0 +1,44 @@ +use crate::common; +#[cfg(test)] +mod tests { + + use super::*; + use actix_demo::models::ErrorModel; + use actix_web::dev::Service as _; + use actix_web::http::StatusCode; + use actix_web::test; + + #[actix_rt::test] + async fn get_users_api_should_return_error_message_if_no_users_exist() { + let req = test::TestRequest::get().uri("/api/users").to_request(); + let resp = common::test_app().await.call(req).await.unwrap(); + assert_eq!(resp.status(), StatusCode::ACCEPTED); + let body: ErrorModel = test::read_body_json(resp).await; + assert_eq!( + body, + ErrorModel { + success: false, + reason: "Entity does not exist - No users available".to_owned() + } + ); + log::debug!("{:?}", body); + } + + #[actix_rt::test] + async fn get_user_api_should_return_error_message_if_user_with_id_does_not_exist( + ) { + let req = test::TestRequest::get().uri("/api/users/1").to_request(); + let resp = common::test_app().await.call(req).await.unwrap(); + assert_eq!(resp.status(), StatusCode::ACCEPTED); + let body: ErrorModel = test::read_body_json(resp).await; + assert_eq!( + body, + ErrorModel { + success: false, + reason: "Entity does not exist - No user found with uid: 1" + .to_owned() + } + ); + log::debug!("{:?}", body); + } +}