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;