*/ class UserMailLogFactory extends Factory { /** * Define the model's default state. * * @return array */ public function definition(): array { return [ 'user_id' => User::factory(), 'email_type' => fake()->randomElement(DripEmailType::cases()), 'sent_at' => now(), ]; } public function welcome(): static { return $this->state(fn (array $attributes) => [ 'email_type' => DripEmailType::Welcome, ]); } public function onboardingReminder(): static { return $this->state(fn (array $attributes) => [ 'email_type' => DripEmailType::OnboardingReminder, ]); } public function promoCode(): static { return $this->state(fn (array $attributes) => [ 'email_type' => DripEmailType::PromoCode, ]); } public function importHelp(): static { return $this->state(fn (array $attributes) => [ 'email_type' => DripEmailType::ImportHelp, ]); } public function feedback(): static { return $this->state(fn (array $attributes) => [ 'email_type' => DripEmailType::Feedback, ]); } }