*/ class SourceControlFactory extends Factory { protected $model = SourceControl::class; public function definition(): array { return [ 'access_token' => Str::random(10), 'provider' => \App\Enums\SourceControl::GITHUB, 'profile' => $this->faker->name, 'project_id' => null, ]; } /** * @return Factory<\App\Models\SourceControl> */ public function gitlab(): Factory { return $this->state(fn (array $attributes): array => [ 'provider' => \App\Enums\SourceControl::GITLAB, ]); } /** * @return Factory<\App\Models\SourceControl> */ public function github(): Factory { return $this->state(fn (array $attributes): array => [ 'provider' => \App\Enums\SourceControl::GITHUB, ]); } /** * @return Factory<\App\Models\SourceControl> */ public function bitbucket(): Factory { return $this->state(fn (array $attributes): array => [ 'provider' => \App\Enums\SourceControl::BITBUCKET, ]); } }