*/ class GoalFactory extends Factory { protected $model = Goal::class; /** * Define the model's default state. * * @return array */ public function definition(): array { $type = fake()->randomElement(GoalType::cases()); return [ 'user_id' => User::factory(), 'type' => $type, 'target' => match ($type) { GoalType::WeeklySessions => fake()->numberBetween(2, 6), GoalType::WeeklyMinutes => fake()->numberBetween(60, 300), GoalType::WeeklyVolume => fake()->numberBetween(1000, 10000), }, 'period' => GoalPeriod::Week, 'is_active' => fake()->boolean(85), ]; } }