refactor(catalog): add ticket_label to item attributes and update related logic
This commit is contained in:
@@ -26,6 +26,7 @@ class CatalogSchemaTest extends TestCase
|
||||
$this->assertTrue(Schema::hasTable('item_attributes'));
|
||||
$this->assertTrue(Schema::hasColumn('item_attributes', 'sort_order'));
|
||||
$this->assertTrue(Schema::hasColumn('item_attributes', 'show_in_selector'));
|
||||
$this->assertTrue(Schema::hasColumn('item_attributes', 'ticket_label'));
|
||||
$this->assertTrue(Schema::hasTable('variant_values'));
|
||||
}
|
||||
|
||||
|
||||
@@ -196,6 +196,26 @@ class CatalogServiceTest extends TestCase
|
||||
$this->assertFalse($item->itemAttributes->sole()->show_in_selector);
|
||||
}
|
||||
|
||||
public function test_it_can_configure_an_attribute_label_for_ticket_names(): void
|
||||
{
|
||||
$attribute = $this->createAttribute('sector');
|
||||
|
||||
$item = $this->service->create([
|
||||
'tenant_code' => $this->tenant->codigo,
|
||||
'slug' => 'ticket-labeled-attribute-item',
|
||||
'nombre' => 'Ticket labeled attribute item',
|
||||
'precio' => 100,
|
||||
'attribute_codes' => [$attribute->codigo],
|
||||
'ticket_attribute_labels' => [$attribute->codigo => 'Lado'],
|
||||
'variants' => [[
|
||||
'real_stock' => 5,
|
||||
'values' => [$attribute->codigo => 'A'],
|
||||
]],
|
||||
]);
|
||||
|
||||
$this->assertSame('Lado', $item->itemAttributes->sole()->ticket_label);
|
||||
}
|
||||
|
||||
public function test_it_allows_the_same_event_date_with_different_attribute_values(): void
|
||||
{
|
||||
$sector = $this->createAttribute('sector');
|
||||
|
||||
@@ -191,6 +191,20 @@ class DesfilePuraTendenciaSeederTest extends TestCase
|
||||
->pluck('attribute.codigo')
|
||||
->all(),
|
||||
);
|
||||
$this->assertSame(
|
||||
[
|
||||
'tipo' => null,
|
||||
'sector' => 'Lado',
|
||||
'fila' => 'Fila',
|
||||
'asiento' => 'Asiento',
|
||||
],
|
||||
DB::table('item_attributes')
|
||||
->join('attribute', 'attribute.id', '=', 'item_attributes.attribute_id')
|
||||
->where('item_attributes.catalog_item_id', $catalogItem->id)
|
||||
->orderBy('item_attributes.sort_order')
|
||||
->pluck('item_attributes.ticket_label', 'attribute.codigo')
|
||||
->all(),
|
||||
);
|
||||
|
||||
$variants = DB::table('variantes')->where('catalog_item_id', $catalogItem->id);
|
||||
|
||||
|
||||
@@ -125,6 +125,7 @@ class TicketGeneratorServiceTest extends TestCase
|
||||
$itemSize = $item->itemAttributes()->create([
|
||||
'attribute_id' => $size->id,
|
||||
'sort_order' => 2,
|
||||
'ticket_label' => 'Talle',
|
||||
]);
|
||||
$variant = $item->variants()->create([
|
||||
'inventory_id' => Inventory::query()->create()->id,
|
||||
@@ -142,7 +143,7 @@ class TicketGeneratorServiceTest extends TestCase
|
||||
->generate($item, $this->user, 1, $variant->id)
|
||||
->sole();
|
||||
|
||||
$this->assertSame('Shirt (Negro, XL)', $ticket->name);
|
||||
$this->assertSame('Shirt (Negro, Talle XL)', $ticket->name);
|
||||
$this->assertSame('Descripción de la variante', $ticket->description);
|
||||
|
||||
$item->update([
|
||||
@@ -153,7 +154,7 @@ class TicketGeneratorServiceTest extends TestCase
|
||||
$variant->update(['descripcion' => 'Descripción actualizada de la variante']);
|
||||
$ticket = $ticket->fresh();
|
||||
|
||||
$this->assertSame('Remera (Azul, XL)', $ticket->name);
|
||||
$this->assertSame('Remera (Azul, Talle XL)', $ticket->name);
|
||||
$this->assertSame('Descripción actualizada de la variante', $ticket->description);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user