From 72aa8d3337b6d7d2c8c7f6a36ac6d83b8717df4b Mon Sep 17 00:00:00 2001 From: Richard McDaniel Date: Thu, 19 Feb 2026 18:04:30 -0600 Subject: [PATCH 1/7] Remove failed to pending --- src/States/WorkflowStatus.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/States/WorkflowStatus.php b/src/States/WorkflowStatus.php index 047d05c0..7ac117fb 100644 --- a/src/States/WorkflowStatus.php +++ b/src/States/WorkflowStatus.php @@ -14,7 +14,6 @@ public static function config(): StateConfig return parent::config() ->default(WorkflowCreatedStatus::class) ->allowTransition(WorkflowCreatedStatus::class, WorkflowPendingStatus::class) - ->allowTransition(WorkflowFailedStatus::class, WorkflowPendingStatus::class) ->allowTransition(WorkflowPendingStatus::class, WorkflowFailedStatus::class) ->allowTransition(WorkflowPendingStatus::class, WorkflowRunningStatus::class) ->allowTransition(WorkflowRunningStatus::class, WorkflowCompletedStatus::class) From a29a1074e45bf1824a7b3e31554427d0e36535d6 Mon Sep 17 00:00:00 2001 From: Richard McDaniel Date: Thu, 19 Feb 2026 18:39:53 -0600 Subject: [PATCH 2/7] Change workflow status --- tests/Feature/ParentWorkflowTest.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/Feature/ParentWorkflowTest.php b/tests/Feature/ParentWorkflowTest.php index 7421b18f..a9df5155 100644 --- a/tests/Feature/ParentWorkflowTest.php +++ b/tests/Feature/ParentWorkflowTest.php @@ -15,6 +15,7 @@ use Tests\TestCase; use Workflow\AsyncWorkflow; use Workflow\States\WorkflowCompletedStatus; +use Workflow\States\WorkflowCreatedStatus; use Workflow\States\WorkflowFailedStatus; use Workflow\WorkflowStub; @@ -48,6 +49,10 @@ public function testRetry(): void $this->assertSame(WorkflowFailedStatus::class, $workflow->status()); $this->assertNull($workflow->output()); + $storedWorkflow = StoredWorkflow::findOrFail($workflow->id()); + $storedWorkflow->status = WorkflowCreatedStatus::class; + $storedWorkflow->save(); + $workflow->fresh() ->start(shouldThrow: false); From 47e7877dd583b58867690061d688bec8184c38d2 Mon Sep 17 00:00:00 2001 From: Richard McDaniel Date: Thu, 19 Feb 2026 18:42:53 -0600 Subject: [PATCH 3/7] Import StoredWorkflow --- tests/Feature/ParentWorkflowTest.php | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/Feature/ParentWorkflowTest.php b/tests/Feature/ParentWorkflowTest.php index a9df5155..e504f3d4 100644 --- a/tests/Feature/ParentWorkflowTest.php +++ b/tests/Feature/ParentWorkflowTest.php @@ -14,6 +14,7 @@ use Tests\Fixtures\TestParentWorkflow; use Tests\TestCase; use Workflow\AsyncWorkflow; +use Workflow\Models\StoredWorkflow; use Workflow\States\WorkflowCompletedStatus; use Workflow\States\WorkflowCreatedStatus; use Workflow\States\WorkflowFailedStatus; From 502c2f74c7781497a9a713ba83dcbbf1c2c8f1e6 Mon Sep 17 00:00:00 2001 From: Richard McDaniel Date: Thu, 19 Feb 2026 18:52:14 -0600 Subject: [PATCH 4/7] Change workflow status --- tests/Feature/FailingWorkflowTest.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/Feature/FailingWorkflowTest.php b/tests/Feature/FailingWorkflowTest.php index 4e6776c8..afb39342 100644 --- a/tests/Feature/FailingWorkflowTest.php +++ b/tests/Feature/FailingWorkflowTest.php @@ -6,6 +6,7 @@ use Tests\Fixtures\TestFailingWorkflow; use Tests\TestCase; +use Workflow\Models\StoredWorkflow; use Workflow\States\WorkflowCompletedStatus; use Workflow\States\WorkflowFailedStatus; use Workflow\WorkflowStub; @@ -23,6 +24,10 @@ public function testRetry(): void $this->assertSame(WorkflowFailedStatus::class, $workflow->status()); $this->assertNull($workflow->output()); + $storedWorkflow = StoredWorkflow::findOrFail($workflow->id()); + $storedWorkflow->status = WorkflowCreatedStatus::class; + $storedWorkflow->save(); + $workflow->fresh() ->start(shouldFail: false); From a60e6523a2fd7d87c45f76046d00265ec118d546 Mon Sep 17 00:00:00 2001 From: Richard McDaniel Date: Thu, 19 Feb 2026 18:53:08 -0600 Subject: [PATCH 5/7] Import WorkflowCreatedStatus --- tests/Feature/FailingWorkflowTest.php | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/Feature/FailingWorkflowTest.php b/tests/Feature/FailingWorkflowTest.php index afb39342..f2aa0ffa 100644 --- a/tests/Feature/FailingWorkflowTest.php +++ b/tests/Feature/FailingWorkflowTest.php @@ -8,6 +8,7 @@ use Tests\TestCase; use Workflow\Models\StoredWorkflow; use Workflow\States\WorkflowCompletedStatus; +use Workflow\States\WorkflowCreatedStatus; use Workflow\States\WorkflowFailedStatus; use Workflow\WorkflowStub; From 283031eb4ac0c746feb470bd5a729a71aab4f1f3 Mon Sep 17 00:00:00 2001 From: Richard McDaniel Date: Thu, 19 Feb 2026 19:13:43 -0600 Subject: [PATCH 6/7] Update child workflow status --- tests/Feature/ParentWorkflowTest.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/Feature/ParentWorkflowTest.php b/tests/Feature/ParentWorkflowTest.php index e504f3d4..6ac7b765 100644 --- a/tests/Feature/ParentWorkflowTest.php +++ b/tests/Feature/ParentWorkflowTest.php @@ -54,6 +54,10 @@ public function testRetry(): void $storedWorkflow->status = WorkflowCreatedStatus::class; $storedWorkflow->save(); + $storedChildWorkflow = StoredWorkflow::findOrFail($workflow->id() + 1); + $storedChildWorkflow->status = WorkflowCreatedStatus::class; + $storedChildWorkflow->save(); + $workflow->fresh() ->start(shouldThrow: false); From 5ea0896fd9cf5658f3731d6a25dd8afc44dafd70 Mon Sep 17 00:00:00 2001 From: Richard McDaniel Date: Thu, 19 Feb 2026 19:49:14 -0600 Subject: [PATCH 7/7] Set workflow status --- tests/Unit/WorkflowStubTest.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/Unit/WorkflowStubTest.php b/tests/Unit/WorkflowStubTest.php index c6680f5e..ef91ec01 100644 --- a/tests/Unit/WorkflowStubTest.php +++ b/tests/Unit/WorkflowStubTest.php @@ -57,6 +57,10 @@ public function testMake(): void $this->assertTrue($workflow->failed()); $this->assertTrue($parentWorkflow->failed()); + $storedWorkflow = StoredWorkflow::findOrFail($workflow->id()); + $storedWorkflow->status = WorkflowCreatedStatus::class; + $storedWorkflow->save(); + $workflow->cancel(); while (! $workflow->isCanceled()); @@ -78,6 +82,10 @@ public function testComplete(): void $workflow->cancel(); $workflow->fail(new Exception('resume')); + $storedWorkflow = StoredWorkflow::findOrFail($workflow->id()); + $storedWorkflow->status = WorkflowCreatedStatus::class; + $storedWorkflow->save(); + Cache::flush(); $workflow->resume();