diff --git a/tests/Fakes/FakeUserRepository.php b/tests/Fakes/FakeUserRepository.php new file mode 100644 index 0000000..2890de9 --- /dev/null +++ b/tests/Fakes/FakeUserRepository.php @@ -0,0 +1,45 @@ +existingUsers[$id]; + if ($user === null) { + return null; + } + + return new User( + id: $user->getId(), + email: $user->getEmail(), + ); + } + + public function create(CreateUserDto $dto): User + { + $id = $this->nextId(); + $user = new User( + id: $id, + email: $dto->email, + ); + $this->existingUsers[$id] = $user; + + return $user; + } + + private function nextId(): int + { + return count($this->existingUsers); + } +}