@@ -742,10 +742,12 @@ public function testSubmittedUpdateFailureIsRecordedAndWorkerReplaysCleanly(): v
742742
743743 public function testCallingAnnotatedUpdateMethodReturnsTheRawUpdateResult (): void
744744 {
745+ Queue::fake ();
746+
745747 $ workflow = WorkflowStub::make (TestUpdateWorkflow::class, 'order-update-dynamic ' );
746748 $ workflow ->start ();
747749
748- $ this ->waitFor ( static fn (): bool => $ workflow ->refresh ()-> status () === ' waiting ' );
750+ $ this ->runReadyWorkflowTask ( $ workflow ->runId () );
749751
750752 $ result = $ workflow ->approve (true , 'console ' );
751753
@@ -763,10 +765,12 @@ public function testCallingAnnotatedUpdateMethodReturnsTheRawUpdateResult(): voi
763765
764766 public function testAttemptUpdateCanonicalizesDefaultArgumentsInDurableHistory (): void
765767 {
768+ Queue::fake ();
769+
766770 $ workflow = WorkflowStub::make (TestUpdateWorkflow::class, 'order-update-defaults ' );
767771 $ workflow ->start ();
768772
769- $ this ->waitFor ( static fn (): bool => $ workflow ->refresh ()-> status () === ' waiting ' );
773+ $ this ->runReadyWorkflowTask ( $ workflow ->runId () );
770774
771775 $ result = $ workflow ->attemptUpdate ('approve ' , true );
772776
@@ -801,10 +805,12 @@ public function testAttemptUpdateCanonicalizesDefaultArgumentsInDurableHistory()
801805
802806 public function testAttemptUpdateRejectsInvalidArgumentsBeforeApplication (): void
803807 {
808+ Queue::fake ();
809+
804810 $ workflow = WorkflowStub::make (TestUpdateWorkflow::class, 'order-update-invalid ' );
805811 $ workflow ->start ();
806812
807- $ this ->waitFor ( static fn (): bool => $ workflow ->refresh ()-> status () === ' waiting ' );
813+ $ this ->runReadyWorkflowTask ( $ workflow ->runId () );
808814
809815 $ result = $ workflow ->attemptUpdate ('approve ' );
810816
@@ -839,10 +845,12 @@ public function testAttemptUpdateRejectsInvalidArgumentsBeforeApplication(): voi
839845
840846 public function testAttemptUpdateRejectsNullArgumentsWhenTheContractDisallowsNull (): void
841847 {
848+ Queue::fake ();
849+
842850 $ workflow = WorkflowStub::make (TestUpdateWorkflow::class, 'order-update-null-invalid ' );
843851 $ workflow ->start ();
844852
845- $ this ->waitFor ( static fn (): bool => $ workflow ->refresh ()-> status () === ' waiting ' );
853+ $ this ->runReadyWorkflowTask ( $ workflow ->runId () );
846854
847855 $ result = $ workflow ->attemptUpdate ('approve ' , null );
848856
@@ -872,12 +880,12 @@ public function testAttemptUpdateRejectsNullArgumentsWhenTheContractDisallowsNul
872880
873881 public function testAttemptUpdateRejectsLaterUpdateWhileAnEarlierSignalIsStillPending (): void
874882 {
883+ Queue::fake ();
884+
875885 $ workflow = WorkflowStub::make (TestSignalThenUpdateWorkflow::class, 'order-update-linearized ' );
876886 $ workflow ->start ();
877887
878- $ this ->waitFor (static fn (): bool => $ workflow ->refresh ()->status () === 'waiting ' );
879-
880- Queue::fake ();
888+ $ this ->runReadyWorkflowTask ($ workflow ->runId ());
881889
882890 $ signal = $ workflow ->signal ('advance ' , 'Taylor ' );
883891
@@ -967,12 +975,12 @@ public function testAttemptUpdateRejectsLaterUpdateWhileAnEarlierSignalIsStillPe
967975
968976 public function testAttemptUpdateDoesNotInlineDrainASignalThatWouldCloseTheRun (): void
969977 {
978+ Queue::fake ();
979+
970980 $ workflow = WorkflowStub::make (TestUpdateWorkflow::class, 'order-update-blocked ' );
971981 $ workflow ->start ();
972982
973- $ this ->waitFor (static fn (): bool => $ workflow ->refresh ()->status () === 'waiting ' );
974-
975- Queue::fake ();
983+ $ this ->runReadyWorkflowTask ($ workflow ->runId ());
976984
977985 $ signal = $ workflow ->signal ('name-provided ' , 'Taylor ' );
978986 $ result = $ workflow ->attemptUpdate ('approve ' , true , 'api ' );
@@ -1045,10 +1053,12 @@ public function testAttemptUpdateDoesNotInlineDrainASignalThatWouldCloseTheRun()
10451053
10461054 public function testLegacyRunsBackfillCommandSequenceBeforeRecordingLaterCommands (): void
10471055 {
1056+ Queue::fake ();
1057+
10481058 $ workflow = WorkflowStub::make (TestUpdateWorkflow::class, 'legacy-update-seq ' );
10491059 $ workflow ->start ();
10501060
1051- $ this ->waitFor ( static fn (): bool => $ workflow ->refresh ()-> status () === ' waiting ' );
1061+ $ this ->runReadyWorkflowTask ( $ workflow ->runId () );
10521062
10531063 WorkflowCommand::query ()
10541064 ->where ('workflow_run_id ' , $ workflow ->runId ())
@@ -1062,8 +1072,6 @@ public function testLegacyRunsBackfillCommandSequenceBeforeRecordingLaterCommand
10621072 'last_command_sequence ' => 0 ,
10631073 ]);
10641074
1065- Queue::fake ();
1066-
10671075 $ signal = $ workflow ->signal ('name-provided ' , 'Taylor ' );
10681076 $ update = $ workflow ->attemptUpdate ('approve ' , true , 'api ' );
10691077
@@ -1120,10 +1128,12 @@ public function testLegacyRunsBackfillCommandSequenceBeforeRecordingLaterCommand
11201128
11211129 public function testUpdateFailuresAreRecordedWithoutClosingTheRun (): void
11221130 {
1131+ Queue::fake ();
1132+
11231133 $ workflow = WorkflowStub::make (TestUpdateWorkflow::class, 'order-update-failure ' );
11241134 $ workflow ->start ();
11251135
1126- $ this ->waitFor ( static fn (): bool => $ workflow ->refresh ()-> status () === ' waiting ' );
1136+ $ this ->runReadyWorkflowTask ( $ workflow ->runId () );
11271137
11281138 $ result = $ workflow ->attemptUpdate ('explode ' , 'boom ' );
11291139
@@ -1345,10 +1355,12 @@ public function testUpdateFailureDetailUsesUpdateIdHistoryWhenCommandRelationIsM
13451355
13461356 public function testAttemptUpdateRejectsUnknownUpdateTarget (): void
13471357 {
1358+ Queue::fake ();
1359+
13481360 $ workflow = WorkflowStub::make (TestUpdateWorkflow::class, 'order-update-unknown ' );
13491361 $ workflow ->start ();
13501362
1351- $ this ->waitFor ( static fn (): bool => $ workflow ->refresh ()-> status () === ' waiting ' );
1363+ $ this ->runReadyWorkflowTask ( $ workflow ->runId () );
13521364
13531365 $ result = $ workflow ->attemptUpdate ('missingUpdate ' , true );
13541366
@@ -1402,12 +1414,12 @@ public function testAttemptUpdateRejectsUnknownUpdateTarget(): void
14021414
14031415 public function testSignalIntakeUsesDurableRunContractWhenWorkflowClassCannotBeResolved (): void
14041416 {
1417+ Queue::fake ();
1418+
14051419 $ workflow = WorkflowStub::make (TestUpdateWorkflow::class, 'order-ct-signal ' );
14061420 $ workflow ->start ();
14071421
1408- $ this ->waitFor (static fn (): bool => $ workflow ->refresh ()->status () === 'waiting ' );
1409-
1410- Queue::fake ();
1422+ $ this ->runReadyWorkflowTask ($ workflow ->runId ());
14111423
14121424 WorkflowRun::query ()->whereKey ($ workflow ->runId ())->update ([
14131425 'workflow_class ' => 'Missing \\Workflow \\TestUpdateWorkflow ' ,
@@ -1433,10 +1445,12 @@ public function testSignalIntakeUsesDurableRunContractWhenWorkflowClassCannotBeR
14331445
14341446 public function testUnknownUpdateRejectionUsesDurableRunContractWhenWorkflowClassCannotBeResolved (): void
14351447 {
1448+ Queue::fake ();
1449+
14361450 $ workflow = WorkflowStub::make (TestUpdateWorkflow::class, 'order-ct-update ' );
14371451 $ workflow ->start ();
14381452
1439- $ this ->waitFor ( static fn (): bool => $ workflow ->refresh ()-> status () === ' waiting ' );
1453+ $ this ->runReadyWorkflowTask ( $ workflow ->runId () );
14401454
14411455 WorkflowRun::query ()->whereKey ($ workflow ->runId ())->update ([
14421456 'workflow_class ' => 'Missing \\Workflow \\TestUpdateWorkflow ' ,
@@ -1451,10 +1465,12 @@ public function testUnknownUpdateRejectionUsesDurableRunContractWhenWorkflowClas
14511465
14521466 public function testNamedUpdateValidationUsesDurableRunContractWhenWorkflowDefinitionCannotBeResolved (): void
14531467 {
1468+ Queue::fake ();
1469+
14541470 $ workflow = WorkflowStub::make (TestUpdateWorkflow::class, 'order-ct-update-validation ' );
14551471 $ workflow ->start ();
14561472
1457- $ this ->waitFor ( static fn (): bool => $ workflow ->refresh ()-> status () === ' waiting ' );
1473+ $ this ->runReadyWorkflowTask ( $ workflow ->runId () );
14581474
14591475 WorkflowRun::query ()->whereKey ($ workflow ->runId ())->update ([
14601476 'workflow_class ' => 'Missing \\Workflow \\TestUpdateWorkflow ' ,
@@ -1487,10 +1503,12 @@ public function testNamedUpdateValidationUsesDurableRunContractWhenWorkflowDefin
14871503
14881504 public function testAttemptUpdateRejectsWhenWorkflowDefinitionCannotBeResolvedAfterDurableValidation (): void
14891505 {
1506+ Queue::fake ();
1507+
14901508 $ workflow = WorkflowStub::make (TestUpdateWorkflow::class, 'order-ct-update-execution ' );
14911509 $ workflow ->start ();
14921510
1493- $ this ->waitFor ( static fn (): bool => $ workflow ->refresh ()-> status () === ' waiting ' );
1511+ $ this ->runReadyWorkflowTask ( $ workflow ->runId () );
14941512
14951513 WorkflowRun::query ()->whereKey ($ workflow ->runId ())->update ([
14961514 'workflow_class ' => 'Missing \\Workflow \\TestUpdateWorkflow ' ,
0 commit comments