*/ 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' => 'pending_approval', 'auto_approved' => false, ]; } public function approved(): static { return $this->state(fn () => [ 'status' => 'approved', 'approved_at' => now(), ]); } public function autoApproved(): static { return $this->state(fn () => [ 'status' => 'approved', 'auto_approved' => true, 'approved_at' => now(), ]); } }