From f2fb5d8a236f971d61a3d85abc6307d8f18d5f95 Mon Sep 17 00:00:00 2001 From: K Muller Date: Mon, 28 Sep 2026 14:32:19 +0200 Subject: [PATCH] fix: :bug: fix linters --- .../Reject/Output/CampaignRequestRejected.php | 2 +- .../CampaignRequest/Reject/RejectCampaignRequest.php | 2 +- src/Domain/Models/Entities/CampaignRequest.php | 9 +++++++++ .../CampaignRequest/Reject/RejectCampaignRequestTest.php | 3 ++- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/Application/UseCases/CampaignRequest/Reject/Output/CampaignRequestRejected.php b/src/Application/UseCases/CampaignRequest/Reject/Output/CampaignRequestRejected.php index ceca5c6..dcf3a78 100644 --- a/src/Application/UseCases/CampaignRequest/Reject/Output/CampaignRequestRejected.php +++ b/src/Application/UseCases/CampaignRequest/Reject/Output/CampaignRequestRejected.php @@ -14,7 +14,7 @@ final readonly class CampaignRequestRejected implements Output public CampaignRequestId $id, public CampaignRequestStatus $status, public RejectionReason $rejectionReason, - public \DateTimeInterface $updatedAt, + public ?\DateTimeInterface $updatedAt = null ) { } } diff --git a/src/Application/UseCases/CampaignRequest/Reject/RejectCampaignRequest.php b/src/Application/UseCases/CampaignRequest/Reject/RejectCampaignRequest.php index 8b8bca1..ac717f3 100644 --- a/src/Application/UseCases/CampaignRequest/Reject/RejectCampaignRequest.php +++ b/src/Application/UseCases/CampaignRequest/Reject/RejectCampaignRequest.php @@ -40,7 +40,7 @@ final readonly class RejectCampaignRequest implements UseCase, Transactional return new CampaignRequestRejected( id: $campaignRequest->id(), status: $campaignRequest->status, - rejectionReason: $campaignRequest->rejectionReason, + rejectionReason:$campaignRequest->rejectionReason(), updatedAt: $campaignRequest->updatedAt(), ); } diff --git a/src/Domain/Models/Entities/CampaignRequest.php b/src/Domain/Models/Entities/CampaignRequest.php index 68e6cfd..399ac65 100644 --- a/src/Domain/Models/Entities/CampaignRequest.php +++ b/src/Domain/Models/Entities/CampaignRequest.php @@ -104,4 +104,13 @@ final readonly class CampaignRequest implements AggregateRoot, HasTimestampIdent updatedAt: DatesHelper::now(), ); } + + public function rejectionReason(): RejectionReason + { + if (! $this->rejectionReason instanceof RejectionReason) { + throw new \DomainException('Only a rejected campaign request has a rejection reason.'); + } + + return $this->rejectionReason; + } } diff --git a/tests/Unit/Application/UseCases/CampaignRequest/Reject/RejectCampaignRequestTest.php b/tests/Unit/Application/UseCases/CampaignRequest/Reject/RejectCampaignRequestTest.php index da83261..652ff31 100644 --- a/tests/Unit/Application/UseCases/CampaignRequest/Reject/RejectCampaignRequestTest.php +++ b/tests/Unit/Application/UseCases/CampaignRequest/Reject/RejectCampaignRequestTest.php @@ -158,7 +158,8 @@ describe('reject campaign request use case assertions', function (): void { // GIVEN $repository = \Mockery::mock(CampaignRequestRepository::class); $useCase = new RejectCampaignRequest($repository); - $invalidInput = new class() implements BaseInput {}; + $invalidInput = new class () implements BaseInput { + }; // WHEN $action = fn(): Output => $useCase->execute($invalidInput);