diff --git a/tests/Unit/User/UseCases/CreateUserTest.php b/tests/Unit/User/UseCases/CreateUserTest.php index bf2c793..1a97716 100644 --- a/tests/Unit/User/UseCases/CreateUserTest.php +++ b/tests/Unit/User/UseCases/CreateUserTest.php @@ -58,4 +58,20 @@ class CreateUserTest extends TestCase $user = $userRepo->find(0); $this->assertTrue($user->isAdmin()); } + + public function test_throws_when_email_already_taken(): void + { + $userRepo = new FakeUserRepository(); + $useCase = new CreateUser($userRepo); + $useCase->execute(new CreateUserRequest( + email: 'test@test.com', + )); + + $this->expectException(BadRequestException::class); + $this->expectExceptionMessage('email already taken'); + + $useCase->execute(new CreateUserRequest( + email: 'test@test.com', + )); + } }