Add tests for ticket validity and event date formatting
- Create TicketValiditySchemaTest to verify database schema for ticket validity. - Update CatalogModelsTest to include tests for event date attributes and selection options. - Introduce EventDateTextFormatterTest for formatting event dates in Spanish. - Refactor EventModelsTest to include validity time relationships. - Add SaleDetailResourceTest to ensure correct serialization of purchase items. - Enhance TicketTest with validity time checks and status management. - Implement ValidityTimeResourceTest to validate resource output for different validity types. - Add ValidityTimeTest to verify casting and validity checks for validity time types.
This commit is contained in:
@@ -64,7 +64,7 @@ class PurchaseItemResource extends JsonResource
|
||||
],
|
||||
'item_details' => $selectedItem === null ? null : [
|
||||
'nombre' => $selectedItem->getName(),
|
||||
'descripcion' => $catalogItem?->descripcion,
|
||||
'descripcion' => $selectedItem->getDescription(),
|
||||
'imagen' => $imageUrl,
|
||||
'attributes' => $variant === null ? [] : $this->resolveAttributes($variant),
|
||||
],
|
||||
@@ -98,14 +98,36 @@ class PurchaseItemResource extends JsonResource
|
||||
return [];
|
||||
}
|
||||
|
||||
return $variant->definitions
|
||||
->map(fn ($definition): array => [
|
||||
'name' => (string) ($definition->itemAttribute?->attribute?->nombre ?? ''),
|
||||
'value' => $definition->value,
|
||||
])
|
||||
$attributes = $variant->definitions
|
||||
->groupBy('item_attribute_id')
|
||||
->map(function ($definitions): array {
|
||||
$itemAttribute = $definitions->first()?->itemAttribute;
|
||||
$values = $definitions->pluck('value')->values();
|
||||
|
||||
return [
|
||||
'name' => (string) ($itemAttribute?->attribute?->nombre ?? ''),
|
||||
'value' => $itemAttribute?->allow_multi_select
|
||||
? $values->all()
|
||||
: $values->first(),
|
||||
];
|
||||
})
|
||||
->filter(fn (array $attribute): bool => $attribute['name'] !== '' || $attribute['value'] !== null)
|
||||
->values()
|
||||
->all();
|
||||
->values();
|
||||
|
||||
$eventDates = $variant->relationLoaded('eventDates')
|
||||
? $variant->selectedEventDates()
|
||||
: collect();
|
||||
if ($eventDates->isNotEmpty()) {
|
||||
$attributes->prepend([
|
||||
'name' => 'Fecha',
|
||||
'value' => $eventDates
|
||||
->map(fn ($eventDate): string => $eventDate->date->format('Y-m-d'))
|
||||
->values()
|
||||
->all(),
|
||||
]);
|
||||
}
|
||||
|
||||
return $attributes->all();
|
||||
}
|
||||
|
||||
private function formatMoney(float|int|string|null $amount): string
|
||||
|
||||
Reference in New Issue
Block a user