koel/database/factories/UserFactory.php

43 lines
1 KiB
PHP
Raw Normal View History

<?php
namespace Database\Factories;
use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
class UserFactory extends Factory
{
protected $model = User::class;
2020-12-22 20:11:22 +00:00
/** @return array<mixed> */
public function definition(): array
{
return [
'name' => $this->faker->name,
'email' => $this->faker->email,
'password' => Hash::make('secret'),
'is_admin' => false,
'preferences' => [
'lastfm_session_key' => Str::random(),
],
'remember_token' => Str::random(10),
];
}
2020-12-22 20:11:22 +00:00
public function admin(): self
{
2021-06-05 10:47:56 +00:00
return $this->state(fn () => ['is_admin' => true]); // @phpcs:ignore
}
2024-03-30 16:49:25 +00:00
public function prospect(): self
{
return $this->state(fn () => [ // @phpcs:ignore
'invitation_token' => Str::random(),
'invited_at' => now(),
'invited_by_id' => User::factory()->admin(),
]);
}
}