diff --git a/src/identity/application/services/mark_user_verified/command.rs b/src/identity/application/services/mark_user_verified/command.rs index 5179ab8..134f3b2 100644 --- a/src/identity/application/services/mark_user_verified/command.rs +++ b/src/identity/application/services/mark_user_verified/command.rs @@ -33,4 +33,12 @@ mod tests { assert_eq!(cmd.user_id(), &user_id); assert_eq!(cmd.secret(), secret); } + + impl MarkUserVerifiedCommand { + pub fn get_cmd() -> Self { + let user_id = UUID; + let secret = "asdfasdf"; + MarkUserVerifiedCommand::new(user_id, secret.into()).unwrap() + } + } } diff --git a/src/identity/application/services/mark_user_verified/mod.rs b/src/identity/application/services/mark_user_verified/mod.rs index a431639..6dc03ed 100644 --- a/src/identity/application/services/mark_user_verified/mod.rs +++ b/src/identity/application/services/mark_user_verified/mod.rs @@ -1,12 +1,15 @@ // SPDX-FileCopyrightText: 2024 Aravinth Manivannan // // SPDX-License-Identifier: AGPL-3.0-or-later +use mockall::predicate::*; +use mockall::*; pub mod command; pub mod service; use super::errors::*; +#[automock] #[async_trait::async_trait] pub trait MarkUserVerifiedUseCase: Send + Sync { async fn mark_user_verified(&self, cmd: command::MarkUserVerifiedCommand) diff --git a/src/identity/application/services/mark_user_verified/service.rs b/src/identity/application/services/mark_user_verified/service.rs index 2752d10..3b80105 100644 --- a/src/identity/application/services/mark_user_verified/service.rs +++ b/src/identity/application/services/mark_user_verified/service.rs @@ -52,9 +52,7 @@ mod tests { #[actix_rt::test] async fn test_service() { - let user_id = UUID; - let secret = "password"; - let cmd = command::MarkUserVerifiedCommand::new(user_id, secret.into()).unwrap(); + let cmd = command::MarkUserVerifiedCommand::get_cmd(); // happy case { @@ -91,4 +89,24 @@ mod tests { ); } } + + impl MarkUserVerifiedService { + pub fn mock_service( + times: Option, + cmd: command::MarkUserVerifiedCommand, + ) -> MarkUserVerifiedServiceObj { + let mut m = MockMarkUserVerifiedUseCase::default(); + let res = (); + + if let Some(times) = times { + m.expect_mark_user_verified() + .times(times) + .return_const(Ok(res)); + } else { + m.expect_mark_user_verified().return_const(Ok(res)); + } + + std::sync::Arc::new(m) + } + } }