thenShouldPublishExpectedMessageToExpectedProducerRouteKey()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 12
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 8
nc 1
nop 1
1
<?php declare(strict_types = 1);
2
3
namespace TomCizek\SymfonyProoph\Tests\AsynchronousMessages;
4
5
use Prooph\Common\Messaging\Message;
6
use TomCizek\SymfonyProoph\Tests\AsynchronousMessages\FakeImplementations\TestAsynchronousMessageProducerBridge;
7
use TomCizek\SymfonyProoph\Tests\Configurators\ProophTestCase;
8
use TomCizek\SymfonyProoph\Tests\EventSourcing\FakeImplementations\TestAggregateCreated;
9
10
abstract class AbstractAsynchronousMessagesTestCase extends ProophTestCase
11
{
12
	protected function thenShouldPublishExpectedMessageToExpectedProducerRouteKey($expectedProducerRouteKey): void
13
	{
14
		$publishedMessagesDump = $this->getPublishedEventsFromTestBridge();
15
16
		self::assertCount(1, $publishedMessagesDump);
17
		$publishedProducerRouteKey = $publishedMessagesDump[0][TestAsynchronousMessageProducerBridge::KEY_ROUTING_KEY];
18
		/** @var Message $publishedMessage */
19
		$publishedMessage = $publishedMessagesDump[0][TestAsynchronousMessageProducerBridge::KEY_MESSAGE];
20
		self::assertEquals($publishedProducerRouteKey, $expectedProducerRouteKey);
21
		self::assertEquals($publishedMessage->messageName(), TestAggregateCreated::class);
22
		self::assertEquals($publishedMessage->payload(), TestAggregateCreated::TEST_PAYLOAD);
23
	}
24
25
	abstract protected function getPublishedEventsFromTestBridge(): array;
26
}
27