From 304e16c715d0cac94145bff5673df6a2b4a69527 Mon Sep 17 00:00:00 2001 From: Application-drop-up Date: Fri, 3 Jul 2026 22:02:32 +0900 Subject: [PATCH 1/2] feat: implement DeleteUserUseCase --- .../UseCase/User/DeleteUserUseCase.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/app/Packages/Features/CommandUseCases/UseCase/User/DeleteUserUseCase.php diff --git a/src/app/Packages/Features/CommandUseCases/UseCase/User/DeleteUserUseCase.php b/src/app/Packages/Features/CommandUseCases/UseCase/User/DeleteUserUseCase.php new file mode 100644 index 0000000..d13b437 --- /dev/null +++ b/src/app/Packages/Features/CommandUseCases/UseCase/User/DeleteUserUseCase.php @@ -0,0 +1,17 @@ +userRepository->deleteUser($id); + } +} From adf71bcbfc41778aee892feb2bf4938730657b69 Mon Sep 17 00:00:00 2001 From: Application-drop-up Date: Fri, 3 Jul 2026 22:02:41 +0900 Subject: [PATCH 2/2] test: add unit tests for DeleteUserUseCase --- .../CommandUseCases/DeleteUserUseCaseTest.php | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/app/Packages/Features/Tests/CommandUseCases/DeleteUserUseCaseTest.php diff --git a/src/app/Packages/Features/Tests/CommandUseCases/DeleteUserUseCaseTest.php b/src/app/Packages/Features/Tests/CommandUseCases/DeleteUserUseCaseTest.php new file mode 100644 index 0000000..e052074 --- /dev/null +++ b/src/app/Packages/Features/Tests/CommandUseCases/DeleteUserUseCaseTest.php @@ -0,0 +1,45 @@ +shouldReceive('deleteUser') + ->once() + ->with(1); + + (new DeleteUserUseCase($repository))->handle(1); + } + + public function test_handle_propagates_exception_when_user_not_found(): void + { + /** @var UserRepositroyInterface|MockInterface $repository */ + $repository = Mockery::mock(UserRepositroyInterface::class); + $repository->shouldReceive('deleteUser') + ->once() + ->with(999999) + ->andThrow(new \Exception('User not found.')); + + $this->expectException(\Exception::class); + $this->expectExceptionMessage('User not found.'); + + (new DeleteUserUseCase($repository))->handle(999999); + } +}