diff --git a/app/Http/Requests/UpdateAssetRequest.php b/app/Http/Requests/UpdateAssetRequest.php index 97282036fa..33d69f2ba2 100644 --- a/app/Http/Requests/UpdateAssetRequest.php +++ b/app/Http/Requests/UpdateAssetRequest.php @@ -36,30 +36,29 @@ class UpdateAssetRequest extends ImageUploadRequest */ public function rules() { - $rules = [ - 'model_id' => 'integer|exists:models,id,deleted_at,NULL|not_array', - 'status_id' => 'integer|exists:status_labels,id', + return [ + 'model_id' => ['integer', 'exists:models,id,deleted_at,NULL', 'not_array'], + 'status_id' => ['integer', 'exists:status_labels,id'], 'asset_tag' => ['min:1', 'max:255', 'not_array', Rule::unique('assets', 'asset_tag')->ignore($this->asset)->withoutTrashed()], - 'name' => 'nullable|max:255', - 'company_id' => 'nullable|integer|exists:companies,id', - 'warranty_months' => 'nullable|numeric|digits_between:0,240', - 'last_checkout' => 'nullable|date_format:Y-m-d H:i:s', - 'expected_checkin' => 'nullable|date', - 'location_id' => 'nullable|exists:locations,id', - 'rtd_location_id' => 'nullable|exists:locations,id', - 'purchase_date' => 'nullable|date|date_format:Y-m-d', - 'serial' => 'nullable|unique_undeleted:assets,serial', - 'purchase_cost' => 'nullable|numeric|gte:0', - 'supplier_id' => 'nullable|exists:suppliers,id', - 'asset_eol_date' => 'nullable|date', - 'eol_explicit' => 'nullable|boolean', - 'byod' => 'nullable|boolean', - 'order_number' => 'nullable|string|max:191', - 'notes' => 'nullable|string|max:65535', - 'assigned_to' => 'nullable|integer', - 'requestable' => 'nullable|boolean', + 'name' => ['nullable', 'max:255'], + 'company_id' => ['nullable', 'integer', 'exists:companies,id'], + 'warranty_months' => ['nullable', 'numeric', 'digits_between:0,240'], + 'last_checkout' => ['nullable', 'date_format:Y-m-d H:i:s'], + 'expected_checkin' => ['nullable', 'date'], + 'location_id' => ['nullable', 'exists:locations,id'], + 'rtd_location_id' => ['nullable', 'exists:locations,id'], + 'purchase_date' => ['nullable', 'date', 'date_format:Y-m-d'], + 'serial' => ['nullable', 'unique_undeleted:assets,serial'], + 'purchase_cost' => ['nullable', 'numeric', 'gte:0'], + 'supplier_id' => ['nullable', 'exists:suppliers,id'], + 'asset_eol_date' => ['nullable', 'date'], + 'eol_explicit' => ['nullable', 'boolean'], + 'byod' => ['nullable', 'boolean'], + 'order_number' => ['nullable', 'string', 'max:191'], + 'notes' => ['nullable', 'string', 'max:65535'], + 'assigned_to' => ['nullable', 'integer'], + 'requestable' => ['nullable', 'boolean'], + parent::rules(), ]; - - return $rules; } } diff --git a/tests/Feature/Api/Assets/AssetUpdateTest.php b/tests/Feature/Api/Assets/AssetUpdateTest.php index 76f4a027ff..9cec103628 100644 --- a/tests/Feature/Api/Assets/AssetUpdateTest.php +++ b/tests/Feature/Api/Assets/AssetUpdateTest.php @@ -105,10 +105,11 @@ class AssetUpdateTest extends TestCase public function testAssetEolDateIsCalculatedIfPurchaseDateUpdated() { - $asset = Asset::factory()->laptopMbp()->create(); + $asset = Asset::factory()->laptopMbp()->noPurchaseOrEolDate()->create(); $this->settings->enableAutoIncrement(); + $this->actingAsForApi(User::factory()->editAssets()->create()) ->patchJson((route('api.assets.update', $asset->id)), [ 'purchase_date' => '2021-01-01', @@ -119,7 +120,6 @@ class AssetUpdateTest extends TestCase $asset->refresh(); - // what's the problem here? logic problem? might need to skip this for this PR $this->assertEquals('2024-01-01', $asset->asset_eol_date); }