diff --git a/tests/LaunchJobMessageHandlerTest.php b/tests/LaunchJobMessageHandlerTest.php index 109fcb0..f43dc77 100644 --- a/tests/LaunchJobMessageHandlerTest.php +++ b/tests/LaunchJobMessageHandlerTest.php @@ -5,24 +5,26 @@ namespace Yokai\Batch\Tests\Bridge\Symfony\Messenger; use PHPUnit\Framework\TestCase; -use Prophecy\PhpUnit\ProphecyTrait; use Yokai\Batch\Bridge\Symfony\Messenger\LaunchJobMessage; use Yokai\Batch\Bridge\Symfony\Messenger\LaunchJobMessageHandler; -use Yokai\Batch\JobExecution; -use Yokai\Batch\Launcher\JobLauncherInterface; +use Yokai\Batch\Test\Factory\SequenceJobExecutionIdGenerator; +use Yokai\Batch\Test\Launcher\BufferingJobLauncher; final class LaunchJobMessageHandlerTest extends TestCase { - use ProphecyTrait; - public function testInvoke(): void { - $jobLauncher = $this->prophesize(JobLauncherInterface::class); - $jobLauncher->launch('foo', ['bar' => 'BAR']) - ->shouldBeCalled() - ->willReturn(JobExecution::createRoot('123456', 'foo')); + $launcher = new BufferingJobLauncher(new SequenceJobExecutionIdGenerator(['123456'])); - $handler = new LaunchJobMessageHandler($jobLauncher->reveal()); + $handler = new LaunchJobMessageHandler($launcher); $handler->__invoke(new LaunchJobMessage('foo', ['bar' => 'BAR'])); + + self::assertCount(1, $launcher->getExecutions()); + self::assertSame('foo', $launcher->getExecutions()[0]->getJobName()); + self::assertSame('123456', $launcher->getExecutions()[0]->getId()); + self::assertSame( + ['bar' => 'BAR', '_id' => '123456'], + \iterator_to_array($launcher->getExecutions()[0]->getParameters()->getIterator()) + ); } }