Files
travel/database/factories/TravelRequestApprovalFactory.php
Tim Basten 564f78dcda
All checks were successful
linter / quality (push) Successful in 1m37s
tests / ci (8.4) (push) Successful in 2m13s
tests / ci (8.5) (push) Successful in 1m25s
initial
2026-03-05 11:41:39 +08:00

47 lines
1.2 KiB
PHP

<?php
namespace Database\Factories;
use App\Enums\ApprovalStatus;
use App\Models\ApprovalStep;
use App\Models\TravelRequest;
use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;
/**
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\TravelRequestApproval>
*/
class TravelRequestApprovalFactory extends Factory
{
public function definition(): array
{
return [
'travel_request_id' => TravelRequest::factory(),
'approval_step_id' => ApprovalStep::factory(),
'approver_id' => null,
'status' => ApprovalStatus::Pending,
'comments' => null,
'acted_at' => null,
];
}
public function approved(): static
{
return $this->state([
'status' => ApprovalStatus::Approved,
'approver_id' => User::factory(),
'acted_at' => now(),
]);
}
public function rejected(): static
{
return $this->state([
'status' => ApprovalStatus::Rejected,
'approver_id' => User::factory(),
'comments' => fake()->sentence(),
'acted_at' => now(),
]);
}
}