From d10b91fe48c35afa4752b9568fd287d1be14fc22 Mon Sep 17 00:00:00 2001 From: K Muller Date: Fri, 25 Sep 2026 12:40:57 +0200 Subject: [PATCH] fix: :bug: delete the assert on RejectCampaignRequest UseCase --- .../Reject/RejectCampaignRequest.php | 4 ---- .../Reject/RejectCampaignRequestTest.php | 17 +++++++++++------ 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/Application/UseCases/CampaignRequest/Reject/RejectCampaignRequest.php b/src/Application/UseCases/CampaignRequest/Reject/RejectCampaignRequest.php index 5deb8f6..8b8bca1 100644 --- a/src/Application/UseCases/CampaignRequest/Reject/RejectCampaignRequest.php +++ b/src/Application/UseCases/CampaignRequest/Reject/RejectCampaignRequest.php @@ -8,7 +8,6 @@ use Application\UseCases\CampaignRequest\Reject\Output\CampaignRequestNotFound; use Application\UseCases\CampaignRequest\Reject\Output\CampaignRequestRejected; use Application\UseCases\CampaignRequest\Reject\Output\Output; use Domain\Models\Entities\CampaignRequest; -use Domain\Models\ValueObjects\CampaignRequest\RejectionReason; use Domain\Ports\Repositories\CampaignRequestRepository; use Shared\DDD\UseCases\Input as BaseInput; use Shared\DDD\UseCases\Transactional; @@ -38,9 +37,6 @@ final readonly class RejectCampaignRequest implements UseCase, Transactional $this->repository->save($campaignRequest); - Assert::isInstanceOf($campaignRequest->rejectionReason, RejectionReason::class); - Assert::notNull($campaignRequest->updatedAt()); - return new CampaignRequestRejected( id: $campaignRequest->id(), status: $campaignRequest->status, diff --git a/tests/Unit/Application/UseCases/CampaignRequest/Reject/RejectCampaignRequestTest.php b/tests/Unit/Application/UseCases/CampaignRequest/Reject/RejectCampaignRequestTest.php index 5ffaa68..ba7b712 100644 --- a/tests/Unit/Application/UseCases/CampaignRequest/Reject/RejectCampaignRequestTest.php +++ b/tests/Unit/Application/UseCases/CampaignRequest/Reject/RejectCampaignRequestTest.php @@ -83,7 +83,7 @@ describe('reject campaign request use case', function (): void { $repository = \Mockery::mock(CampaignRequestRepository::class); $repository->shouldReceive('findById')->once()->with($id)->andReturn($campaignRequest); $repository->shouldReceive('save')->once()->with(\Mockery::on( - fn (CampaignRequest $saved): bool => $saved->status === CampaignRequestStatus::REJECTED + fn(CampaignRequest $saved): bool => $saved->status === CampaignRequestStatus::REJECTED && $saved->rejectionReason === $reason && $saved->updatedAt !== null, )); @@ -139,7 +139,7 @@ describe('reject campaign request use case', function (): void { $useCase = new RejectCampaignRequest($repository); // WHEN - $action = fn (): Output => $useCase->execute( + $action = fn(): Output => $useCase->execute( new Input(id: $id, reason: new RejectionReason('Missing legal documents.')) ); @@ -149,16 +149,21 @@ describe('reject campaign request use case', function (): void { }); describe('reject campaign request use case assertions', function (): void { + it('cannot build an input to reject a campaign request without a reason', function (): void { + // WHEN + $action = fn(): Input => new Input(id: CampaignRequestId::generate()); + + // THEN + expect($action)->toThrow(\ArgumentCountError::class); + }); it('rejects an input of the wrong type', 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); + $action = fn(): Output => $useCase->execute($invalidInput); // THEN expect($action)->toThrow(\InvalidArgumentException::class);