Files
backend/tests/Service/MessageSenderServiceTest.php
2026-05-27 19:36:32 +03:00

29 lines
1.0 KiB
PHP

<?php
namespace Tests\Service;
use App\Service\MessageSender\MessageSenderService;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Console\Messenger\RunCommandMessage;
use Symfony\Component\Messenger\Envelope;
use Symfony\Component\Messenger\MessageBusInterface;
class MessageSenderServiceTest extends TestCase
{
public function testSendCommandDispatchesMessage(): void
{
// 1. Создаем mock для MessageBusInterface
$messageBus = $this->createMock(MessageBusInterface::class);
// 2. Ожидаем, что dispatch() будет вызван с правильным сообщением
$expectedMessage = new RunCommandMessage('debug:container');
$messageBus->expects($this->once())
->method('dispatch')
->with($expectedMessage)
->willReturn(new Envelope($expectedMessage));
// 3. Тестируемый сервис
$service = new MessageSenderService($messageBus);
$service->sendCommand('debug:container');
}
}