justReturn(['log_retention_days' => 30]); $log = Mockery::mock(ChangeLog::class); $log->expects('purgeOlderThan')->with(30)->andReturn(0); (new ChangeLogCleanup($log, new Limits()))->run(); } public function testEnsureScheduledSchedulesADailyEventOnce(): void { Functions\when('wp_next_scheduled')->justReturn(false); Functions\expect('wp_schedule_event')->once()->with(Mockery::type('int'), 'daily', 'lit_mcp_log_cleanup'); (new ChangeLogCleanup(Mockery::mock(ChangeLog::class), new Limits()))->ensureScheduled(); } public function testEnsureScheduledDoesNothingWhenAlreadyScheduled(): void { Functions\when('wp_next_scheduled')->justReturn(1790330400); Functions\expect('wp_schedule_event')->never(); (new ChangeLogCleanup(Mockery::mock(ChangeLog::class), new Limits()))->ensureScheduled(); } }