validate($timestamp); // THEN expect($isValid)->toBeTrue(); })->with([ 'now', '-2 minutes', '+2 minutes', '-299 seconds', '+299 seconds', ]); it('rejects timestamps outside the 300 seconds skew window', function (string $modifier): void { // GIVEN $timezone = new DateTimeZone('UTC'); $validator = new TimestampValidatorImpl($timezone); $timestamp = new DateTimeImmutable($modifier, $timezone); // WHEN $isValid = $validator->validate($timestamp); // THEN expect($isValid)->toBeFalse(); })->with([ '-6 minutes', '+6 minutes', '-301 seconds', '+301 seconds', '-1 day', '+1 day', ]); });