From 90653162adb8c4f9d6b7a60567d9a824953db746 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Kr=C3=A4mer?= Date: Sat, 13 Jul 2024 21:59:31 +0200 Subject: [PATCH] Refactoring the tests --- .gitignore | 2 +- tests/EventTest.php | 105 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 tests/EventTest.php diff --git a/.gitignore b/.gitignore index f8dbdcb..07d7c2b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ .idea /vendor/ /bin/ +/tmp/ /.phpunit.cache/ infection.log .env - diff --git a/tests/EventTest.php b/tests/EventTest.php new file mode 100644 index 0000000..36b86be --- /dev/null +++ b/tests/EventTest.php @@ -0,0 +1,105 @@ + 123]; + $createdAt = new DateTimeImmutable('now'); + $correlationId = 'correlation-id-1'; + $stream = 'user-stream'; + $metaData = ['key' => 'value']; + + $eventObject = new Event( + $aggregateId, + $aggregateVersion, + $event, + $payload, + $createdAt, + $correlationId, + $stream, + $metaData + ); + + $this->assertInstanceOf(EventInterface::class, $eventObject); + $this->assertEquals($aggregateId, $eventObject->getAggregateId()); + $this->assertEquals($aggregateVersion, $eventObject->getAggregateVersion()); + $this->assertEquals($event, $eventObject->getEvent()); + $this->assertEquals($payload, $eventObject->getPayload()); + $this->assertEquals($createdAt, $eventObject->getCreatedAt()); + $this->assertEquals($correlationId, $eventObject->getCorrelationId()); + $this->assertEquals($stream, $eventObject->getStream()); + $this->assertEquals($metaData, $eventObject->getMetaData()); + } + + public function testDefaultValues(): void + { + $aggregateId = 'aggregate-id-1'; + $aggregateVersion = 1; + $event = 'UserRegistered'; + $payload = ['user_id' => 123]; + $createdAt = new DateTimeImmutable('now'); + + $eventObject = new Event( + $aggregateId, + $aggregateVersion, + $event, + $payload, + $createdAt + ); + + $this->assertEquals('', $eventObject->getCorrelationId()); + $this->assertNull($eventObject->getStream()); + $this->assertEquals([], $eventObject->getMetaData()); + } + + public function testToArray(): void + { + $aggregateId = 'aggregate-id-1'; + $aggregateVersion = 1; + $event = 'UserRegistered'; + $payload = ['user_id' => 123]; + $createdAt = new DateTimeImmutable('now'); + $correlationId = 'correlation-id-1'; + $stream = 'user-stream'; + $metaData = ['key' => 'value']; + + $eventObject = new Event( + $aggregateId, + $aggregateVersion, + $event, + $payload, + $createdAt, + $correlationId, + $stream, + $metaData + ); + + $expectedArray = [ + EventInterface::STREAM => $stream, + EventInterface::AGGREGATE_ID => $aggregateId, + EventInterface::VERSION => $aggregateVersion, + EventInterface::EVENT => $event, + EventInterface::PAYLOAD => $payload, + EventInterface::CREATED_AT => $createdAt->format(EventInterface::CREATED_AT_FORMAT), + EventInterface::CORRELATION_ID => $correlationId + ]; + + $this->assertEquals($expectedArray, $eventObject->toArray()); + } +}