feat(seeder): update featured groups configuration with product and group layouts

This commit is contained in:
2026-07-24 10:42:27 -03:00
parent c1be9ecf7f
commit 18c23a112a
2 changed files with 55 additions and 23 deletions

View File

@@ -6,6 +6,7 @@ use App\Domains\Attachable\Enums\AttachmentType;
use App\Domains\Attachable\Models\Attachment;
use App\Domains\Catalog\Enums\CatalogItemType;
use App\Domains\Catalog\Enums\GroupLayout;
use App\Domains\Catalog\Enums\ProductLayout;
use App\Domains\Catalog\Models\Attribute;
use App\Domains\Catalog\Models\CatalogItem;
use App\Domains\Catalog\Models\FeaturedGroup;
@@ -122,6 +123,12 @@ class FiestaFutbolInfantilProductSeederTest extends TestCase
$this->assertSame(9, CatalogItem::query()->where('tenant_code', $tenant->codigo)->count());
$this->assertSame(10, Inventory::query()->count());
$featuredGroups = FeaturedGroup::query()
->where('tenant_code', $tenant->codigo)
->with('featuredItems.catalogItem')
->orderBy('group_order')
->get();
$this->assertSame(
[
'Entradas' => ['entrada-general', 'entrada-general-todos-los-dias'],
@@ -129,19 +136,28 @@ class FiestaFutbolInfantilProductSeederTest extends TestCase
'Comidas' => ['hamburguesa-papa-frita', 'pancho', 'combo-2-panchos-2-hamburguesas'],
'Bebidas' => ['coca-cola-500ml', 'agua-mineral-1l'],
],
FeaturedGroup::query()
->where('tenant_code', $tenant->codigo)
->with('featuredItems.catalogItem')
->orderBy('group_order')
->get()
->each(fn (FeaturedGroup $group) => $this->assertSame(
GroupLayout::Paginated,
$group->group_layout,
))
$featuredGroups
->mapWithKeys(fn (FeaturedGroup $group): array => [
$group->group_name => $group->featuredItems->pluck('catalogItem.slug')->all(),
])
->all()
);
$this->assertSame(
[
['Entradas', ProductLayout::Row, GroupLayout::SimpleVertical, 0],
['Estacionamiento', ProductLayout::ColumnWithCart, GroupLayout::Simple, 1],
['Comidas', ProductLayout::ColumnWithCart, GroupLayout::Simple, 2],
['Bebidas', ProductLayout::ColumnWithCart, GroupLayout::Simple, 3],
],
$featuredGroups
->map(fn (FeaturedGroup $group): array => [
$group->group_name,
$group->product_layout,
$group->group_layout,
$group->group_order,
])
->all()
);
}
}