@@ -227,42 +227,97 @@ public function testSave(
227227 }
228228
229229 public static function providerSave (): array {
230+ $ now = (new DateTime ());
230231 return [
231232 [
232233 'daysBefore ' => 0 , 'daysBetween ' => 0 , 'max ' => 0 , 'sendTimer ' => '' ,
233- 'expected ' => ['days_before ' => 0 , 'days_between ' => 0 , 'max ' => 0 , 'send_timer ' => '' ],
234+ 'expected ' => [
235+ 'days_before ' => 0 ,
236+ 'days_between ' => 0 ,
237+ 'max ' => 0 ,
238+ 'next_run ' => null ,
239+ 'send_timer ' => '' ,
240+ ],
234241 ],
235242 [
236243 'daysBefore ' => 0 , 'daysBetween ' => 0 , 'max ' => 1 , 'sendTimer ' => '' ,
237- 'expected ' => ['days_before ' => 0 , 'days_between ' => 0 , 'max ' => 0 , 'send_timer ' => '' ],
244+ 'expected ' => [
245+ 'days_before ' => 0 ,
246+ 'days_between ' => 0 ,
247+ 'max ' => 0 ,
248+ 'next_run ' => null ,
249+ 'send_timer ' => '' ,
250+ ],
238251 ],
239252 [
240253 'daysBefore ' => 0 , 'daysBetween ' => 1 , 'max ' => 0 , 'sendTimer ' => '' ,
241- 'expected ' => ['days_before ' => 0 , 'days_between ' => 0 , 'max ' => 0 , 'send_timer ' => '' ],
254+ 'expected ' => [
255+ 'days_before ' => 0 ,
256+ 'days_between ' => 0 ,
257+ 'max ' => 0 ,
258+ 'next_run ' => null ,
259+ 'send_timer ' => '' ,
260+ ],
242261 ],
243262 [
244263 'daysBefore ' => 0 , 'daysBetween ' => 1 , 'max ' => 1 , 'sendTimer ' => '' ,
245- 'expected ' => ['days_before ' => 0 , 'days_between ' => 0 , 'max ' => 0 , 'send_timer ' => '' ],
264+ 'expected ' => [
265+ 'days_before ' => 0 ,
266+ 'days_between ' => 0 ,
267+ 'max ' => 0 ,
268+ 'next_run ' => null ,
269+ 'send_timer ' => '' ,
270+ ],
246271 ],
247272 [
248273 'daysBefore ' => 1 , 'daysBetween ' => 0 , 'max ' => 0 , 'sendTimer ' => '' ,
249- 'expected ' => ['days_before ' => 0 , 'days_between ' => 0 , 'max ' => 0 , 'send_timer ' => '' ],
274+ 'expected ' => [
275+ 'days_before ' => 0 ,
276+ 'days_between ' => 0 ,
277+ 'max ' => 0 ,
278+ 'next_run ' => null ,
279+ 'send_timer ' => '' ,
280+ ],
250281 ],
251282 [
252283 'daysBefore ' => 1 , 'daysBetween ' => 1 , 'max ' => 0 , 'sendTimer ' => '' ,
253- 'expected ' => ['days_before ' => 0 , 'days_between ' => 0 , 'max ' => 0 , 'send_timer ' => '' ],
284+ 'expected ' => [
285+ 'days_before ' => 0 ,
286+ 'days_between ' => 0 ,
287+ 'max ' => 0 ,
288+ 'next_run ' => null ,
289+ 'send_timer ' => '' ,
290+ ],
254291 ],
255292 [
256293 'daysBefore ' => 1 , 'daysBetween ' => 1 , 'max ' => 1 , 'sendTimer ' => '' ,
257- 'expected ' => ['days_before ' => 1 , 'days_between ' => 1 , 'max ' => 1 , 'send_timer ' => '10:00 ' ],
294+ 'expected ' => [
295+ 'days_before ' => 1 ,
296+ 'days_between ' => 1 ,
297+ 'max ' => 1 ,
298+ 'next_run ' => (clone $ now )->modify ('+1 day ' )->setTime (10 , 0 ),
299+ 'send_timer ' => '10:00 ' ,
300+ ],
258301 ],
259302 [
260- 'daysBefore ' => 1 , 'daysBetween ' => 1 , 'max ' => 1 , 'sendTimer ' => '11:05:00 ' ,
261- 'expected ' => ['days_before ' => 1 , 'days_between ' => 1 , 'max ' => 1 , 'send_timer ' => '10:00 ' ],
303+ 'daysBefore ' => 1 , 'daysBetween ' => 1 , 'max ' => 1 , 'sendTimer ' => '11:05:00 ' , // Invalid timer, need to be HH:mm
304+ 'expected ' => [
305+ 'days_before ' => 1 ,
306+ 'days_between ' => 1 ,
307+ 'max ' => 1 ,
308+ 'next_run ' => (clone $ now )->modify ('+1 day ' )->setTime (10 , 0 ),
309+ 'send_timer ' => '10:00 ' ,
310+ ],
262311 ],
263312 [
264313 'daysBefore ' => 1 , 'daysBetween ' => 1 , 'max ' => 1 , 'sendTimer ' => '11:05 ' ,
265- 'expected ' => ['days_before ' => 1 , 'days_between ' => 1 , 'max ' => 1 , 'send_timer ' => '11:05 ' ],
314+ 'expected ' => [
315+ 'days_before ' => 1 ,
316+ 'days_between ' => 1 ,
317+ 'max ' => 1 ,
318+ 'next_run ' => (clone $ now )->modify ('+1 day ' )->setTime (11 , 5 ),
319+ 'send_timer ' => '11:05 ' ,
320+ ],
266321 ],
267322 ];
268323 }
0 commit comments