*/ class BaselineProfileFactory extends Factory { protected $model = BaselineProfile::class; /** * @return array */ public function definition(): array { return [ 'workspace_id' => Workspace::factory(), 'name' => fake()->unique()->words(3, true), 'description' => fake()->optional()->sentence(), 'version_label' => fake()->optional()->numerify('v#.#'), 'status' => BaselineProfile::STATUS_DRAFT, 'scope_jsonb' => ['policy_types' => []], 'active_snapshot_id' => null, 'created_by_user_id' => null, ]; } public function active(): static { return $this->state(fn (): array => [ 'status' => BaselineProfile::STATUS_ACTIVE, ]); } public function archived(): static { return $this->state(fn (): array => [ 'status' => BaselineProfile::STATUS_ARCHIVED, ]); } public function withScope(array $policyTypes): static { return $this->state(fn (): array => [ 'scope_jsonb' => ['policy_types' => $policyTypes], ]); } public function createdBy(User $user): static { return $this->state(fn (): array => [ 'created_by_user_id' => $user->getKey(), ]); } }