diff --git a/packages/client/src/builders/filterBuilder.ts b/packages/client/src/builders/filterBuilder.ts index 9485fb1..5d712a6 100644 --- a/packages/client/src/builders/filterBuilder.ts +++ b/packages/client/src/builders/filterBuilder.ts @@ -183,7 +183,7 @@ export class FilterBuilder { * @param options - Optional settings for the filter. * @returns The FilterBuilder instance for chaining. */ - public addProductHasVariantsFilter(lowerBound?: number, upperBound?: number, negated: boolean = false, options?: FilterOptions): this { + public addProductHasVariantsFilter(lowerBound?: number, upperBound?: number, negated: boolean = false, options?: FilterOptions & { includeDisabled?: boolean }): this { this.productFilterBuilder.addProductHasVariantsFilter(lowerBound, upperBound, negated, options); return this; } diff --git a/packages/client/src/builders/filters/productFilterBuilder.ts b/packages/client/src/builders/filters/productFilterBuilder.ts index 2101481..3968001 100644 --- a/packages/client/src/builders/filters/productFilterBuilder.ts +++ b/packages/client/src/builders/filters/productFilterBuilder.ts @@ -153,7 +153,7 @@ export class ProductFilterBuilder extends FilterBuilderBase { expect(subject.settings?.highlight?.limit.maxSnippetsPerEntry).toBe(2); expect(subject.settings?.highlight?.limit.maxSnippetsPerField).toBe(3); expect(subject.settings?.highlight?.shape.includeOffsets).toBe(true); +}); + +test('includeDisabled in ProductHasVariantsFilter', () => { + const subject: ProductSearchRequest = baseBuilder() + .filters(f => f.addProductHasVariantsFilter(1, 9999, false, { includeDisabled: true })) + .build(); + + const filterFromRequest = (subject.filters?.items?.[0] as ProductHasVariantsFilter) ?? null; + expect(filterFromRequest).not.toBeNull(); + expect(filterFromRequest!.includeDisabled).toBe(true); }); \ No newline at end of file