feat(catalog): add max_units_per_user field to catalog items and implement purchase limit validation
This commit is contained in:
@@ -17,6 +17,7 @@ use App\Domains\Catalog\Models\Inventory;
|
||||
use App\Domains\Event\Models\Event;
|
||||
use App\Domains\Event\Models\EventDate;
|
||||
use App\Domains\Tenant\Models\Tenant;
|
||||
use App\Domains\Ticket\Enums\ValidityTimeType;
|
||||
use Database\Seeders\AttributeSeeder;
|
||||
use Database\Seeders\FiestaFutbolInfantilProductSeeder;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
@@ -64,9 +65,36 @@ class FiestaFutbolInfantilProductSeederTest extends TestCase
|
||||
FiestaFutbolInfantilProductSeeder::class,
|
||||
]);
|
||||
|
||||
$this->assertFalse(Attribute::query()
|
||||
$attributes = Attribute::query()
|
||||
->where('tenant_codigo', $tenant->codigo)
|
||||
->exists());
|
||||
->with('options.validityTime')
|
||||
->orderBy('id')
|
||||
->get();
|
||||
|
||||
$this->assertSame(
|
||||
['servicio', 'color', 'horario', 'talle'],
|
||||
$attributes->pluck('codigo')->all(),
|
||||
);
|
||||
$this->assertSame(['Comedor', 'Vianda'], $attributes[0]->options->pluck('value')->all());
|
||||
$this->assertSame(['Verde', 'Blanco'], $attributes[1]->options->pluck('value')->all());
|
||||
$this->assertSame(['Desayuno', 'Almuerzo', 'Cena'], $attributes[2]->options->pluck('value')->all());
|
||||
$this->assertSame(['14', 'S', 'M', 'L', 'XL', 'XXL'], $attributes[3]->options->pluck('value')->all());
|
||||
|
||||
$this->assertSame(
|
||||
[
|
||||
['Desayuno', ValidityTimeType::TimeWindow, '07:00:00', '12:00:00'],
|
||||
['Almuerzo', ValidityTimeType::TimeWindow, '12:00:00', '15:00:00'],
|
||||
['Cena', ValidityTimeType::TimeWindow, '20:00:00', '24:00:00'],
|
||||
],
|
||||
$attributes[2]->options
|
||||
->map(fn ($option): array => [
|
||||
$option->value,
|
||||
$option->validityTime->type,
|
||||
$option->validityTime->start_time,
|
||||
$option->validityTime->end_time,
|
||||
])
|
||||
->all(),
|
||||
);
|
||||
|
||||
$event = Event::query()
|
||||
->where('tenant_code', $tenant->codigo)
|
||||
|
||||
Reference in New Issue
Block a user