@@ -29,19 +29,37 @@ public function testProcessIdSavedOnStart()
29
29
$ this ->whenTryLockJob ($ schedule );
30
30
$ this ->thenScheduleIsSavedWithPid ($ schedule , $ pid );
31
31
}
32
+ public function testProcessIdMaintainedAfterSuccesfulRun ()
33
+ {
34
+ $ this ->givenPid ($ pid );
35
+ $ this ->givenPendingSchedule ($ schedule );
36
+ $ this ->whenTryLockJob ($ schedule );
37
+ $ this ->andScheduleSavedWithSuccess ($ schedule );
38
+ $ this ->thenScheduleIsSavedWithPid ($ schedule , $ pid );
39
+ }
32
40
33
41
private function givenPendingSchedule (&$ schedule )
34
42
{
43
+ /** @var Schedule $newSchedule */
44
+ $ newSchedule = $ this ->objectManager ->create (Schedule::class);
45
+ $ newSchedule ->setStatus (Schedule::STATUS_PENDING );
46
+ $ newSchedule ->setJobCode ('test_job_code ' );
47
+ $ newSchedule ->save ();
35
48
/** @var Schedule $schedule */
36
49
$ schedule = $ this ->objectManager ->create (Schedule::class);
37
- $ schedule ->setStatus (Schedule::STATUS_PENDING );
38
- $ schedule ->setJobCode ('test_job_code ' );
39
- $ schedule ->save ();
50
+ $ schedule ->load ($ newSchedule ->getId ());
40
51
}
41
52
42
53
private function whenTryLockJob (Schedule $ schedule )
43
54
{
44
- $ schedule ->tryLockJob ();
55
+ $ lock = $ schedule ->tryLockJob ();
56
+ $ this ->assertTrue ($ lock , 'Precondition: tryLockJob() should be successful ' );
57
+ }
58
+
59
+ private function andScheduleSavedWithSuccess (Schedule $ schedule )
60
+ {
61
+ $ schedule ->setStatus (Schedule::STATUS_SUCCESS );
62
+ $ schedule ->save ();
45
63
}
46
64
47
65
private function thenScheduleIsSavedWithPid (Schedule $ schedule , $ pid )
0 commit comments