chore: initial import for test contour
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
// tests/Integration/Messenger/SchedulerTransportTest.php
|
||||
|
||||
namespace Tests\Service;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
|
||||
use Symfony\Component\Console\Messenger\RunCommandMessage;
|
||||
use Symfony\Component\Messenger\MessageBusInterface;
|
||||
use Symfony\Component\Messenger\Transport\TransportInterface;
|
||||
|
||||
class SchedulerTransportTest extends KernelTestCase
|
||||
{
|
||||
public function testMessageIsSentToSchedulerTransport(): void
|
||||
{
|
||||
self::bootKernel();
|
||||
|
||||
// 1. Получаем MessageBusInterface (правильный способ)
|
||||
/** @var MessageBusInterface $messageBus */
|
||||
$messageBus = self::getContainer()->get(MessageBusInterface::class);
|
||||
|
||||
// 2. Получаем транспорт scheduler_default
|
||||
/** @var TransportInterface $transport */
|
||||
$transport = self::getContainer()->get('messenger.transport.scheduler_default');
|
||||
|
||||
// 3. Очищаем очередь перед тестом (если транспорт поддерживает)
|
||||
if (method_exists($transport, 'reset')) {
|
||||
$transport->reset();
|
||||
}
|
||||
|
||||
// 4. Отправляем сообщение
|
||||
$messageBus->dispatch(new RunCommandMessage('debug:container'));
|
||||
|
||||
// 5. Проверяем очередь
|
||||
$envelopes = $transport->get();
|
||||
$this->assertCount(1, $envelopes);
|
||||
|
||||
$receivedMessage = $envelopes[0]->getMessage();
|
||||
$this->assertInstanceOf(RunCommandMessage::class, $receivedMessage);
|
||||
$this->assertEquals('debug:container', $receivedMessage->getCommand());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user