@@ -347,42 +347,97 @@ public function testSave(
347347 }
348348
349349 public static function providerSave (): array {
350+ $ now = (new DateTime ());
350351 return [
351352 [
352353 'daysBefore ' => 0 , 'daysBetween ' => 0 , 'max ' => 0 , 'sendTimer ' => '' ,
353- 'expected ' => ['days_before ' => 0 , 'days_between ' => 0 , 'max ' => 0 , 'send_timer ' => '' ],
354+ 'expected ' => [
355+ 'days_before ' => 0 ,
356+ 'days_between ' => 0 ,
357+ 'max ' => 0 ,
358+ 'next_run ' => null ,
359+ 'send_timer ' => '' ,
360+ ],
354361 ],
355362 [
356363 'daysBefore ' => 0 , 'daysBetween ' => 0 , 'max ' => 1 , 'sendTimer ' => '' ,
357- 'expected ' => ['days_before ' => 0 , 'days_between ' => 0 , 'max ' => 0 , 'send_timer ' => '' ],
364+ 'expected ' => [
365+ 'days_before ' => 0 ,
366+ 'days_between ' => 0 ,
367+ 'max ' => 0 ,
368+ 'next_run ' => null ,
369+ 'send_timer ' => '' ,
370+ ],
358371 ],
359372 [
360373 'daysBefore ' => 0 , 'daysBetween ' => 1 , 'max ' => 0 , 'sendTimer ' => '' ,
361- 'expected ' => ['days_before ' => 0 , 'days_between ' => 0 , 'max ' => 0 , 'send_timer ' => '' ],
374+ 'expected ' => [
375+ 'days_before ' => 0 ,
376+ 'days_between ' => 0 ,
377+ 'max ' => 0 ,
378+ 'next_run ' => null ,
379+ 'send_timer ' => '' ,
380+ ],
362381 ],
363382 [
364383 'daysBefore ' => 0 , 'daysBetween ' => 1 , 'max ' => 1 , 'sendTimer ' => '' ,
365- 'expected ' => ['days_before ' => 0 , 'days_between ' => 0 , 'max ' => 0 , 'send_timer ' => '' ],
384+ 'expected ' => [
385+ 'days_before ' => 0 ,
386+ 'days_between ' => 0 ,
387+ 'max ' => 0 ,
388+ 'next_run ' => null ,
389+ 'send_timer ' => '' ,
390+ ],
366391 ],
367392 [
368393 'daysBefore ' => 1 , 'daysBetween ' => 0 , 'max ' => 0 , 'sendTimer ' => '' ,
369- 'expected ' => ['days_before ' => 0 , 'days_between ' => 0 , 'max ' => 0 , 'send_timer ' => '' ],
394+ 'expected ' => [
395+ 'days_before ' => 0 ,
396+ 'days_between ' => 0 ,
397+ 'max ' => 0 ,
398+ 'next_run ' => null ,
399+ 'send_timer ' => '' ,
400+ ],
370401 ],
371402 [
372403 'daysBefore ' => 1 , 'daysBetween ' => 1 , 'max ' => 0 , 'sendTimer ' => '' ,
373- 'expected ' => ['days_before ' => 0 , 'days_between ' => 0 , 'max ' => 0 , 'send_timer ' => '' ],
404+ 'expected ' => [
405+ 'days_before ' => 0 ,
406+ 'days_between ' => 0 ,
407+ 'max ' => 0 ,
408+ 'next_run ' => null ,
409+ 'send_timer ' => '' ,
410+ ],
374411 ],
375412 [
376413 'daysBefore ' => 1 , 'daysBetween ' => 1 , 'max ' => 1 , 'sendTimer ' => '' ,
377- 'expected ' => ['days_before ' => 1 , 'days_between ' => 1 , 'max ' => 1 , 'send_timer ' => '10:00 ' ],
414+ 'expected ' => [
415+ 'days_before ' => 1 ,
416+ 'days_between ' => 1 ,
417+ 'max ' => 1 ,
418+ 'next_run ' => (clone $ now )->modify ('+1 day ' )->setTime (10 , 0 ),
419+ 'send_timer ' => '10:00 ' ,
420+ ],
378421 ],
379422 [
380- 'daysBefore ' => 1 , 'daysBetween ' => 1 , 'max ' => 1 , 'sendTimer ' => '11:05:00 ' ,
381- 'expected ' => ['days_before ' => 1 , 'days_between ' => 1 , 'max ' => 1 , 'send_timer ' => '10:00 ' ],
423+ 'daysBefore ' => 1 , 'daysBetween ' => 1 , 'max ' => 1 , 'sendTimer ' => '11:05:00 ' , // Invalid timer, need to be HH:mm
424+ 'expected ' => [
425+ 'days_before ' => 1 ,
426+ 'days_between ' => 1 ,
427+ 'max ' => 1 ,
428+ 'next_run ' => (clone $ now )->modify ('+1 day ' )->setTime (10 , 0 ),
429+ 'send_timer ' => '10:00 ' ,
430+ ],
382431 ],
383432 [
384433 'daysBefore ' => 1 , 'daysBetween ' => 1 , 'max ' => 1 , 'sendTimer ' => '11:05 ' ,
385- 'expected ' => ['days_before ' => 1 , 'days_between ' => 1 , 'max ' => 1 , 'send_timer ' => '11:05 ' ],
434+ 'expected ' => [
435+ 'days_before ' => 1 ,
436+ 'days_between ' => 1 ,
437+ 'max ' => 1 ,
438+ 'next_run ' => (clone $ now )->modify ('+1 day ' )->setTime (11 , 5 ),
439+ 'send_timer ' => '11:05 ' ,
440+ ],
386441 ],
387442 ];
388443 }
0 commit comments