From 74a45da08a663c983efc25f302d38dbfbd77a5cb Mon Sep 17 00:00:00 2001 From: Ramon de la Fuente Date: Sat, 30 Sep 2017 00:58:48 +0200 Subject: [PATCH] Add HerdWasRenamed event to the model --- .../Model/Events/HerdWasRenamedSpec.php | 28 ++++++++++++++++ .../Herding/Model/Events/HerdWasRenamed.php | 32 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 spec/Elewant/Herding/Model/Events/HerdWasRenamedSpec.php create mode 100644 src/Elewant/Herding/Model/Events/HerdWasRenamed.php diff --git a/spec/Elewant/Herding/Model/Events/HerdWasRenamedSpec.php b/spec/Elewant/Herding/Model/Events/HerdWasRenamedSpec.php new file mode 100644 index 00000000..6ff109f5 --- /dev/null +++ b/spec/Elewant/Herding/Model/Events/HerdWasRenamedSpec.php @@ -0,0 +1,28 @@ +beConstructedThrough( + 'tookPlace', + [ + $herdId, + 'new herd name', + ] + ); + + $this->shouldHaveType(HerdWasRenamed::class); + $this->aggregateId()->shouldReturn($herdId->toString()); + $this->herdId()->shouldEqual($herdId); + $this->newHerdName()->shouldEqual('new herd name'); + } +} diff --git a/src/Elewant/Herding/Model/Events/HerdWasRenamed.php b/src/Elewant/Herding/Model/Events/HerdWasRenamed.php new file mode 100644 index 00000000..92d4d2a5 --- /dev/null +++ b/src/Elewant/Herding/Model/Events/HerdWasRenamed.php @@ -0,0 +1,32 @@ +toString(), + [ + 'newHerdName' => $newHerdName, + ] + ); + } + + public function herdId(): HerdId + { + return HerdId::fromString($this->aggregateId()); + } + + public function newHerdName(): string + { + return $this->payload['newHerdName']; + } + +}