feat(catalog): exclude out-of-stock items and update variant visibility logic
This commit is contained in:
@@ -62,6 +62,24 @@ class CatalogSearchTest extends TestCase
|
||||
$this->createCatalogItem($tenant, "Running {$number}");
|
||||
}
|
||||
$exactMatch = $this->createCatalogItem($tenant, 'Running');
|
||||
$outOfStock = CatalogItem::query()->create([
|
||||
'tenant_code' => $tenant->codigo,
|
||||
'slug' => 'running-sold-out',
|
||||
'nombre' => 'Running sold out',
|
||||
'descripcion' => 'Running sold out description',
|
||||
'precio' => 100,
|
||||
]);
|
||||
$outOfStock->variants()->create([
|
||||
'inventory_id' => Inventory::query()->create(['real_stock' => 0])->id,
|
||||
]);
|
||||
CatalogItem::query()->create([
|
||||
'tenant_code' => $tenant->codigo,
|
||||
'inventory_id' => Inventory::query()->create(['real_stock' => 2, 'reserved_stock' => 2])->id,
|
||||
'slug' => 'running-direct-sold-out',
|
||||
'nombre' => 'Running direct sold out',
|
||||
'descripcion' => 'Running direct sold out description',
|
||||
'precio' => 100,
|
||||
]);
|
||||
$this->createCatalogItem($tenant, 'Unrelated');
|
||||
$this->createCatalogItem($otherTenant, 'Running foreign');
|
||||
|
||||
@@ -76,6 +94,8 @@ class CatalogSearchTest extends TestCase
|
||||
->assertJsonPath('meta.total', 6)
|
||||
->assertJsonCount(4, 'data')
|
||||
->assertJsonPath('data.0.id', $exactMatch->id)
|
||||
->assertJsonMissing(['nombre' => 'Running sold out'])
|
||||
->assertJsonMissing(['nombre' => 'Running direct sold out'])
|
||||
->assertJsonMissing(['nombre' => 'Running foreign'])
|
||||
->assertJsonMissing(['nombre' => 'Unrelated']);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user