From 856ba52f3673e77833ffd4aa8f9ec84797a08bfd Mon Sep 17 00:00:00 2001 From: Marcus Moore Date: Wed, 16 Jul 2025 12:43:56 -0700 Subject: [PATCH] Delete requests when asset is deleted --- app/Models/Asset.php | 11 +++++++++++ tests/Unit/Models/CheckoutRequestTest.php | 4 ---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/Models/Asset.php b/app/Models/Asset.php index 0f6becd835..e63108f787 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -204,6 +204,17 @@ class Asset extends Depreciable 'model.manufacturer' => ['name'], ]; + protected static function booted(): void + { + static::forceDeleted(function (Asset $asset) { + $asset->requests()->forceDelete(); + }); + + static::softDeleted(function (Asset $asset) { + $asset->requests()->delete(); + }); + } + // To properly set the expected checkin as Y-m-d public function setExpectedCheckinAttribute($value) { diff --git a/tests/Unit/Models/CheckoutRequestTest.php b/tests/Unit/Models/CheckoutRequestTest.php index 4d4d8cbc9b..71e1215b3a 100644 --- a/tests/Unit/Models/CheckoutRequestTest.php +++ b/tests/Unit/Models/CheckoutRequestTest.php @@ -10,8 +10,6 @@ class CheckoutRequestTest extends TestCase { public function test_checkout_request_soft_deleted_when_requested_asset_soft_deleted() { - $this->markTestIncomplete(); - $checkoutRequest = CheckoutRequest::factory()->create(); $requestedAsset = $checkoutRequest->requestedItem; @@ -25,8 +23,6 @@ class CheckoutRequestTest extends TestCase public function test_checkout_request_deleted_when_requested_asset_force_deleted() { - $this->markTestIncomplete(); - $checkoutRequest = CheckoutRequest::factory()->create(); $requestedAsset = $checkoutRequest->requestedItem;