From d547ec2c61475773857839d7c07e7b0af14d6de3 Mon Sep 17 00:00:00 2001 From: Yisroel Baum Date: Wed, 6 May 2026 22:00:22 +0300 Subject: [PATCH] test User entity displayname and email confirmation --- backend/tests/Unit/User/UserTest.php | 64 ++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 backend/tests/Unit/User/UserTest.php diff --git a/backend/tests/Unit/User/UserTest.php b/backend/tests/Unit/User/UserTest.php new file mode 100644 index 0000000..61852cd --- /dev/null +++ b/backend/tests/Unit/User/UserTest.php @@ -0,0 +1,64 @@ +assertSame(7, $user->getId()); + $this->assertSame('alice@example.com', $user->getEmail()->value()); + $this->assertSame('alice', $user->getDisplayName()); + $this->assertSame('hash', $user->getPasswordHash()); + $this->assertTrue($user->isAdmin()); + $this->assertSame($confirmedAt, $user->getEmailConfirmedAt()); + } + + public function test_user_email_confirmed_at_can_be_null(): void + { + $user = new User( + id: 1, + email: new EmailAddress('bob@example.com'), + displayName: 'bob', + passwordHash: '', + isAdmin: false, + emailConfirmedAt: null, + ); + + $this->assertNull($user->getEmailConfirmedAt()); + $this->assertFalse($user->isEmailConfirmed()); + } + + public function test_email_confirmed_when_timestamp_present(): void + { + $user = new User( + id: 1, + email: new EmailAddress('bob@example.com'), + displayName: 'bob', + passwordHash: 'hash', + isAdmin: false, + emailConfirmedAt: new DateTimeImmutable('2026-05-01T00:00:00Z'), + ); + + $this->assertTrue($user->isEmailConfirmed()); + } +}