*/ final class ShiftAssignmentFactory extends Factory { /** @return array */ public function definition(): array { return [ 'shift_id' => Shift::factory(), 'person_id' => Person::factory(), 'time_slot_id' => TimeSlot::factory(), 'status' => ShiftAssignmentStatus::PENDING_APPROVAL, 'auto_approved' => false, 'assigned_at' => now(), ]; } public function approved(): static { return $this->state(fn () => [ 'status' => ShiftAssignmentStatus::APPROVED, 'approved_at' => now(), ]); } public function autoApproved(): static { return $this->state(fn () => [ 'status' => ShiftAssignmentStatus::APPROVED, 'auto_approved' => true, 'approved_at' => now(), ]); } }