AbstractAsynchronousMessagesTestCase   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 1
lcom 1
cbo 2
dl 0
loc 17
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A thenShouldPublishExpectedMessageToExpectedProducerRouteKey() 0 12 1
getPublishedEventsFromTestBridge() 0 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