ldc-supportweb/database/factories/GitlabIssueFactory.php
2026-06-05 17:05:46 +02:00

50 lines
1.6 KiB
PHP

<?php
declare(strict_types=1);
namespace Database\Factories;
use App\Models\GitlabIssue;
use Illuminate\Database\Eloquent\Factories\Factory;
/**
* Factory for generating GitlabIssue model instances with randomized data.
*
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\GitlabIssue>
*/
class GitlabIssueFactory extends Factory
{
/**
* Associated model.
*
* @var class-string<\App\Models\GitlabIssue>
*/
#[\Override]
protected $model = GitlabIssue::class;
/**
* Define the model's default state.
*
* @return array<string, mixed>
*/
public function definition(): array
{
$isClosed = fake()->boolean(25);
return [
'title' => fake()->unique()->words(3, true),
'url' => fake()->unique()->url(),
'estimate_time' => fake()->boolean(75) ? fake()->numberBetween(1, 32) * 900 : 0,
'spent_time' => fake()->boolean(75) ? fake()->numberBetween(1, 32) * 900 : 0,
'is_closed' => $isClosed,
'gitlab_id' => fake()->unique()->numberBetween(1, 1000),
'gitlab_iid' => fake()->numberBetween(1, 1000),
'milestone_iid' => fake()->boolean(75) ? fake()->numberBetween(1, 1000) : null,
'gitlab_project_id' => fake()->unique()->numberBetween(1, 1000),
'g_created_at' => fake()->date(),
'g_updated_at' => fake()->date(),
'g_closed_at' => $isClosed ? fake()->date() : null,
'g_due_date' => fake()->boolean(25) ? fake()->date() : null,
];
}
}