Skip to content

Commit

Permalink
Merge 5ef0c2f into 00c8a13
Browse files Browse the repository at this point in the history
  • Loading branch information
tmeyer2115 committed Apr 15, 2022
2 parents 00c8a13 + 5ef0c2f commit 58aacdf
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 3 deletions.
11 changes: 9 additions & 2 deletions tests/acceptance/acceptancesuites/acceptancesuite.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ import {
VERTICAL_SEARCH_URL_REGEX
} from '../constants';
import FacetsPage from '../pageobjects/facetspage';
import { MockedUniversalSearchRequest } from '../fixtures/responses/universal';
import { MockedUniversalAutoCompleteRequest } from '../fixtures/responses/universal/autocomplete';
import { MockedUniversalSearchRequest } from '../fixtures/responses/universal/search';
import { Selector, RequestLogger } from 'testcafe';
import {
browserBackButton,
Expand All @@ -26,7 +27,13 @@ import SearchRequestLogger from '../searchrequestlogger';
*/

fixture`Universal search page works as expected`
.requestHooks([SearchRequestLogger.createUniversalSearchLogger(), MockedUniversalSearchRequest])
.requestHooks(
[
SearchRequestLogger.createUniversalSearchLogger(),
MockedUniversalSearchRequest,
MockedUniversalAutoCompleteRequest
]
)
.beforeEach(async t => {
await registerIE11NoCacheHook(t, UNIVERSAL_SEARCH_URL_REGEX);
})
Expand Down
1 change: 1 addition & 0 deletions tests/acceptance/fixtures/responses/cors.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export const CORSHeaders = { 'access-control-allow-credentials': true, 'access-control-allow-origin': 'http://localhost:9999' };
53 changes: 53 additions & 0 deletions tests/acceptance/fixtures/responses/universal/autocomplete.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import { RequestMock } from 'testcafe';
import { CORSHeaders } from '../cors';

function generateAutoCompleteResponse (prompt) {
const mockedResponse = {
meta: {
uuid: '01802d71-9901-1b83-9d50-ff143088f1ab',
errors: []
},
response: {
input: {
value: prompt,
queryIntents: []
},
results: []
}
};

if (prompt === '') {
mockedResponse.response.results = [
{
value: 'a Rose by any other name',
matchedSubstrings: [],
queryIntents: [],
verticalKeys: []
},
{
value: 'amani farooque phone number',
matchedSubstrings: [],
queryIntents: [],
verticalKeys: []
}
];
} else if (prompt.startsWith('a')) {
mockedResponse.response.results = [
{ value: 'amani farooque phone number', matchedSubstrings: [], queryIntents: [], verticalKeys: [] }
];
}

return mockedResponse;
}

export const MockedUniversalAutoCompleteRequest = RequestMock()
.onRequestTo(async request => {
const urlRegex = /^https:\/\/liveapi-cached.yext.com\/v2\/accounts\/me\/answers\/autocomplete/;
return urlRegex.test(request.url) && request.method === 'get';
})
.respond((req, res) => {
const parsedUrl = new URL(req.url);
res.body = JSON.stringify(generateAutoCompleteResponse(parsedUrl.searchParams.get('input')));
res.headers = CORSHeaders;
res.statusCode = 200;
});
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { RequestMock } from 'testcafe';
import { CORSHeaders } from '../cors';

const UniversalSearchResponse = {
meta: {
Expand Down Expand Up @@ -476,7 +477,6 @@ const UniversalSearchResponse = {
}
}
};
const CORSHeaders = { 'access-control-allow-credentials': true, 'access-control-allow-origin': 'http://localhost:9999' };

export const MockedUniversalSearchRequest = RequestMock()
.onRequestTo(async request => {
Expand Down

0 comments on commit 58aacdf

Please sign in to comment.