Skip to content

Commit 6a786f1

Browse files
authored
fix(types): union SearchForFacetValuesResponse type for multipleQueries (#1460)
* fix(types): union SearchForFacetValuesResponse type for multipleQueries * fix(tests): account for new type in multiple-operations test
1 parent 9092414 commit 6a786f1

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

packages/client-search/src/__tests__/integration/multiple-operations.test.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
import { BatchActionEnum, StrategyEnum } from '../..';
22
import { TestSuite } from '../../../../client-common/src/__tests__/TestSuite';
3-
import { MultipleBatchRequest } from '../../types';
3+
import { MultipleBatchRequest, MultipleQueriesResponse, SearchResponse } from '../../types';
4+
5+
function expectSearchResponse<TObject>(
6+
results: MultipleQueriesResponse<TObject>['results'][number]
7+
): asserts results is SearchResponse<TObject> {
8+
expect(results).toHaveProperty('hits');
9+
}
410

511
const testSuite = new TestSuite('multiple_operations');
612

@@ -62,7 +68,9 @@ test(testSuite.testName, async () => {
6268
{ strategy: StrategyEnum.None }
6369
);
6470

71+
expectSearchResponse(multipleQueriesResponse1.results[0]);
6572
expect(multipleQueriesResponse1.results[0].hits).toHaveLength(2);
73+
expectSearchResponse(multipleQueriesResponse1.results[1]);
6674
expect(multipleQueriesResponse1.results[1].hits).toHaveLength(2);
6775

6876
const multipleQueriesResponse2 = await client.search(
@@ -73,7 +81,9 @@ test(testSuite.testName, async () => {
7381
{ strategy: StrategyEnum.StopIfEnoughMatches }
7482
);
7583

84+
expectSearchResponse(multipleQueriesResponse2.results[0]);
7685
expect(multipleQueriesResponse2.results[0].hits).toHaveLength(2);
86+
expectSearchResponse(multipleQueriesResponse2.results[1]);
7787
expect(multipleQueriesResponse2.results[1].hits).toHaveLength(0);
7888

7989
const searchForFacetValuesResponse = await client.searchForFacetValues([
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { SearchResponse } from '.';
1+
import { SearchForFacetValuesResponse, SearchResponse } from '.';
22

33
export type MultipleQueriesResponse<TObject> = {
44
/**
55
* The list of results.
66
*/
7-
results: Array<SearchResponse<TObject>>;
7+
results: Array<SearchResponse<TObject> | SearchForFacetValuesResponse>;
88
};

0 commit comments

Comments
 (0)