47 lines
1.6 KiB
PHP
47 lines
1.6 KiB
PHP
<?php
|
|
|
|
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,
|
|
];
|
|
}
|
|
}
|