6
6
7
7
use Google \Cloud \Tasks \V2 \HttpMethod ;
8
8
use Google \Cloud \Tasks \V2 \Task ;
9
+ use Illuminate \Queue \CallQueuedClosure ;
9
10
use Illuminate \Queue \Events \JobProcessed ;
10
11
use Illuminate \Queue \Events \JobProcessing ;
11
12
use Illuminate \Queue \Events \JobQueued ;
@@ -146,17 +147,22 @@ public function it_posts_the_task_the_correct_queue()
146
147
// Arrange
147
148
CloudTasksApi::fake ();
148
149
150
+ $ closure = fn () => 'closure job ' ;
151
+ $ closureDisplayName = CallQueuedClosure::create ($ closure )->displayName ();
152
+
149
153
// Act
150
154
$ this ->dispatch ((new SimpleJob ()));
151
155
$ this ->dispatch ((new FailingJob ())->onQueue ('my-special-queue ' ));
156
+ $ this ->dispatch ($ closure );
157
+ $ this ->dispatch ($ closure , 'my-special-queue ' );
152
158
153
159
// Assert
154
160
CloudTasksApi::assertTaskCreated (function (Task $ task , string $ queueName ): bool {
155
161
$ decoded = json_decode ($ task ->getHttpRequest ()->getBody (), true );
156
162
$ command = IncomingTask::fromJson ($ task ->getHttpRequest ()->getBody ())->command ();
157
163
158
164
return $ decoded ['displayName ' ] === SimpleJob::class
159
- && ( $ command ['queue ' ] ?? null ) === null
165
+ && $ command ['queue ' ] === ' barbequeue '
160
166
&& $ queueName === 'projects/my-test-project/locations/europe-west6/queues/barbequeue ' ;
161
167
});
162
168
@@ -168,6 +174,24 @@ public function it_posts_the_task_the_correct_queue()
168
174
&& $ command ['queue ' ] === 'my-special-queue '
169
175
&& $ queueName === 'projects/my-test-project/locations/europe-west6/queues/my-special-queue ' ;
170
176
});
177
+
178
+ CloudTasksApi::assertTaskCreated (function (Task $ task , string $ queueName ) use ($ closureDisplayName ): bool {
179
+ $ decoded = json_decode ($ task ->getHttpRequest ()->getBody (), true );
180
+ $ command = IncomingTask::fromJson ($ task ->getHttpRequest ()->getBody ())->command ();
181
+
182
+ return $ decoded ['displayName ' ] === $ closureDisplayName
183
+ && $ command ['queue ' ] === 'barbequeue '
184
+ && $ queueName === 'projects/my-test-project/locations/europe-west6/queues/barbequeue ' ;
185
+ });
186
+
187
+ CloudTasksApi::assertTaskCreated (function (Task $ task , string $ queueName ) use ($ closureDisplayName ): bool {
188
+ $ decoded = json_decode ($ task ->getHttpRequest ()->getBody (), true );
189
+ $ command = IncomingTask::fromJson ($ task ->getHttpRequest ()->getBody ())->command ();
190
+
191
+ return $ decoded ['displayName ' ] === $ closureDisplayName
192
+ && $ command ['queue ' ] === 'my-special-queue '
193
+ && $ queueName === 'projects/my-test-project/locations/europe-west6/queues/my-special-queue ' ;
194
+ });
171
195
}
172
196
173
197
#[Test]
0 commit comments