From 7a9d5bfc0767c07c824835b5911688512ed2da04 Mon Sep 17 00:00:00 2001 From: Marcus Moore Date: Wed, 9 Apr 2025 11:18:52 -0700 Subject: [PATCH] Add test for declining assets --- .../Ui/AssetAcceptanceTest.php | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/Feature/CheckoutAcceptances/Ui/AssetAcceptanceTest.php b/tests/Feature/CheckoutAcceptances/Ui/AssetAcceptanceTest.php index 23d2212c5..ed536c704 100644 --- a/tests/Feature/CheckoutAcceptances/Ui/AssetAcceptanceTest.php +++ b/tests/Feature/CheckoutAcceptances/Ui/AssetAcceptanceTest.php @@ -88,6 +88,31 @@ class AssetAcceptanceTest extends TestCase Event::assertDispatched(CheckoutAccepted::class); } + public function testUserCanDeclineAsset() + { + Event::fake([CheckoutAccepted::class]); + + $checkoutAcceptance = CheckoutAcceptance::factory()->pending()->create(); + + $this->assertTrue($checkoutAcceptance->isPending()); + + $this->actingAs($checkoutAcceptance->assignedTo) + ->post(route('account.store-acceptance', $checkoutAcceptance), [ + 'asset_acceptance' => 'declined', + 'note' => 'my note', + ]) + ->assertRedirectToRoute('account.accept') + ->assertSessionHas('success'); + + $checkoutAcceptance->refresh(); + + $this->assertFalse($checkoutAcceptance->isPending()); + $this->assertNull($checkoutAcceptance->accepted_at); + $this->assertNotNull($checkoutAcceptance->declined_at); + + Event::assertNotDispatched(CheckoutAccepted::class); + } + public function testActionLoggedWhenAcceptingAsset() { $checkoutAcceptance = CheckoutAcceptance::factory()->pending()->create();