diff --git a/app/Auth/AuthController.php b/app/Auth/AuthController.php index 9dcc342..0864730 100644 --- a/app/Auth/AuthController.php +++ b/app/Auth/AuthController.php @@ -126,7 +126,7 @@ class AuthController $response->getBody()->write(json_encode([ 'user' => [ 'id' => $user->getId(), - 'email' => (string) $user->getEmail(), + 'email' => $user->getEmail()->value(), 'isAdmin' => $user->isAdmin(), ], ])); diff --git a/app/User/JsonUserRepository.php b/app/User/JsonUserRepository.php index 954ec48..d5de3a2 100644 --- a/app/User/JsonUserRepository.php +++ b/app/User/JsonUserRepository.php @@ -21,7 +21,7 @@ class JsonUserRepository implements UserRepository $users[] = [ 'id' => $id, - 'email' => (string) $dto->email, + 'email' => $dto->email->value(), 'passwordHash' => $dto->passwordHash, 'isAdmin' => $dto->isAdmin, ]; @@ -53,7 +53,7 @@ class JsonUserRepository implements UserRepository $users = $this->readUsers(); foreach ($users as $data) { - if ($data['email'] === (string) $email) { + if ($data['email'] === $email->value()) { return $this->hydrate($data); } } diff --git a/app/ValueObjects/EmailAddress.php b/app/ValueObjects/EmailAddress.php index 6952ae9..e646f4c 100644 --- a/app/ValueObjects/EmailAddress.php +++ b/app/ValueObjects/EmailAddress.php @@ -11,6 +11,11 @@ class EmailAddress $this->normalized = $email; } + public function value(): string + { + return $this->normalized; + } + public function __toString(): string { return $this->normalized; diff --git a/tests/Fakes/FakeUserRepository.php b/tests/Fakes/FakeUserRepository.php index 2538213..b2e766a 100644 --- a/tests/Fakes/FakeUserRepository.php +++ b/tests/Fakes/FakeUserRepository.php @@ -39,7 +39,7 @@ class FakeUserRepository implements UserRepository $user = array_find( $this->existingUsers, function (User $user) use ($email) { - return (string) $user->getEmail() === (string) $email; + return $user->getEmail()->value() === $email->value(); } ); if ($user === null) { diff --git a/tests/Unit/Auth/Middleware/AuthMiddlewareTest.php b/tests/Unit/Auth/Middleware/AuthMiddlewareTest.php index c79e6a6..5953a13 100644 --- a/tests/Unit/Auth/Middleware/AuthMiddlewareTest.php +++ b/tests/Unit/Auth/Middleware/AuthMiddlewareTest.php @@ -144,7 +144,7 @@ class AuthMiddlewareTest extends TestCase $this->assertInstanceOf(User::class, $attached); $this->assertEquals( 'test@test.com', - (string) $attached->getEmail() + $attached->getEmail()->value() ); } diff --git a/tests/Unit/User/FakeUserRepositoryTest.php b/tests/Unit/User/FakeUserRepositoryTest.php index 6d583a5..4df07f0 100644 --- a/tests/Unit/User/FakeUserRepositoryTest.php +++ b/tests/Unit/User/FakeUserRepositoryTest.php @@ -21,7 +21,7 @@ class FakeUserRepositoryTest extends TestCase $user = $userRepo->findByEmail(new EmailAddress('test@test.com')); $this->assertInstanceOf(User::class, $user); - $this->assertEquals('test@test.com', (string) $user->getEmail()); + $this->assertEquals('test@test.com', $user->getEmail()->value()); } public function test_find_by_email_returns_null_when_not_found(): void diff --git a/tests/Unit/User/UseCases/AuthenticateUserTest.php b/tests/Unit/User/UseCases/AuthenticateUserTest.php index 1ef35bf..822eda3 100644 --- a/tests/Unit/User/UseCases/AuthenticateUserTest.php +++ b/tests/Unit/User/UseCases/AuthenticateUserTest.php @@ -45,7 +45,7 @@ class AuthenticateUserTest extends TestCase )); $this->assertInstanceOf(User::class, $user); - $this->assertEquals('test@test.com', (string) $user->getEmail()); + $this->assertEquals('test@test.com', $user->getEmail()->value()); } public function test_throws_bad_request_when_email_null(): void