From 6cc05ef4396dfde9c217c13a770a717f07f812a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Vannicatte?= Date: Fri, 7 Jan 2022 15:57:29 +0100 Subject: [PATCH] use `searchParams` object --- .../utils/requester/EchoRequester.ts | 19 +- .../utils/requester/EchoRequester.ts | 19 +- .../utils/requester/EchoRequester.ts | 19 +- .../utils/requester/EchoRequester.ts | 19 +- .../utils/requester/EchoRequester.ts | 19 +- .../utils/requester/EchoRequester.ts | 19 +- specs/analytics/paths/common/parameters.yml | 18 +- .../getTopFilterAttributesForSearch.yml | 2 +- .../getTopFiltersForAttributesSearch.yml | 2 +- .../getTopFiltersNoResultsForSearch.yml | 2 +- .../paths/search/getTopHitsForSearch.yml | 2 +- .../analytics/getAverageClickPosition.json | 7 +- .../clients/analytics/getClickPositions.json | 7 +- .../analytics/getClickThroughRate.json | 7 +- .../analytics/getConversationRate.json | 7 +- .../CTS/clients/analytics/getNoClickRate.json | 7 +- .../clients/analytics/getNoResultsRate.json | 7 +- .../clients/analytics/getSearchesCount.json | 7 +- .../analytics/getSearchesNoClicks.json | 9 +- .../analytics/getSearchesNoResults.json | 9 +- .../clients/analytics/getTopCountries.json | 9 +- .../analytics/getTopFilterAttributes.json | 9 +- .../getTopFilterAttributesForSearch.json | 10 +- .../analytics/getTopFilterForAttribute.json | 20 +- .../getTopFiltersForAttributesSearch.json | 10 +- .../analytics/getTopFiltersNoResults.json | 9 +- .../getTopFiltersNoResultsForSearch.json | 10 +- tests/CTS/clients/analytics/getTopHits.json | 10 +- .../analytics/getTopHitsForSearch.json | 11 +- .../CTS/clients/analytics/getTopSearches.json | 12 +- .../CTS/clients/analytics/getUsersCount.json | 7 +- tests/CTS/templates/javascript.mustache | 4 +- tests/generateCTS.ts | 1 + tests/output/javascript/analytics.test.ts | 298 ++++++++++++------ 34 files changed, 437 insertions(+), 190 deletions(-) diff --git a/clients/algoliasearch-client-javascript/client-analytics/utils/requester/EchoRequester.ts b/clients/algoliasearch-client-javascript/client-analytics/utils/requester/EchoRequester.ts index 1eec310f8c..fd48553d4a 100644 --- a/clients/algoliasearch-client-javascript/client-analytics/utils/requester/EchoRequester.ts +++ b/clients/algoliasearch-client-javascript/client-analytics/utils/requester/EchoRequester.ts @@ -4,28 +4,24 @@ import { Requester } from './Requester'; type AdditionalContent = { headers: Record; - searchParams: string | undefined; - userAgent: string | undefined; connectTimeout: number; responseTimeout: number; + userAgent: string | undefined; + searchParams: Record; }; -function searchParamsWithoutUA(params: URLSearchParams): string | undefined { - let searchParams = '?'; +function searchParamsWithoutUA(params: URLSearchParams): Record { + const searchParams = {}; for (const [k, v] of params) { if (k === 'x-algolia-agent') { continue; } - searchParams += encodeURI(`${k}=${v}&`); - } - - if (searchParams === '?') { - return undefined; + searchParams[k] = v; } - return searchParams.replace(/&$/, ''); + return searchParams; } export class EchoRequester extends Requester { @@ -39,12 +35,13 @@ export class EchoRequester extends Requester { ): Promise { const urlSearchParams = new URL(url).searchParams; const userAgent = urlSearchParams.get('x-algolia-agent') || undefined; + const searchParams = searchParamsWithoutUA(urlSearchParams); const additionalContent: AdditionalContent = { headers, connectTimeout, responseTimeout, userAgent: userAgent ? encodeURI(userAgent) : undefined, - searchParams: searchParamsWithoutUA(urlSearchParams), + searchParams, }; return Promise.resolve({ diff --git a/clients/algoliasearch-client-javascript/client-insights/utils/requester/EchoRequester.ts b/clients/algoliasearch-client-javascript/client-insights/utils/requester/EchoRequester.ts index 1eec310f8c..fd48553d4a 100644 --- a/clients/algoliasearch-client-javascript/client-insights/utils/requester/EchoRequester.ts +++ b/clients/algoliasearch-client-javascript/client-insights/utils/requester/EchoRequester.ts @@ -4,28 +4,24 @@ import { Requester } from './Requester'; type AdditionalContent = { headers: Record; - searchParams: string | undefined; - userAgent: string | undefined; connectTimeout: number; responseTimeout: number; + userAgent: string | undefined; + searchParams: Record; }; -function searchParamsWithoutUA(params: URLSearchParams): string | undefined { - let searchParams = '?'; +function searchParamsWithoutUA(params: URLSearchParams): Record { + const searchParams = {}; for (const [k, v] of params) { if (k === 'x-algolia-agent') { continue; } - searchParams += encodeURI(`${k}=${v}&`); - } - - if (searchParams === '?') { - return undefined; + searchParams[k] = v; } - return searchParams.replace(/&$/, ''); + return searchParams; } export class EchoRequester extends Requester { @@ -39,12 +35,13 @@ export class EchoRequester extends Requester { ): Promise { const urlSearchParams = new URL(url).searchParams; const userAgent = urlSearchParams.get('x-algolia-agent') || undefined; + const searchParams = searchParamsWithoutUA(urlSearchParams); const additionalContent: AdditionalContent = { headers, connectTimeout, responseTimeout, userAgent: userAgent ? encodeURI(userAgent) : undefined, - searchParams: searchParamsWithoutUA(urlSearchParams), + searchParams, }; return Promise.resolve({ diff --git a/clients/algoliasearch-client-javascript/client-personalization/utils/requester/EchoRequester.ts b/clients/algoliasearch-client-javascript/client-personalization/utils/requester/EchoRequester.ts index 1eec310f8c..fd48553d4a 100644 --- a/clients/algoliasearch-client-javascript/client-personalization/utils/requester/EchoRequester.ts +++ b/clients/algoliasearch-client-javascript/client-personalization/utils/requester/EchoRequester.ts @@ -4,28 +4,24 @@ import { Requester } from './Requester'; type AdditionalContent = { headers: Record; - searchParams: string | undefined; - userAgent: string | undefined; connectTimeout: number; responseTimeout: number; + userAgent: string | undefined; + searchParams: Record; }; -function searchParamsWithoutUA(params: URLSearchParams): string | undefined { - let searchParams = '?'; +function searchParamsWithoutUA(params: URLSearchParams): Record { + const searchParams = {}; for (const [k, v] of params) { if (k === 'x-algolia-agent') { continue; } - searchParams += encodeURI(`${k}=${v}&`); - } - - if (searchParams === '?') { - return undefined; + searchParams[k] = v; } - return searchParams.replace(/&$/, ''); + return searchParams; } export class EchoRequester extends Requester { @@ -39,12 +35,13 @@ export class EchoRequester extends Requester { ): Promise { const urlSearchParams = new URL(url).searchParams; const userAgent = urlSearchParams.get('x-algolia-agent') || undefined; + const searchParams = searchParamsWithoutUA(urlSearchParams); const additionalContent: AdditionalContent = { headers, connectTimeout, responseTimeout, userAgent: userAgent ? encodeURI(userAgent) : undefined, - searchParams: searchParamsWithoutUA(urlSearchParams), + searchParams, }; return Promise.resolve({ diff --git a/clients/algoliasearch-client-javascript/client-search/utils/requester/EchoRequester.ts b/clients/algoliasearch-client-javascript/client-search/utils/requester/EchoRequester.ts index 1eec310f8c..fd48553d4a 100644 --- a/clients/algoliasearch-client-javascript/client-search/utils/requester/EchoRequester.ts +++ b/clients/algoliasearch-client-javascript/client-search/utils/requester/EchoRequester.ts @@ -4,28 +4,24 @@ import { Requester } from './Requester'; type AdditionalContent = { headers: Record; - searchParams: string | undefined; - userAgent: string | undefined; connectTimeout: number; responseTimeout: number; + userAgent: string | undefined; + searchParams: Record; }; -function searchParamsWithoutUA(params: URLSearchParams): string | undefined { - let searchParams = '?'; +function searchParamsWithoutUA(params: URLSearchParams): Record { + const searchParams = {}; for (const [k, v] of params) { if (k === 'x-algolia-agent') { continue; } - searchParams += encodeURI(`${k}=${v}&`); - } - - if (searchParams === '?') { - return undefined; + searchParams[k] = v; } - return searchParams.replace(/&$/, ''); + return searchParams; } export class EchoRequester extends Requester { @@ -39,12 +35,13 @@ export class EchoRequester extends Requester { ): Promise { const urlSearchParams = new URL(url).searchParams; const userAgent = urlSearchParams.get('x-algolia-agent') || undefined; + const searchParams = searchParamsWithoutUA(urlSearchParams); const additionalContent: AdditionalContent = { headers, connectTimeout, responseTimeout, userAgent: userAgent ? encodeURI(userAgent) : undefined, - searchParams: searchParamsWithoutUA(urlSearchParams), + searchParams, }; return Promise.resolve({ diff --git a/clients/algoliasearch-client-javascript/recommend/utils/requester/EchoRequester.ts b/clients/algoliasearch-client-javascript/recommend/utils/requester/EchoRequester.ts index 1eec310f8c..fd48553d4a 100644 --- a/clients/algoliasearch-client-javascript/recommend/utils/requester/EchoRequester.ts +++ b/clients/algoliasearch-client-javascript/recommend/utils/requester/EchoRequester.ts @@ -4,28 +4,24 @@ import { Requester } from './Requester'; type AdditionalContent = { headers: Record; - searchParams: string | undefined; - userAgent: string | undefined; connectTimeout: number; responseTimeout: number; + userAgent: string | undefined; + searchParams: Record; }; -function searchParamsWithoutUA(params: URLSearchParams): string | undefined { - let searchParams = '?'; +function searchParamsWithoutUA(params: URLSearchParams): Record { + const searchParams = {}; for (const [k, v] of params) { if (k === 'x-algolia-agent') { continue; } - searchParams += encodeURI(`${k}=${v}&`); - } - - if (searchParams === '?') { - return undefined; + searchParams[k] = v; } - return searchParams.replace(/&$/, ''); + return searchParams; } export class EchoRequester extends Requester { @@ -39,12 +35,13 @@ export class EchoRequester extends Requester { ): Promise { const urlSearchParams = new URL(url).searchParams; const userAgent = urlSearchParams.get('x-algolia-agent') || undefined; + const searchParams = searchParamsWithoutUA(urlSearchParams); const additionalContent: AdditionalContent = { headers, connectTimeout, responseTimeout, userAgent: userAgent ? encodeURI(userAgent) : undefined, - searchParams: searchParamsWithoutUA(urlSearchParams), + searchParams, }; return Promise.resolve({ diff --git a/clients/algoliasearch-client-javascript/utils/requester/EchoRequester.ts b/clients/algoliasearch-client-javascript/utils/requester/EchoRequester.ts index 1eec310f8c..fd48553d4a 100644 --- a/clients/algoliasearch-client-javascript/utils/requester/EchoRequester.ts +++ b/clients/algoliasearch-client-javascript/utils/requester/EchoRequester.ts @@ -4,28 +4,24 @@ import { Requester } from './Requester'; type AdditionalContent = { headers: Record; - searchParams: string | undefined; - userAgent: string | undefined; connectTimeout: number; responseTimeout: number; + userAgent: string | undefined; + searchParams: Record; }; -function searchParamsWithoutUA(params: URLSearchParams): string | undefined { - let searchParams = '?'; +function searchParamsWithoutUA(params: URLSearchParams): Record { + const searchParams = {}; for (const [k, v] of params) { if (k === 'x-algolia-agent') { continue; } - searchParams += encodeURI(`${k}=${v}&`); - } - - if (searchParams === '?') { - return undefined; + searchParams[k] = v; } - return searchParams.replace(/&$/, ''); + return searchParams; } export class EchoRequester extends Requester { @@ -39,12 +35,13 @@ export class EchoRequester extends Requester { ): Promise { const urlSearchParams = new URL(url).searchParams; const userAgent = urlSearchParams.get('x-algolia-agent') || undefined; + const searchParams = searchParamsWithoutUA(urlSearchParams); const additionalContent: AdditionalContent = { headers, connectTimeout, responseTimeout, userAgent: userAgent ? encodeURI(userAgent) : undefined, - searchParams: searchParamsWithoutUA(urlSearchParams), + searchParams, }; return Promise.resolve({ diff --git a/specs/analytics/paths/common/parameters.yml b/specs/analytics/paths/common/parameters.yml index 6fb3d21cfd..12a471cf0b 100644 --- a/specs/analytics/paths/common/parameters.yml +++ b/specs/analytics/paths/common/parameters.yml @@ -7,6 +7,14 @@ Attribute: schema: type: string +Search: + in: path + name: search + description: The query term. Must match the exact user input. + required: true + schema: + type: string + # query OrderBy: in: query @@ -42,15 +50,7 @@ Limit: type: integer default: 10 -Search: - in: path - name: search - description: The query term. Must match the exact user input. - required: true - schema: - type: string - -SearchInPath: +SearchInQuery: in: path name: search description: The query term. Must match the exact user input. diff --git a/specs/analytics/paths/search/getTopFilterAttributesForSearch.yml b/specs/analytics/paths/search/getTopFilterAttributesForSearch.yml index 71073a7f27..05efbe595a 100644 --- a/specs/analytics/paths/search/getTopFilterAttributesForSearch.yml +++ b/specs/analytics/paths/search/getTopFilterAttributesForSearch.yml @@ -6,7 +6,7 @@ get: summary: Returns top filter attributes for a given search. parameters: - $ref: '../../../common/parameters.yml#/Index' - - $ref: '../common/parameters.yml#/SearchInPath' + - $ref: '../common/parameters.yml#/SearchInQuery' - $ref: '../../../common/parameters.yml#/StartDate' - $ref: '../../../common/parameters.yml#/EndDate' - $ref: '../common/parameters.yml#/Limit' diff --git a/specs/analytics/paths/search/getTopFiltersForAttributesSearch.yml b/specs/analytics/paths/search/getTopFiltersForAttributesSearch.yml index 26f7cc00f6..b0046dab81 100644 --- a/specs/analytics/paths/search/getTopFiltersForAttributesSearch.yml +++ b/specs/analytics/paths/search/getTopFiltersForAttributesSearch.yml @@ -12,7 +12,7 @@ get: schema: type: string - $ref: '../../../common/parameters.yml#/Index' - - $ref: '../common/parameters.yml#/SearchInPath' + - $ref: '../common/parameters.yml#/SearchInQuery' - $ref: '../../../common/parameters.yml#/StartDate' - $ref: '../../../common/parameters.yml#/EndDate' - $ref: '../common/parameters.yml#/Limit' diff --git a/specs/analytics/paths/search/getTopFiltersNoResultsForSearch.yml b/specs/analytics/paths/search/getTopFiltersNoResultsForSearch.yml index e6f7e768f5..af9d3274ad 100644 --- a/specs/analytics/paths/search/getTopFiltersNoResultsForSearch.yml +++ b/specs/analytics/paths/search/getTopFiltersNoResultsForSearch.yml @@ -6,7 +6,7 @@ get: summary: Returns top filters for the given no result search. parameters: - $ref: '../../../common/parameters.yml#/Index' - - $ref: '../common/parameters.yml#/SearchInPath' + - $ref: '../common/parameters.yml#/SearchInQuery' - $ref: '../../../common/parameters.yml#/StartDate' - $ref: '../../../common/parameters.yml#/EndDate' - $ref: '../common/parameters.yml#/Limit' diff --git a/specs/analytics/paths/search/getTopHitsForSearch.yml b/specs/analytics/paths/search/getTopHitsForSearch.yml index a96d68a62e..527fcc20c5 100644 --- a/specs/analytics/paths/search/getTopHitsForSearch.yml +++ b/specs/analytics/paths/search/getTopHitsForSearch.yml @@ -6,7 +6,7 @@ get: summary: Returns top hits for the given search. parameters: - $ref: '../../../common/parameters.yml#/Index' - - $ref: '../common/parameters.yml#/SearchInPath' + - $ref: '../common/parameters.yml#/SearchInQuery' - $ref: '../common/parameters.yml#/ClickAnalytics' - $ref: '../../../common/parameters.yml#/StartDate' - $ref: '../../../common/parameters.yml#/EndDate' diff --git a/tests/CTS/clients/analytics/getAverageClickPosition.json b/tests/CTS/clients/analytics/getAverageClickPosition.json index 914c02dea1..8fc2f6b953 100644 --- a/tests/CTS/clients/analytics/getAverageClickPosition.json +++ b/tests/CTS/clients/analytics/getAverageClickPosition.json @@ -22,7 +22,12 @@ "request": { "path": "/2/clicks/averageClickPosition", "method": "GET", - "searchParams": "?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&tags=tag" + "searchParams": { + "index": "index", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getClickPositions.json b/tests/CTS/clients/analytics/getClickPositions.json index a3b8f7abb3..56ffeed4cf 100644 --- a/tests/CTS/clients/analytics/getClickPositions.json +++ b/tests/CTS/clients/analytics/getClickPositions.json @@ -22,7 +22,12 @@ "request": { "path": "/2/clicks/positions", "method": "GET", - "searchParams": "?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&tags=tag" + "searchParams": { + "index": "index", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getClickThroughRate.json b/tests/CTS/clients/analytics/getClickThroughRate.json index 9cb9ba1606..9c576cf1ba 100644 --- a/tests/CTS/clients/analytics/getClickThroughRate.json +++ b/tests/CTS/clients/analytics/getClickThroughRate.json @@ -22,7 +22,12 @@ "request": { "path": "/2/clicks/clickThroughRate", "method": "GET", - "searchParams": "?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&tags=tag" + "searchParams": { + "index": "index", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getConversationRate.json b/tests/CTS/clients/analytics/getConversationRate.json index bf4fde9586..eac532a3a1 100644 --- a/tests/CTS/clients/analytics/getConversationRate.json +++ b/tests/CTS/clients/analytics/getConversationRate.json @@ -22,7 +22,12 @@ "request": { "path": "/2/conversions/conversionRate", "method": "GET", - "searchParams": "?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&tags=tag" + "searchParams": { + "index": "index", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getNoClickRate.json b/tests/CTS/clients/analytics/getNoClickRate.json index 45e6d191e8..44c5d94e81 100644 --- a/tests/CTS/clients/analytics/getNoClickRate.json +++ b/tests/CTS/clients/analytics/getNoClickRate.json @@ -22,7 +22,12 @@ "request": { "path": "/2/searches/noClickRate", "method": "GET", - "searchParams": "?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&tags=tag" + "searchParams": { + "index": "index", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getNoResultsRate.json b/tests/CTS/clients/analytics/getNoResultsRate.json index 2cd5bb3e8b..c41149768e 100644 --- a/tests/CTS/clients/analytics/getNoResultsRate.json +++ b/tests/CTS/clients/analytics/getNoResultsRate.json @@ -22,7 +22,12 @@ "request": { "path": "/2/searches/noResultRate", "method": "GET", - "searchParams": "?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&tags=tag" + "searchParams": { + "index": "index", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getSearchesCount.json b/tests/CTS/clients/analytics/getSearchesCount.json index 6ce0ddab96..e1f533562e 100644 --- a/tests/CTS/clients/analytics/getSearchesCount.json +++ b/tests/CTS/clients/analytics/getSearchesCount.json @@ -22,7 +22,12 @@ "request": { "path": "/2/searches/count", "method": "GET", - "searchParams": "?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&tags=tag" + "searchParams": { + "index": "index", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getSearchesNoClicks.json b/tests/CTS/clients/analytics/getSearchesNoClicks.json index c144519b61..6177538ac5 100644 --- a/tests/CTS/clients/analytics/getSearchesNoClicks.json +++ b/tests/CTS/clients/analytics/getSearchesNoClicks.json @@ -24,7 +24,14 @@ "request": { "path": "/2/searches/noClicks", "method": "GET", - "searchParams": "?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag" + "searchParams": { + "index": "index", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "limit": "21", + "offset": "42", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getSearchesNoResults.json b/tests/CTS/clients/analytics/getSearchesNoResults.json index e244b61656..be66e74c2d 100644 --- a/tests/CTS/clients/analytics/getSearchesNoResults.json +++ b/tests/CTS/clients/analytics/getSearchesNoResults.json @@ -24,7 +24,14 @@ "request": { "path": "/2/searches/noResults", "method": "GET", - "searchParams": "?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag" + "searchParams": { + "index": "index", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "limit": "21", + "offset": "42", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getTopCountries.json b/tests/CTS/clients/analytics/getTopCountries.json index 5c2a77705d..bb2efa885e 100644 --- a/tests/CTS/clients/analytics/getTopCountries.json +++ b/tests/CTS/clients/analytics/getTopCountries.json @@ -24,7 +24,14 @@ "request": { "path": "/2/countries", "method": "GET", - "searchParams": "?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag" + "searchParams": { + "index": "index", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "limit": "21", + "offset": "42", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getTopFilterAttributes.json b/tests/CTS/clients/analytics/getTopFilterAttributes.json index 2652ade50f..9a2e6f779a 100644 --- a/tests/CTS/clients/analytics/getTopFilterAttributes.json +++ b/tests/CTS/clients/analytics/getTopFilterAttributes.json @@ -24,7 +24,14 @@ "request": { "path": "/2/filters", "method": "GET", - "searchParams": "?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag" + "searchParams": { + "index": "index", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "limit": "21", + "offset": "42", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getTopFilterAttributesForSearch.json b/tests/CTS/clients/analytics/getTopFilterAttributesForSearch.json index 53e3ad7eb6..9c47175ef2 100644 --- a/tests/CTS/clients/analytics/getTopFilterAttributesForSearch.json +++ b/tests/CTS/clients/analytics/getTopFilterAttributesForSearch.json @@ -26,7 +26,15 @@ "request": { "path": "/2/filters?search=mySearch", "method": "GET", - "searchParams": "?search=mySearch?x-algolia-agent=Algolia%20for%20Javascript&index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag" + "searchParams": { + "index": "index", + "search": "mySearch", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "limit": "21", + "offset": "42", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getTopFilterForAttribute.json b/tests/CTS/clients/analytics/getTopFilterForAttribute.json index 1879ed4d4a..2b2e2e7b0c 100644 --- a/tests/CTS/clients/analytics/getTopFilterForAttribute.json +++ b/tests/CTS/clients/analytics/getTopFilterForAttribute.json @@ -38,7 +38,15 @@ "request": { "path": "/2/filters/myAttribute", "method": "GET", - "searchParams": "?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag" + "searchParams": { + "attribute": "myAttribute", + "index": "index", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "limit": "21", + "offset": "42", + "tags": "tag" + } } }, { @@ -56,7 +64,15 @@ "request": { "path": "/2/filters/myAttribute1%2CmyAttribute2", "method": "GET", - "searchParams": "?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag" + "searchParams": { + "attribute": "myAttribute1,myAttribute2", + "index": "index", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "limit": "21", + "offset": "42", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getTopFiltersForAttributesSearch.json b/tests/CTS/clients/analytics/getTopFiltersForAttributesSearch.json index 8ce7a06fa1..671a96844f 100644 --- a/tests/CTS/clients/analytics/getTopFiltersForAttributesSearch.json +++ b/tests/CTS/clients/analytics/getTopFiltersForAttributesSearch.json @@ -60,7 +60,15 @@ "request": { "path": "/2/filters/myAttribute1%2CmyAttribute2?search=mySearch", "method": "GET", - "searchParams": "?search=mySearch?x-algolia-agent=Algolia%20for%20Javascript&index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag" + "searchParams": { + "index": "index", + "search": "mySearch", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "limit": "21", + "offset": "42", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getTopFiltersNoResults.json b/tests/CTS/clients/analytics/getTopFiltersNoResults.json index 41a3011188..7b2e33d126 100644 --- a/tests/CTS/clients/analytics/getTopFiltersNoResults.json +++ b/tests/CTS/clients/analytics/getTopFiltersNoResults.json @@ -24,7 +24,14 @@ "request": { "path": "/2/filters/noResults", "method": "GET", - "searchParams": "?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag" + "searchParams": { + "index": "index", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "limit": "21", + "offset": "42", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getTopFiltersNoResultsForSearch.json b/tests/CTS/clients/analytics/getTopFiltersNoResultsForSearch.json index 1f173d1ea8..a3d034a22d 100644 --- a/tests/CTS/clients/analytics/getTopFiltersNoResultsForSearch.json +++ b/tests/CTS/clients/analytics/getTopFiltersNoResultsForSearch.json @@ -26,7 +26,15 @@ "request": { "path": "/2/filters/noResults?search=mySearch", "method": "GET", - "searchParams": "?search=mySearch?x-algolia-agent=Algolia%20for%20Javascript&index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag" + "searchParams": { + "index": "index", + "search": "mySearch", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "limit": "21", + "offset": "42", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getTopHits.json b/tests/CTS/clients/analytics/getTopHits.json index c364ce7e54..3aedd5de15 100644 --- a/tests/CTS/clients/analytics/getTopHits.json +++ b/tests/CTS/clients/analytics/getTopHits.json @@ -25,7 +25,15 @@ "request": { "path": "/2/hits", "method": "GET", - "searchParams": "?index=index&clickAnalytics=true&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag" + "searchParams": { + "index": "index", + "clickAnalytics": "true", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "limit": "21", + "offset": "42", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getTopHitsForSearch.json b/tests/CTS/clients/analytics/getTopHitsForSearch.json index 7872820a2b..75cd687d48 100644 --- a/tests/CTS/clients/analytics/getTopHitsForSearch.json +++ b/tests/CTS/clients/analytics/getTopHitsForSearch.json @@ -27,7 +27,16 @@ "request": { "path": "/2/hits?search=mySearch", "method": "GET", - "searchParams": "?search=mySearch?x-algolia-agent=Algolia%20for%20Javascript&index=index&clickAnalytics=true&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag" + "searchParams": { + "index": "index", + "search": "mySearch", + "clickAnalytics": "true", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "limit": "21", + "offset": "42", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getTopSearches.json b/tests/CTS/clients/analytics/getTopSearches.json index ba8e3185d5..741c5981e9 100644 --- a/tests/CTS/clients/analytics/getTopSearches.json +++ b/tests/CTS/clients/analytics/getTopSearches.json @@ -27,7 +27,17 @@ "request": { "path": "/2/searches", "method": "GET", - "searchParams": "?index=index&clickAnalytics=true&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&orderBy=searchCount&direction=asc&limit=21&offset=42&tags=tag" + "searchParams": { + "index": "index", + "clickAnalytics": "true", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "orderBy": "searchCount", + "direction": "asc", + "limit": "21", + "offset": "42", + "tags": "tag" + } } } ] diff --git a/tests/CTS/clients/analytics/getUsersCount.json b/tests/CTS/clients/analytics/getUsersCount.json index 626ec03609..78f6b3799a 100644 --- a/tests/CTS/clients/analytics/getUsersCount.json +++ b/tests/CTS/clients/analytics/getUsersCount.json @@ -22,7 +22,12 @@ "request": { "path": "/2/users/count", "method": "GET", - "searchParams": "?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&tags=tag" + "searchParams": { + "index": "index", + "startDate": "1999-09-19", + "endDate": "2001-01-01", + "tags": "tag" + } } } ] diff --git a/tests/CTS/templates/javascript.mustache b/tests/CTS/templates/javascript.mustache index 49afd3a14e..80b01ad5d2 100644 --- a/tests/CTS/templates/javascript.mustache +++ b/tests/CTS/templates/javascript.mustache @@ -12,7 +12,7 @@ describe('{{operationId}}', () => { const req = await client.{{method}}( {{#hasParameters}}{ {{#parametersWithDataType}} - {{#isDate}}{{{key}}}:new Date({{{value}}}),{{/isDate}}{{^isDate}}{{{key}}}:{{{value}}},{{/isDate}} + {{#isDate}}{{{key}}}:{{{value}}} as unknown as Date,{{/isDate}}{{^isDate}}{{{key}}}:{{{value}}},{{/isDate}} {{/parametersWithDataType}} }{{/hasParameters}} ); @@ -20,7 +20,7 @@ describe('{{operationId}}', () => { expect(req).toEqual(expect.objectContaining({ path: '{{{request.path}}}', method: '{{{request.method}}}', - {{#request.data}}data: {{{.}}},{{/request.data}}{{#request.searchParams}}searchParams: {{{.}}},{{/request.searchParams}} + {{#request.data}}data: {{{.}}},{{/request.data}}{{#request.searchParams}}searchParams: expect.objectContaining({{{.}}}),{{/request.searchParams}} })) }); diff --git a/tests/generateCTS.ts b/tests/generateCTS.ts index e829b6f5ae..9d4199651a 100644 --- a/tests/generateCTS.ts +++ b/tests/generateCTS.ts @@ -131,6 +131,7 @@ async function loadCTSForClient(client: string): Promise { if (test.testName === undefined) { test.testName = test.method; } + // stringify request.data too test.request.data = JSON.stringify(test.request.data); test.request.headers = JSON.stringify(test.request.headers); diff --git a/tests/output/javascript/analytics.test.ts b/tests/output/javascript/analytics.test.ts index 1dc742a5d1..46738aba79 100644 --- a/tests/output/javascript/analytics.test.ts +++ b/tests/output/javascript/analytics.test.ts @@ -24,8 +24,8 @@ describe('getAverageClickPosition', () => { test('get getAverageClickPosition with all parameters', async () => { const req = await client.getAverageClickPosition({ index: 'index', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, tags: 'tag', }); @@ -33,8 +33,12 @@ describe('getAverageClickPosition', () => { expect.objectContaining({ path: '/2/clicks/averageClickPosition', method: 'GET', - searchParams: - '?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + startDate: '1999-09-19', + endDate: '2001-01-01', + tags: 'tag', + }), }) ); }); @@ -57,8 +61,8 @@ describe('getClickPositions', () => { test('get getClickPositions with all parameters', async () => { const req = await client.getClickPositions({ index: 'index', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, tags: 'tag', }); @@ -66,8 +70,12 @@ describe('getClickPositions', () => { expect.objectContaining({ path: '/2/clicks/positions', method: 'GET', - searchParams: - '?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + startDate: '1999-09-19', + endDate: '2001-01-01', + tags: 'tag', + }), }) ); }); @@ -90,8 +98,8 @@ describe('getClickThroughRate', () => { test('get getClickThroughRate with all parameters', async () => { const req = await client.getClickThroughRate({ index: 'index', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, tags: 'tag', }); @@ -99,8 +107,12 @@ describe('getClickThroughRate', () => { expect.objectContaining({ path: '/2/clicks/clickThroughRate', method: 'GET', - searchParams: - '?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + startDate: '1999-09-19', + endDate: '2001-01-01', + tags: 'tag', + }), }) ); }); @@ -123,8 +135,8 @@ describe('getConversationRate', () => { test('get getConversationRate with all parameters', async () => { const req = await client.getConversationRate({ index: 'index', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, tags: 'tag', }); @@ -132,8 +144,12 @@ describe('getConversationRate', () => { expect.objectContaining({ path: '/2/conversions/conversionRate', method: 'GET', - searchParams: - '?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + startDate: '1999-09-19', + endDate: '2001-01-01', + tags: 'tag', + }), }) ); }); @@ -156,8 +172,8 @@ describe('getNoClickRate', () => { test('get getNoClickRate with all parameters', async () => { const req = await client.getNoClickRate({ index: 'index', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, tags: 'tag', }); @@ -165,8 +181,12 @@ describe('getNoClickRate', () => { expect.objectContaining({ path: '/2/searches/noClickRate', method: 'GET', - searchParams: - '?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + startDate: '1999-09-19', + endDate: '2001-01-01', + tags: 'tag', + }), }) ); }); @@ -189,8 +209,8 @@ describe('getNoResultsRate', () => { test('get getNoResultsRate with all parameters', async () => { const req = await client.getNoResultsRate({ index: 'index', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, tags: 'tag', }); @@ -198,8 +218,12 @@ describe('getNoResultsRate', () => { expect.objectContaining({ path: '/2/searches/noResultRate', method: 'GET', - searchParams: - '?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + startDate: '1999-09-19', + endDate: '2001-01-01', + tags: 'tag', + }), }) ); }); @@ -222,8 +246,8 @@ describe('getSearchesCount', () => { test('get getSearchesCount with all parameters', async () => { const req = await client.getSearchesCount({ index: 'index', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, tags: 'tag', }); @@ -231,8 +255,12 @@ describe('getSearchesCount', () => { expect.objectContaining({ path: '/2/searches/count', method: 'GET', - searchParams: - '?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + startDate: '1999-09-19', + endDate: '2001-01-01', + tags: 'tag', + }), }) ); }); @@ -255,8 +283,8 @@ describe('getSearchesNoClicks', () => { test('get getSearchesNoClicks with all parameters', async () => { const req = await client.getSearchesNoClicks({ index: 'index', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, limit: 21, offset: 42, tags: 'tag', @@ -266,8 +294,14 @@ describe('getSearchesNoClicks', () => { expect.objectContaining({ path: '/2/searches/noClicks', method: 'GET', - searchParams: - '?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + startDate: '1999-09-19', + endDate: '2001-01-01', + limit: '21', + offset: '42', + tags: 'tag', + }), }) ); }); @@ -290,8 +324,8 @@ describe('getSearchesNoResults', () => { test('get getSearchesNoResults with all parameters', async () => { const req = await client.getSearchesNoResults({ index: 'index', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, limit: 21, offset: 42, tags: 'tag', @@ -301,8 +335,14 @@ describe('getSearchesNoResults', () => { expect.objectContaining({ path: '/2/searches/noResults', method: 'GET', - searchParams: - '?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + startDate: '1999-09-19', + endDate: '2001-01-01', + limit: '21', + offset: '42', + tags: 'tag', + }), }) ); }); @@ -340,8 +380,8 @@ describe('getTopCountries', () => { test('get getTopCountries with all parameters', async () => { const req = await client.getTopCountries({ index: 'index', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, limit: 21, offset: 42, tags: 'tag', @@ -351,8 +391,14 @@ describe('getTopCountries', () => { expect.objectContaining({ path: '/2/countries', method: 'GET', - searchParams: - '?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + startDate: '1999-09-19', + endDate: '2001-01-01', + limit: '21', + offset: '42', + tags: 'tag', + }), }) ); }); @@ -375,8 +421,8 @@ describe('getTopFilterAttributes', () => { test('get getTopFilterAttributes with all parameters', async () => { const req = await client.getTopFilterAttributes({ index: 'index', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, limit: 21, offset: 42, tags: 'tag', @@ -386,8 +432,14 @@ describe('getTopFilterAttributes', () => { expect.objectContaining({ path: '/2/filters', method: 'GET', - searchParams: - '?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + startDate: '1999-09-19', + endDate: '2001-01-01', + limit: '21', + offset: '42', + tags: 'tag', + }), }) ); }); @@ -412,8 +464,8 @@ describe('getTopFilterAttributesForSearch', () => { const req = await client.getTopFilterAttributesForSearch({ index: 'index', search: 'mySearch', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, limit: 21, offset: 42, tags: 'tag', @@ -423,8 +475,15 @@ describe('getTopFilterAttributesForSearch', () => { expect.objectContaining({ path: '/2/filters?search=mySearch', method: 'GET', - searchParams: - '?search=mySearch?x-algolia-agent=Algolia%20for%20Javascript&index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + search: 'mySearch', + startDate: '1999-09-19', + endDate: '2001-01-01', + limit: '21', + offset: '42', + tags: 'tag', + }), }) ); }); @@ -463,8 +522,8 @@ describe('getTopFilterForAttribute', () => { const req = await client.getTopFilterForAttribute({ attribute: 'myAttribute', index: 'index', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, limit: 21, offset: 42, tags: 'tag', @@ -474,8 +533,15 @@ describe('getTopFilterForAttribute', () => { expect.objectContaining({ path: '/2/filters/myAttribute', method: 'GET', - searchParams: - '?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag', + searchParams: expect.objectContaining({ + attribute: 'myAttribute', + index: 'index', + startDate: '1999-09-19', + endDate: '2001-01-01', + limit: '21', + offset: '42', + tags: 'tag', + }), }) ); }); @@ -484,8 +550,8 @@ describe('getTopFilterForAttribute', () => { const req = await client.getTopFilterForAttribute({ attribute: 'myAttribute1,myAttribute2', index: 'index', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, limit: 21, offset: 42, tags: 'tag', @@ -495,8 +561,15 @@ describe('getTopFilterForAttribute', () => { expect.objectContaining({ path: '/2/filters/myAttribute1%2CmyAttribute2', method: 'GET', - searchParams: - '?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag', + searchParams: expect.objectContaining({ + attribute: 'myAttribute1,myAttribute2', + index: 'index', + startDate: '1999-09-19', + endDate: '2001-01-01', + limit: '21', + offset: '42', + tags: 'tag', + }), }) ); }); @@ -538,8 +611,8 @@ describe('getTopFiltersForAttributesSearch', () => { attributes: 'myAttribute', index: 'index', search: 'mySearch', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, limit: 21, offset: 42, tags: 'tag', @@ -549,8 +622,9 @@ describe('getTopFiltersForAttributesSearch', () => { expect.objectContaining({ path: '/2/filters/myAttribute?search=mySearch', method: 'GET', - searchParams: - '?search=mySearch?x-algolia-agent=Algolia%20for%20Javascript&index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag', + searchParams: expect.objectContaining( + '?search=mySearch?x-algolia-agent=Algolia%20for%20Javascript&index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag' + ), }) ); }); @@ -560,8 +634,8 @@ describe('getTopFiltersForAttributesSearch', () => { attributes: 'myAttribute1,myAttribute2', index: 'index', search: 'mySearch', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, limit: 21, offset: 42, tags: 'tag', @@ -571,8 +645,15 @@ describe('getTopFiltersForAttributesSearch', () => { expect.objectContaining({ path: '/2/filters/myAttribute1%2CmyAttribute2?search=mySearch', method: 'GET', - searchParams: - '?search=mySearch?x-algolia-agent=Algolia%20for%20Javascript&index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + search: 'mySearch', + startDate: '1999-09-19', + endDate: '2001-01-01', + limit: '21', + offset: '42', + tags: 'tag', + }), }) ); }); @@ -595,8 +676,8 @@ describe('getTopFiltersNoResults', () => { test('get getTopFiltersNoResults with all parameters', async () => { const req = await client.getTopFiltersNoResults({ index: 'index', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, limit: 21, offset: 42, tags: 'tag', @@ -606,8 +687,14 @@ describe('getTopFiltersNoResults', () => { expect.objectContaining({ path: '/2/filters/noResults', method: 'GET', - searchParams: - '?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + startDate: '1999-09-19', + endDate: '2001-01-01', + limit: '21', + offset: '42', + tags: 'tag', + }), }) ); }); @@ -632,8 +719,8 @@ describe('getTopFiltersNoResultsForSearch', () => { const req = await client.getTopFiltersNoResultsForSearch({ index: 'index', search: 'mySearch', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, limit: 21, offset: 42, tags: 'tag', @@ -643,8 +730,15 @@ describe('getTopFiltersNoResultsForSearch', () => { expect.objectContaining({ path: '/2/filters/noResults?search=mySearch', method: 'GET', - searchParams: - '?search=mySearch?x-algolia-agent=Algolia%20for%20Javascript&index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + search: 'mySearch', + startDate: '1999-09-19', + endDate: '2001-01-01', + limit: '21', + offset: '42', + tags: 'tag', + }), }) ); }); @@ -668,8 +762,8 @@ describe('getTopHits', () => { const req = await client.getTopHits({ index: 'index', clickAnalytics: true, - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, limit: 21, offset: 42, tags: 'tag', @@ -679,8 +773,15 @@ describe('getTopHits', () => { expect.objectContaining({ path: '/2/hits', method: 'GET', - searchParams: - '?index=index&clickAnalytics=true&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + clickAnalytics: 'true', + startDate: '1999-09-19', + endDate: '2001-01-01', + limit: '21', + offset: '42', + tags: 'tag', + }), }) ); }); @@ -706,8 +807,8 @@ describe('getTopHitsForSearch', () => { index: 'index', search: 'mySearch', clickAnalytics: true, - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, limit: 21, offset: 42, tags: 'tag', @@ -717,8 +818,16 @@ describe('getTopHitsForSearch', () => { expect.objectContaining({ path: '/2/hits?search=mySearch', method: 'GET', - searchParams: - '?search=mySearch?x-algolia-agent=Algolia%20for%20Javascript&index=index&clickAnalytics=true&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&limit=21&offset=42&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + search: 'mySearch', + clickAnalytics: 'true', + startDate: '1999-09-19', + endDate: '2001-01-01', + limit: '21', + offset: '42', + tags: 'tag', + }), }) ); }); @@ -742,8 +851,8 @@ describe('getTopSearches', () => { const req = await client.getTopSearches({ index: 'index', clickAnalytics: true, - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, orderBy: 'searchCount', direction: 'asc', limit: 21, @@ -755,8 +864,17 @@ describe('getTopSearches', () => { expect.objectContaining({ path: '/2/searches', method: 'GET', - searchParams: - '?index=index&clickAnalytics=true&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&orderBy=searchCount&direction=asc&limit=21&offset=42&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + clickAnalytics: 'true', + startDate: '1999-09-19', + endDate: '2001-01-01', + orderBy: 'searchCount', + direction: 'asc', + limit: '21', + offset: '42', + tags: 'tag', + }), }) ); }); @@ -779,8 +897,8 @@ describe('getUsersCount', () => { test('get getUsersCount with all parameters', async () => { const req = await client.getUsersCount({ index: 'index', - startDate: new Date('1999-09-19'), - endDate: new Date('2001-01-01'), + startDate: '1999-09-19' as unknown as Date, + endDate: '2001-01-01' as unknown as Date, tags: 'tag', }); @@ -788,8 +906,12 @@ describe('getUsersCount', () => { expect.objectContaining({ path: '/2/users/count', method: 'GET', - searchParams: - '?index=index&startDate=Sun%20Sep%2019%201999%2002:00:00%20GMT%200200%20(Central%20European%20Summer%20Time)&endDate=Mon%20Jan%2001%202001%2001:00:00%20GMT%200100%20(Central%20European%20Standard%20Time)&tags=tag', + searchParams: expect.objectContaining({ + index: 'index', + startDate: '1999-09-19', + endDate: '2001-01-01', + tags: 'tag', + }), }) ); });