Certified/database/factories/CertificateFactory.php
Joël van de Wouw ac340d125c
Some checks failed
linter / quality (push) Failing after 13s
tests / ci (8.3) (push) Failing after 2s
tests / ci (8.4) (push) Failing after 2s
tests / ci (8.5) (push) Failing after 3s
Initial commit
Certificate manager built on Laravel 13, Livewire 4, and Flux.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 14:44:58 +02:00

45 lines
1.1 KiB
PHP

<?php
namespace Database\Factories;
use App\Models\Certificate;
use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;
/**
* @extends Factory<Certificate>
*/
class CertificateFactory extends Factory
{
/**
* @return array<string, mixed>
*/
public function definition(): array
{
return [
'user_id' => User::factory(),
'category_id' => null,
'title' => fake()->sentence(3),
'issuer' => fake()->company(),
'certificate_number' => fake()->bothify('CERT-####-????'),
'issued_at' => fake()->dateTimeBetween('-2 years', '-1 month'),
'file_path' => null,
'expires_at' => fake()->dateTimeBetween('+2 months', '+2 years'),
'notes' => null,
];
}
public function expired(): static
{
return $this->state(fn (array $attributes) => [
'expires_at' => fake()->dateTimeBetween('-2 years', '-1 day'),
]);
}
public function expiringSoon(): static
{
return $this->state(fn (array $attributes) => [
'expires_at' => today()->addWeeks(2),
]);
}
}