35 lines
1.1 KiB
PHP
35 lines
1.1 KiB
PHP
|
<?php
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
namespace Database\Factories\Engelsystem\Models\Shifts;
|
||
|
|
||
|
use Engelsystem\Models\Room;
|
||
|
use Engelsystem\Models\Shifts\Shift;
|
||
|
use Engelsystem\Models\Shifts\ShiftType;
|
||
|
use Engelsystem\Models\User\User;
|
||
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
||
|
|
||
|
class ShiftFactory extends Factory
|
||
|
{
|
||
|
/** @var string */
|
||
|
protected $model = Shift::class; // phpcs:ignore
|
||
|
|
||
|
public function definition(): array
|
||
|
{
|
||
|
$start = $this->faker->dateTimeThisMonth('2 weeks');
|
||
|
return [
|
||
|
'title' => $this->faker->unique()->text(15),
|
||
|
'description' => $this->faker->text(),
|
||
|
'url' => $this->faker->url(),
|
||
|
'start' => $start,
|
||
|
'end' => $this->faker->dateTimeInInterval($start, '+3 hours'),
|
||
|
'shift_type_id' => ShiftType::factory(),
|
||
|
'room_id' => Room::factory(),
|
||
|
'transaction_id' => $this->faker->optional()->uuid(),
|
||
|
'created_by' => User::factory(),
|
||
|
'updated_by' => $this->faker->optional(.3)->boolean() ? User::factory() : null,
|
||
|
];
|
||
|
}
|
||
|
}
|