File tree Expand file tree Collapse file tree 2 files changed +21
-2
lines changed
src/Tempest/Core/src/Kernel Expand file tree Collapse file tree 2 files changed +21
-2
lines changed Original file line number Diff line number Diff line change 44
55namespace Tempest \Core \Kernel ;
66
7+ use Tempest \Container \Container ;
78use Tempest \Core \DeferredTasks ;
89
910final readonly class FinishDeferredTasks
1011{
1112 public function __construct (
1213 private DeferredTasks $ deferredTasks ,
14+ private Container $ container ,
1315 ) {
1416 }
1517
1618 public function __invoke (): void
1719 {
1820 foreach ($ this ->deferredTasks ->getTasks () as $ task ) {
19- $ task ( );
21+ $ this -> container -> invoke ( $ task );
2022 }
2123 }
2224}
Original file line number Diff line number Diff line change 44
55namespace Tests \Tempest \Integration \Core ;
66
7+ use Tempest \Container \Container ;
78use Tempest \Core \Kernel \FinishDeferredTasks ;
9+ use function Tempest \defer ;
810use function Tempest \uri ;
911use Tests \Tempest \Fixtures \Controllers \DeferController ;
1012use Tests \Tempest \Integration \FrameworkIntegrationTestCase ;
@@ -22,8 +24,23 @@ public function test_deferred_tasks_are_executed(): void
2224 ->get (uri (DeferController::class))
2325 ->assertOk ();
2426
25- $ this ->container ->get (FinishDeferredTasks::class)( );
27+ $ this ->container ->invoke (FinishDeferredTasks::class);
2628
2729 $ this ->assertTrue (DeferController::$ executed );
2830 }
31+
32+ public function test_deferred_tasks_are_executed_with_container_parameters (): void
33+ {
34+ $ executed = false ;
35+
36+ defer (function (Container $ container ) use (&$ executed ): void {
37+ $ container ->invoke (function () use (&$ executed ): void {
38+ $ executed = true ;
39+ });
40+ });
41+
42+ $ this ->container ->invoke (FinishDeferredTasks::class);
43+
44+ $ this ->assertTrue ($ executed );
45+ }
2946}
You can’t perform that action at this time.
0 commit comments