test(compare): enforce invader resume watchdog
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
namespace sammo;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
final class AutoResetProgressTest extends TestCase
|
||||
{
|
||||
public function testRecordStoresInjectedWallTimeWithMicroseconds(): void
|
||||
{
|
||||
$storage = $this->createMock(KVStorage::class);
|
||||
$storage->expects(self::once())
|
||||
->method('setValue')
|
||||
->with(
|
||||
AutoResetProgress::STORAGE_KEY,
|
||||
'2026-08-12 15:40:12.345678',
|
||||
)
|
||||
->willReturnSelf();
|
||||
|
||||
AutoResetProgress::record(
|
||||
$storage,
|
||||
new \DateTimeImmutable('2026-08-12 15:40:12.345678 UTC'),
|
||||
);
|
||||
}
|
||||
|
||||
public function testRecordIfAdvancedIgnoresEqualOrRegressiveTicks(): void
|
||||
{
|
||||
$storage = $this->createMock(KVStorage::class);
|
||||
$storage->expects(self::never())->method('setValue');
|
||||
|
||||
self::assertFalse(AutoResetProgress::recordIfAdvanced($storage, 100, 100));
|
||||
self::assertFalse(AutoResetProgress::recordIfAdvanced($storage, 100, 99));
|
||||
}
|
||||
|
||||
public function testRecordIfAdvancedRefreshesTheWatchdogAnchor(): void
|
||||
{
|
||||
$storage = $this->createMock(KVStorage::class);
|
||||
$storage->expects(self::once())
|
||||
->method('setValue')
|
||||
->with(
|
||||
AutoResetProgress::STORAGE_KEY,
|
||||
'2026-08-12 15:41:00.000001',
|
||||
)
|
||||
->willReturnSelf();
|
||||
|
||||
self::assertTrue(AutoResetProgress::recordIfAdvanced(
|
||||
$storage,
|
||||
100,
|
||||
101,
|
||||
new \DateTimeImmutable('2026-08-12 15:41:00.000001 UTC'),
|
||||
));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user