From b54784e47c2ef7b809337804a80e446df209c3a5 Mon Sep 17 00:00:00 2001 From: James Brooks Date: Thu, 11 Jun 2026 13:26:59 +0100 Subject: [PATCH] Make incident status optional in create validation The CreateIncidentRequestData validation rules marked `status` as `required`, but the field is optional everywhere else: the constructor defaults it to null, the `incidents.status` column is nullable, and UpdateIncidentRequestData treats it as optional. Incidents created without a status are a valid state (rendered as "reported"). With the workbench's `validation_strategy: Always` and spatie/laravel-data structure caching shared across parallel test workers, the `required` rule could intermittently apply to status-less payloads, failing CreateIncidentTest with "The status field is required." in CI. Aligns the rule with the rest of the codebase by making status nullable. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/Data/Requests/Incident/CreateIncidentRequestData.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Data/Requests/Incident/CreateIncidentRequestData.php b/src/Data/Requests/Incident/CreateIncidentRequestData.php index 3ea71fc1..9f7526a4 100644 --- a/src/Data/Requests/Incident/CreateIncidentRequestData.php +++ b/src/Data/Requests/Incident/CreateIncidentRequestData.php @@ -44,7 +44,7 @@ public static function rules(ValidationContext $context): array 'name' => ['required', 'string', 'max:255'], 'message' => ['required_without:template', 'string'], 'template' => ['required_without:message', 'string'], - 'status' => ['required', Rule::enum(IncidentStatusEnum::class)], + 'status' => ['nullable', Rule::enum(IncidentStatusEnum::class)], 'visible' => ['boolean'], 'stickied' => ['boolean'], 'notifications' => ['boolean'],