@Test public void shouldSetUpCorrectCronExpressionForDailyJob() { final LocalDate today = DateUtil.today(); pillRegimen = new PillRegimen(externalId, dosages, new DailyScheduleDetails(15, 2)); pillRegimen.setId(pillRegimenId); final HashSet<Medicine> medicines = new HashSet<Medicine>() { { add(new Medicine("med1", today.minusDays(1), null)); } }; final Dosage dosage1 = new Dosage(new Time(10, 5), medicines); jobScheduler = new PillRegimenJobScheduler(schedulerService) { @Override public CronSchedulableJob getSchedulableDailyJob( String pillRegimenId, String externalId, Dosage dosage) { return super.getSchedulableDailyJob(pillRegimenId, externalId, dosage); } }; final CronSchedulableJob schedulableJob = jobScheduler.getSchedulableDailyJob(pillRegimenId, externalId, dosage1); assertEquals(String.format("0 %d %d * * ?", 5, 10), schedulableJob.getCronExpression()); assertEquals( EventKeys.PILLREMINDER_REMINDER_EVENT_SUBJECT_SCHEDULER, schedulableJob.getMotechEvent().getSubject()); assertTrue(schedulableJob.getStartTime().getTime() > today.minusDays(1).toDate().getTime()); }