57 lines
1.8 KiB
PHP
57 lines
1.8 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Database\Factories;
|
|
|
|
use App\Models\WeddingPackage;
|
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
use Illuminate\Support\Str;
|
|
|
|
/** @extends Factory<WeddingPackage> */
|
|
class WeddingPackageFactory extends Factory
|
|
{
|
|
protected $model = WeddingPackage::class;
|
|
|
|
/** @return array<string, mixed> */
|
|
public function definition(): array
|
|
{
|
|
$name = fake()->unique()->words(2, true);
|
|
|
|
return [
|
|
'name' => $name,
|
|
'slug' => Str::slug($name),
|
|
'level' => 'Assessoria',
|
|
'tag' => fake()->words(2, true),
|
|
'subtitle' => fake()->sentence(),
|
|
'summary' => fake()->sentence(),
|
|
'scope_items' => [fake()->sentence()],
|
|
'cta_label' => 'Conversar sobre esta modalidade',
|
|
'compare_heading' => fake()->words(3, true),
|
|
'compare_summary' => fake()->sentence(),
|
|
'sort_order' => 0,
|
|
'published_at' => null,
|
|
'eyebrow' => 'Assessoria',
|
|
'title_line' => fake()->words(2, true),
|
|
'title_emphasis' => fake()->word(),
|
|
'hero_lead' => fake()->paragraph(),
|
|
'benefits' => [
|
|
['icon_key' => 'checklist', 'label' => fake()->word()],
|
|
],
|
|
'included_items' => [
|
|
['icon_key' => 'checklist', 'title' => fake()->word(), 'description' => fake()->sentence()],
|
|
],
|
|
'audience_heading' => 'Para quem é este pacote',
|
|
'audience_intro' => fake()->paragraph(),
|
|
'audience_points' => [fake()->sentence()],
|
|
'final_cta_heading' => 'Vamos conversar?',
|
|
'final_cta_body' => fake()->paragraph(),
|
|
];
|
|
}
|
|
|
|
public function published(): static
|
|
{
|
|
return $this->state(fn (): array => ['published_at' => now()]);
|
|
}
|
|
}
|