Fixed: ensure to execute Refresh Address To Geographical Unit Cronjob even during the day

This commit is contained in:
2022-12-23 13:36:23 +01:00
parent f12f640cb4
commit c8127a1d9d
2 changed files with 29 additions and 5 deletions

View File

@@ -30,6 +30,34 @@ final class RefreshAddressToGeographicalUnitMaterializedViewCronJobTest extends
$this->connection = self::$container->get(Connection::class);
}
public function testCanRun(): void
{
// As the can run is executed one of ten, this should be executed at least one after
// 10 + 5 executions
$job = new \Chill\MainBundle\Service\AddressGeographicalUnit\RefreshAddressToGeographicalUnitMaterializedViewCronJob(
$this->connection
);
$lastExecution = new CronJobExecution($job->getKey());
$lastExecution->setLastStart(new DateTimeImmutable('2 days ago'));
$executedForFirstTime = 0;
$executedAfterPreviousExecution = 0;
for ($round = 0; 20 > $round; ++$round ) {
if ($job->canRun(null)) {
++$executedForFirstTime;
}
if ($job->canRun($lastExecution)) {
++$executedAfterPreviousExecution;
}
}
$this->assertGreaterThan(0, $executedForFirstTime);
$this->assertGreaterThan(0, $executedAfterPreviousExecution);
}
public function testFullRun(): void
{
$job = new \Chill\MainBundle\Service\AddressGeographicalUnit\RefreshAddressToGeographicalUnitMaterializedViewCronJob(