*/ class UserFactory extends Factory { /** * The current password being used by the factory. */ protected static ?string $password; /** * Define the model's default state. * * @return array */ public function definition(): array { $judingPrefPossibilities = [ 'woodwinds', 'flute', 'clarinet', 'saxophones', 'low clarinets', 'oboe', 'bassoon', 'double reeds', 'brass', 'low brass', 'trumpet', 'trombone', 'horn', 'tuba', 'euphonium', 'percussion', ]; return [ 'first_name' => fake()->firstName(), 'last_name' => fake()->lastName(), 'email' => fake()->unique()->email(), 'judging_preference' => fake()->randomElement($judingPrefPossibilities), 'cell_phone' => fake()->phoneNumber(), 'profile_image_url' => 'https://picsum.photos/200', 'email_verified_at' => now(), 'password' => static::$password ??= Hash::make('password'), 'remember_token' => Str::random(10), ]; } /** * Indicate that the model's email address should be unverified. */ public function unverified(): static { return $this->state(fn (array $attributes) => [ 'email_verified_at' => null, ]); } public function admin(): static { return $this->state(fn (array $attributes) => [ 'is_admin' => 1, ]); } public function tab(): static { return $this->state(fn (array $attributes) => [ 'is_tab' => 1, ]); } }