fix(catalog): return only matching variant options

This commit is contained in:
2026-08-14 09:57:55 -03:00
parent a919e9366b
commit b8251f3b63
2 changed files with 4 additions and 2 deletions

View File

@@ -51,7 +51,7 @@ class VariantSelectionService
: null; : null;
return [ return [
'variants' => $variants 'variants' => $matchingVariants
->map(fn (Variant $variant): array => $this->variantData($catalogItem, $variant)) ->map(fn (Variant $variant): array => $this->variantData($catalogItem, $variant))
->values(), ->values(),
'options' => $this->availableOptions($catalogItem, $matchingVariants), 'options' => $this->availableOptions($catalogItem, $matchingVariants),

View File

@@ -340,7 +340,9 @@ class CatalogItemDetailControllerTest extends TestCase
->assertOk() ->assertOk()
->assertJsonPath('data.valid', true) ->assertJsonPath('data.valid', true)
->assertJsonPath('data.resolved_variant_id', null) ->assertJsonPath('data.resolved_variant_id', null)
->assertJsonCount(3, 'data.variants') ->assertJsonCount(2, 'data.variants')
->assertJsonPath('data.variants.0.id', $first->id)
->assertJsonPath('data.variants.1.id', $second->id)
->assertJsonCount(1, 'data.options.sector') ->assertJsonCount(1, 'data.options.sector')
->assertJsonCount(2, 'data.options.seat') ->assertJsonCount(2, 'data.options.seat')
->assertJsonPath('data.options.seat.0.value', '1'); ->assertJsonPath('data.options.seat.0.value', '1');