create(); $submission->apply_status = ApplyStatus::COMPLETED; $submission->save(); $reloaded = FormSubmission::query()->find($submission->id); $this->assertSame(ApplyStatus::COMPLETED, $reloaded->apply_status); } public function test_apply_status_null_round_trip(): void { $submission = FormSubmission::factory()->create(); $this->assertNull($submission->apply_status); $submission->apply_status = null; $submission->save(); $reloaded = FormSubmission::query()->find($submission->id); $this->assertNull($reloaded->apply_status); } public function test_legacy_seed_row_without_apply_status_remains_null(): void { $organisation = Organisation::factory()->create(); $schema = FormSchema::factory()->for($organisation)->create(); $id = (string) Str::ulid(); DB::table('form_submissions')->insert([ 'id' => $id, 'form_schema_id' => $schema->id, 'organisation_id' => $organisation->id, 'status' => 'submitted', 'is_test' => false, 'auto_save_count' => 0, 'created_at' => now(), 'updated_at' => now(), ]); $reloaded = FormSubmission::query()->find($id); $this->assertNull($reloaded->apply_status); } public function test_pending_apply_scope_filters_correctly(): void { FormSubmission::factory()->create(['apply_status' => ApplyStatus::PENDING]); FormSubmission::factory()->create(['apply_status' => ApplyStatus::COMPLETED]); FormSubmission::factory()->create(['apply_status' => ApplyStatus::FAILED]); FormSubmission::factory()->create(); // null $pending = FormSubmission::query()->pendingApply()->get(); $this->assertCount(1, $pending); $this->assertSame(ApplyStatus::PENDING, $pending->first()->apply_status); } }