Skip to content

Commit a321f30

Browse files
authored
Remove failed pending (#330)
1 parent 805df00 commit a321f30

4 files changed

Lines changed: 24 additions & 1 deletion

File tree

src/States/WorkflowStatus.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ public static function config(): StateConfig
1414
return parent::config()
1515
->default(WorkflowCreatedStatus::class)
1616
->allowTransition(WorkflowCreatedStatus::class, WorkflowPendingStatus::class)
17-
->allowTransition(WorkflowFailedStatus::class, WorkflowPendingStatus::class)
1817
->allowTransition(WorkflowPendingStatus::class, WorkflowFailedStatus::class)
1918
->allowTransition(WorkflowPendingStatus::class, WorkflowRunningStatus::class)
2019
->allowTransition(WorkflowRunningStatus::class, WorkflowCompletedStatus::class)

tests/Feature/FailingWorkflowTest.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66

77
use Tests\Fixtures\TestFailingWorkflow;
88
use Tests\TestCase;
9+
use Workflow\Models\StoredWorkflow;
910
use Workflow\States\WorkflowCompletedStatus;
11+
use Workflow\States\WorkflowCreatedStatus;
1012
use Workflow\States\WorkflowFailedStatus;
1113
use Workflow\WorkflowStub;
1214

@@ -23,6 +25,10 @@ public function testRetry(): void
2325
$this->assertSame(WorkflowFailedStatus::class, $workflow->status());
2426
$this->assertNull($workflow->output());
2527

28+
$storedWorkflow = StoredWorkflow::findOrFail($workflow->id());
29+
$storedWorkflow->status = WorkflowCreatedStatus::class;
30+
$storedWorkflow->save();
31+
2632
$workflow->fresh()
2733
->start(shouldFail: false);
2834

tests/Feature/ParentWorkflowTest.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@
1414
use Tests\Fixtures\TestParentWorkflow;
1515
use Tests\TestCase;
1616
use Workflow\AsyncWorkflow;
17+
use Workflow\Models\StoredWorkflow;
1718
use Workflow\States\WorkflowCompletedStatus;
19+
use Workflow\States\WorkflowCreatedStatus;
1820
use Workflow\States\WorkflowFailedStatus;
1921
use Workflow\WorkflowStub;
2022

@@ -48,6 +50,14 @@ public function testRetry(): void
4850
$this->assertSame(WorkflowFailedStatus::class, $workflow->status());
4951
$this->assertNull($workflow->output());
5052

53+
$storedWorkflow = StoredWorkflow::findOrFail($workflow->id());
54+
$storedWorkflow->status = WorkflowCreatedStatus::class;
55+
$storedWorkflow->save();
56+
57+
$storedChildWorkflow = StoredWorkflow::findOrFail($workflow->id() + 1);
58+
$storedChildWorkflow->status = WorkflowCreatedStatus::class;
59+
$storedChildWorkflow->save();
60+
5161
$workflow->fresh()
5262
->start(shouldThrow: false);
5363

tests/Unit/WorkflowStubTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ public function testMake(): void
5757
$this->assertTrue($workflow->failed());
5858
$this->assertTrue($parentWorkflow->failed());
5959

60+
$storedWorkflow = StoredWorkflow::findOrFail($workflow->id());
61+
$storedWorkflow->status = WorkflowCreatedStatus::class;
62+
$storedWorkflow->save();
63+
6064
$workflow->cancel();
6165
while (! $workflow->isCanceled());
6266

@@ -78,6 +82,10 @@ public function testComplete(): void
7882
$workflow->cancel();
7983
$workflow->fail(new Exception('resume'));
8084

85+
$storedWorkflow = StoredWorkflow::findOrFail($workflow->id());
86+
$storedWorkflow->status = WorkflowCreatedStatus::class;
87+
$storedWorkflow->save();
88+
8189
Cache::flush();
8290

8391
$workflow->resume();

0 commit comments

Comments
 (0)