From 37eeb7aeda84396ef15b22c418d28c9bb4a3e9ae Mon Sep 17 00:00:00 2001 From: Mateusz7410 Date: Fri, 6 Nov 2026 17:44:49 +0000 Subject: [PATCH] fix: stop the 5-minute schedule test failing on a minute rollover --- force-app/main/default/classes/AsyncTest.cls | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/force-app/main/default/classes/AsyncTest.cls b/force-app/main/default/classes/AsyncTest.cls index 3b51b47..fc75c7d 100644 --- a/force-app/main/default/classes/AsyncTest.cls +++ b/force-app/main/default/classes/AsyncTest.cls @@ -882,6 +882,8 @@ private class AsyncTest implements Database.Batchable { @IsTest static void shouldScheduleBatchJobIn5Minutes() { + Datetime beforeScheduling = System.now(); + Test.startTest(); Async.batchable(new AsyncTest()) .scopeSize(100) @@ -897,9 +899,12 @@ private class AsyncTest implements Database.Batchable { WHERE CronJobDetail.Name = :TEST_SCHEDULABLE_JOB_NAME ]; Assert.areEqual(1, triggers.size(), 'Should have one trigger scheduled.'); - Assert.areEqual( - triggers[0].CreatedDate.addMinutes(5).minute(), - triggers[0].NextFireTime.minute(), + Set minutesFiveFromScheduling = new Set{ + beforeScheduling.addMinutes(5).minute(), + triggers[0].CreatedDate.addMinutes(5).minute() + }; + Assert.isTrue( + minutesFiveFromScheduling.contains(triggers[0].NextFireTime.minute()), 'Next fire time should be in 5 minutes.' ); }