Skip to content

Commit 97a8f2a

Browse files
committed
Tests: Refactored functions
1 parent f0be340 commit 97a8f2a

File tree

2 files changed

+20
-15
lines changed

2 files changed

+20
-15
lines changed

tests/src/coveo.spec.js

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import { expect, test } from '@playwright/test';
2-
import { handleConsentPopup, runSmokeTestCoveo, waitFor } from './utils';
3-
4-
const mockData = {
5-
validQuery: 'proxy',
6-
invalidQuery: 'abcdefghijkl',
7-
filters: ['numberOfResults=100', 'sortCriteria=date descending'],
8-
};
2+
import {
3+
buildURLFragment,
4+
handleConsentPopup,
5+
runSmokeTestCoveo,
6+
waitFor,
7+
} from './utils';
98

109
async function submitSearchQuery(page, query) {
1110
const headerSearchBarContainer = page.getByTestId('header__search');
@@ -16,13 +15,6 @@ async function submitSearchQuery(page, query) {
1615
await page.waitForSelector('#search-v2');
1716
}
1817

19-
function buildFilter() {
20-
return mockData.filters
21-
.map((filter) => `&${filter}`)
22-
.join('')
23-
.replaceAll(' ', '%20');
24-
}
25-
2618
async function mockCoveo(page, request) {
2719
// Get credentials
2820
const tokenBaseURL = 'https://docs-dev.nginx.com';
@@ -52,6 +44,12 @@ async function mockCoveo(page, request) {
5244
await page.reload();
5345
}
5446

47+
const mockData = {
48+
validQuery: 'proxy',
49+
invalidQuery: 'abcdefghijkl',
50+
filters: ['numberOfResults=100', 'sortCriteria=date descending'],
51+
};
52+
5553
test.describe('Coveo test', () => {
5654
test.beforeEach(async ({ page, request }) => {
5755
await page.goto('/');
@@ -82,7 +80,7 @@ test.describe('Coveo test', () => {
8280
test('inbound link do not reset URL', async ({ page }) => {
8381
// Use ONLY generic filters. Do not add any product specific filters, particularly from the facet.
8482
// If these basic filters work, then its safe to assume, adding facet filters will not reset the URL.
85-
const endpoint = `/search.html#q=${mockData.validQuery}${buildFilter()}`;
83+
const endpoint = `/search.html#q=${mockData.validQuery}${buildURLFragment(mockData.filters)}`;
8684
await page.goto(endpoint);
8785
await page.waitForSelector('#search-v2');
8886

tests/src/utils/utils.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,10 @@ export const waitFor = async function waitFor(f, ftimeout = TIMEOUT) {
3939
while (!f()) await sleep(ftimeout);
4040
return f();
4141
};
42+
43+
export function buildURLFragment(fragments) {
44+
return fragments
45+
.map((filter) => `&${filter}`)
46+
.join('')
47+
.replaceAll(' ', '%20');
48+
}

0 commit comments

Comments
 (0)