diff --git a/tests/Fakes/Carrier/FakeCarrierRepository.php b/tests/Fakes/Carrier/FakeCarrierRepository.php new file mode 100644 index 0000000..4d6ec69 --- /dev/null +++ b/tests/Fakes/Carrier/FakeCarrierRepository.php @@ -0,0 +1,39 @@ +existingCarriers as $carrier) { + if ($carrier->getId() === $id) { + return new Carrier($id, $carrier->getEmail()); + } + } + + return null; + } + + public function save(Carrier $carrier): Carrier + { + $id = $carrier->getId(); + if ($id === null) { + $id = $this->autoIncrementId(); + $carrier->setId($id); + } + $this->existingCarriers[$id] = $carrier; + + return new Carrier($id, $carrier->getEmail()); + } + + private function autoIncrementId(): int + { + return count($this->existingCarriers); + } +}