29 lines
1.0 KiB
PHP
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');
|
|
}
|
|
} |