Skip to content

Commit 6b63918

Browse files
committed
PRO-17116 fix: use navigationTimeout for reloadPage action
1 parent 11ac677 commit 6b63918

File tree

6 files changed

+37
-9
lines changed

6 files changed

+37
-9
lines changed

autotests/actions/setPageCookiesAndNavigateToUrl.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,17 @@ import {getHeaderValue, log, replaceSetCookie} from 'e2ed/utils';
44

55
import type {Cookie, NavigationReturn, SetCookieHeaderString, StringHeaders, Url} from 'e2ed/types';
66

7+
type Options = Readonly<{
8+
pageCookies: readonly Cookie[];
9+
timeout?: number;
10+
}>;
11+
712
/**
813
* Navigates to the url and set custom page cookies.
914
*/
1015
export const setPageCookiesAndNavigateToUrl = (
1116
url: Url,
12-
pageCookies: readonly Cookie[],
17+
{pageCookies, timeout}: Options,
1318
): Promise<NavigationReturn> => {
1419
const mapResponseHeaders = (headers: StringHeaders): StringHeaders => {
1520
const setCookies = getHeaderValue(headers, 'set-cookie');
@@ -28,5 +33,9 @@ export const setPageCookiesAndNavigateToUrl = (
2833

2934
log(`Navigate to ${url} and set page cookie`, {pageCookies, url}, LogEventType.Action);
3035

31-
return setHeadersAndNavigateToUrl(url, {mapResponseHeaders});
36+
return setHeadersAndNavigateToUrl(
37+
url,
38+
{mapResponseHeaders},
39+
timeout !== undefined ? {timeout} : undefined,
40+
);
3241
};

autotests/actions/setPageRequestHeadersAndNavigateToUrl.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,17 @@ import {log} from 'e2ed/utils';
44

55
import type {NavigationReturn, StringHeaders, Url} from 'e2ed/types';
66

7+
type Options = Readonly<{
8+
pageRequestHeaders: StringHeaders;
9+
timeout?: number;
10+
}>;
11+
712
/**
813
* Navigates to the url and set additional page request headers.
914
*/
1015
export const setPageRequestHeadersAndNavigateToUrl = (
1116
url: Url,
12-
pageRequestHeaders: StringHeaders,
17+
{pageRequestHeaders, timeout}: Options,
1318
): Promise<NavigationReturn> => {
1419
const mapRequestHeaders = (): StringHeaders => pageRequestHeaders;
1520

@@ -19,5 +24,9 @@ export const setPageRequestHeadersAndNavigateToUrl = (
1924
LogEventType.Action,
2025
);
2126

22-
return setHeadersAndNavigateToUrl(url, {mapRequestHeaders});
27+
return setHeadersAndNavigateToUrl(
28+
url,
29+
{mapRequestHeaders},
30+
timeout !== undefined ? {timeout} : undefined,
31+
);
2332
};

autotests/pageObjects/pages/E2edReportExample/E2edReportExample.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,10 +122,16 @@ export class E2edReportExample extends Page<CustomPageParams> {
122122

123123
override navigateToPage(url: Url): Promise<NavigationReturn> {
124124
if (this.pageRequestHeaders) {
125-
return setPageRequestHeadersAndNavigateToUrl(url, this.pageRequestHeaders);
125+
return setPageRequestHeadersAndNavigateToUrl(url, {
126+
pageRequestHeaders: this.pageRequestHeaders,
127+
timeout: E2edReportExample.navigationTimeout,
128+
});
126129
}
127130

128-
return setPageCookiesAndNavigateToUrl(url, this.pageCookies);
131+
return setPageCookiesAndNavigateToUrl(url, {
132+
pageCookies: this.pageCookies,
133+
timeout: E2edReportExample.navigationTimeout,
134+
});
129135
}
130136

131137
override async waitForPageLoaded(): Promise<void> {

autotests/tests/main/exists.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import {assertFunctionThrows, getDocumentUrl} from 'e2ed/utils';
2020
import type {Url} from 'e2ed/types';
2121

2222
// eslint-disable-next-line max-statements
23-
test('exists', {meta: {testId: '1'}, testIdleTimeout: 10_000, testTimeout: 20_000}, async () => {
23+
test('exists', {meta: {testId: '1'}, testIdleTimeout: 12_000, testTimeout: 20_000}, async () => {
2424
const language = 'en';
2525
const searchQuery = 'foo';
2626
const testScrollValue = 200;

src/Page.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ export abstract class Page<PageParams = undefined> {
167167

168168
await waitForAllRequestsComplete(() => true, {
169169
maxIntervalBetweenRequestsInMs: this.maxIntervalBetweenRequestsInMs,
170+
timeout: (this.constructor as typeof Page).navigationTimeout,
170171
});
171172
}
172173

src/actions/pages/reloadPage.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {LogEventType} from '../../constants/internal';
1+
import {ADDITIONAL_STEP_TIMEOUT, LogEventType} from '../../constants/internal';
22
import {step} from '../../step';
33

44
import type {AnyPageClassType} from '../../types/internal';
@@ -18,5 +18,8 @@ export const reloadPage = (page: InstanceType<AnyPageClassType>): Promise<void>
1818

1919
await page.afterReloadPage?.();
2020
},
21-
{type: LogEventType.InternalAction},
21+
{
22+
timeout: (page.constructor as AnyPageClassType).navigationTimeout + ADDITIONAL_STEP_TIMEOUT,
23+
type: LogEventType.InternalAction,
24+
},
2225
);

0 commit comments

Comments
 (0)