$this->faker->words(2, true), 'points' => $this->faker->numberBetween(10, 500), 'category' => RewardCategory::REGULAR, 'is_show' => IsShow::SHOW, 'start_date' => $this->faker->dateTimeBetween('now', '+1 week')->format('Y-m-d'), ]; } public function withStock(int $stock): Factory { return $this->state(fn () => ['stock' => $stock]); } public function withEndDate(string $date): Factory { return $this->state(fn () => ['end_date' => $date]); } public function show(): Factory { return $this->state(fn () => ['is_show' => IsShow::SHOW]); } public function hidden(): Factory { return $this->state(fn () => ['is_show' => IsShow::HIDDEN]); } }