toBeTrue(); Carbon::setTestNow(); }); test('dueEveryMinutes is false on a minute that is not a multiple of the configured interval', function () { Carbon::setTestNow(Carbon::parse('2026-01-01 12:15:00')); Settings::set('schedule_imap_fetch_minutes', '7'); expect(Settings::dueEveryMinutes('schedule_imap_fetch_minutes', 5))->toBeFalse(); Carbon::setTestNow(); }); test('dueEveryMinutes falls back to the given default when unset', function () { Carbon::setTestNow(Carbon::parse('2026-01-01 12:15:00')); expect(Settings::dueEveryMinutes('schedule_ai_automation_minutes', 5))->toBeTrue(); Carbon::setTestNow(); }); test('dueEveryMinutes clamps a zero or negative stored value to 1, so it is always due', function () { Carbon::setTestNow(Carbon::parse('2026-01-01 12:13:00')); Settings::set('schedule_sla_check_minutes', '0'); expect(Settings::dueEveryMinutes('schedule_sla_check_minutes', 15))->toBeTrue(); Settings::set('schedule_sla_check_minutes', '-4'); expect(Settings::dueEveryMinutes('schedule_sla_check_minutes', 15))->toBeTrue(); Carbon::setTestNow(); });