fix: exclude teamers registered after due date from forced data check

This commit is contained in:
Björn Fromme
2026-03-15 12:42:28 +01:00
parent ffa5ad82fd
commit 369f8f07df
2 changed files with 97 additions and 12 deletions
@@ -43,7 +43,7 @@ class PersonalDataVerificationRequiredCheckTest extends TestCase
CarbonImmutable::setTestNow('2026-01-10 12:00:00');
$check = new PersonalDataVerificationRequiredCheck(['01-15', '07-15']);
$teamer = new Teamer();
$teamer = (new Teamer())->setCreatedAt(new \DateTimeImmutable('2025-11-05 12:00:00'));
$user = (new User())
->setRoles(['ROLE_TEAMER'])
->setTeamer($teamer)
@@ -57,7 +57,7 @@ class PersonalDataVerificationRequiredCheckTest extends TestCase
CarbonImmutable::setTestNow('2026-01-20 12:00:00');
$check = new PersonalDataVerificationRequiredCheck(['01-15', '07-15']);
$teamer = new Teamer();
$teamer = (new Teamer())->setCreatedAt(new \DateTimeImmutable('2025-11-05 12:00:00'));
$user = (new User())
->setRoles(['ROLE_TEAMER'])
->setTeamer($teamer)
@@ -71,7 +71,10 @@ class PersonalDataVerificationRequiredCheckTest extends TestCase
CarbonImmutable::setTestNow('2026-05-20 12:00:00');
$check = new PersonalDataVerificationRequiredCheck(['01-15', '07-15']);
$teamer = (new Teamer())->setDataVerifiedAt(new \DateTimeImmutable('2026-01-16 10:00:00'));
$teamer = (new Teamer())
->setCreatedAt(new \DateTimeImmutable('2025-11-05 12:00:00'))
->setDataVerifiedAt(new \DateTimeImmutable('2026-01-16 10:00:00'))
;
$user = (new User())
->setRoles(['ROLE_TEAMER'])
->setTeamer($teamer)
@@ -85,7 +88,52 @@ class PersonalDataVerificationRequiredCheckTest extends TestCase
CarbonImmutable::setTestNow('2026-07-20 12:00:00');
$check = new PersonalDataVerificationRequiredCheck(['01-15', '07-15']);
$teamer = (new Teamer())->setDataVerifiedAt(new \DateTimeImmutable('2026-02-01 10:00:00'));
$teamer = (new Teamer())
->setCreatedAt(new \DateTimeImmutable('2025-11-05 12:00:00'))
->setDataVerifiedAt(new \DateTimeImmutable('2026-02-01 10:00:00'))
;
$user = (new User())
->setRoles(['ROLE_TEAMER'])
->setTeamer($teamer)
;
$this->assertFalse($check->isSatisfied($user));
}
public function testIsSatisfiedAfterFirstDeadlineWhenRegisteredAfterThatDeadline(): void
{
CarbonImmutable::setTestNow('2026-05-20 12:00:00');
$check = new PersonalDataVerificationRequiredCheck(['01-15', '07-15']);
$teamer = (new Teamer())->setCreatedAt(new \DateTimeImmutable('2026-03-01 10:00:00'));
$user = (new User())
->setRoles(['ROLE_TEAMER'])
->setTeamer($teamer)
;
$this->assertTrue($check->isSatisfied($user));
}
public function testIsSatisfiedAfterSecondDeadlineWhenRegisteredAfterThatDeadline(): void
{
CarbonImmutable::setTestNow('2026-11-20 12:00:00');
$check = new PersonalDataVerificationRequiredCheck(['01-15', '07-15']);
$teamer = (new Teamer())->setCreatedAt(new \DateTimeImmutable('2026-10-01 10:00:00'));
$user = (new User())
->setRoles(['ROLE_TEAMER'])
->setTeamer($teamer)
;
$this->assertTrue($check->isSatisfied($user));
}
public function testIsNotSatisfiedAfterSecondDeadlineWhenRegisteredBeforeCurrentYearDeadlines(): void
{
CarbonImmutable::setTestNow('2026-11-20 12:00:00');
$check = new PersonalDataVerificationRequiredCheck(['01-15', '07-15']);
$teamer = (new Teamer())->setCreatedAt(new \DateTimeImmutable('2025-10-01 10:00:00'));
$user = (new User())
->setRoles(['ROLE_TEAMER'])
->setTeamer($teamer)