@gooddata/sdk-e2e-utils 11.42.0-alpha.0 → 11.42.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/auth.d.ts +8 -1
- package/esm/auth.d.ts.map +1 -1
- package/esm/auth.js +9 -0
- package/esm/index.d.ts +1 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -1
- package/esm/sdk-e2e-utils.d.ts +10 -0
- package/package.json +3 -3
package/esm/auth.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Page } from "@playwright/test";
|
|
1
|
+
import { type APIResponse, type Page, type Route } from "@playwright/test";
|
|
2
2
|
/**
|
|
3
3
|
* @internal
|
|
4
4
|
* Injects Authorization bearer token into all /api/ requests via Playwright route interception.
|
|
@@ -10,4 +10,11 @@ export declare function injectAuthHeader(page: Page, token: string): Promise<voi
|
|
|
10
10
|
export declare const authHeader: (token: string) => {
|
|
11
11
|
authorization: string;
|
|
12
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* @internal
|
|
15
|
+
* route.fetch() re-issues a request without going through injectAuthHeader's fallback, so a
|
|
16
|
+
* harness authenticated by token/header only (no cookie) would get an unauthenticated redirect.
|
|
17
|
+
* Use this in route interceptors that re-fetch /api requests to keep the token attached.
|
|
18
|
+
*/
|
|
19
|
+
export declare function authedRouteFetch(route: Route, token: string): Promise<APIResponse>;
|
|
13
20
|
//# sourceMappingURL=auth.d.ts.map
|
package/esm/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE3E;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS/E;AAED;;GAEG;AACH,eAAO,MAAM,UAAU;;CAA4D,CAAC;AAEpF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAElF"}
|
package/esm/auth.js
CHANGED
|
@@ -17,3 +17,12 @@ export async function injectAuthHeader(page, token) {
|
|
|
17
17
|
* @internal
|
|
18
18
|
*/
|
|
19
19
|
export const authHeader = (token) => ({ authorization: `Bearer ${token}` });
|
|
20
|
+
/**
|
|
21
|
+
* @internal
|
|
22
|
+
* route.fetch() re-issues a request without going through injectAuthHeader's fallback, so a
|
|
23
|
+
* harness authenticated by token/header only (no cookie) would get an unauthenticated redirect.
|
|
24
|
+
* Use this in route interceptors that re-fetch /api requests to keep the token attached.
|
|
25
|
+
*/
|
|
26
|
+
export function authedRouteFetch(route, token) {
|
|
27
|
+
return route.fetch({ headers: { ...route.request().headers(), ...authHeader(token) } });
|
|
28
|
+
}
|
package/esm/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { authHeader, injectAuthHeader } from "./auth.js";
|
|
1
|
+
export { authHeader, authedRouteFetch, injectAuthHeader } from "./auth.js";
|
|
2
2
|
export { type IWorkspaceIdMapping, loadMappings, resetMappings, resetScenarios, mockLogRequests, goodmockMode, GoodmockMode, startRecording, snapshotAndSaveRecording, } from "./goodmock.js";
|
|
3
3
|
export { type BaseTestArgs, type BaseWorkerArgs, type ICreateTestOptions, type IDescribeFunction, type IE2eTest, type IE2eTestDetails, type IFeatureHubEnvironment, type IFeatureHubFeature, type IGoodmockOptions, createTest, } from "./playwright.js";
|
|
4
4
|
export { clickByBoundingBox, hoverByBoundingBox } from "./helpers/mouse-actions.js";
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EACH,KAAK,mBAAmB,EACxB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,wBAAwB,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,UAAU,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EACH,aAAa,EACb,SAAS,EACT,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACvB,MAAM,gBAAgB,CAAC"}
|
package/esm/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
2
|
/* oxlint-disable no-barrel-files/no-barrel-files */
|
|
3
|
-
export { authHeader, injectAuthHeader } from "./auth.js";
|
|
3
|
+
export { authHeader, authedRouteFetch, injectAuthHeader } from "./auth.js";
|
|
4
4
|
export { loadMappings, resetMappings, resetScenarios, mockLogRequests, goodmockMode, GoodmockMode, startRecording, snapshotAndSaveRecording, } from "./goodmock.js";
|
|
5
5
|
export { createTest, } from "./playwright.js";
|
|
6
6
|
export { clickByBoundingBox, hoverByBoundingBox } from "./helpers/mouse-actions.js";
|
package/esm/sdk-e2e-utils.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { APIResponse } from '@playwright/test';
|
|
1
2
|
import { Fixtures } from '@playwright/test';
|
|
2
3
|
import { Locator } from '@playwright/test';
|
|
3
4
|
import { Page } from '@playwright/test';
|
|
@@ -5,6 +6,7 @@ import { PlaywrightTestArgs } from '@playwright/test';
|
|
|
5
6
|
import { PlaywrightTestOptions } from '@playwright/test';
|
|
6
7
|
import { PlaywrightWorkerArgs } from '@playwright/test';
|
|
7
8
|
import { PlaywrightWorkerOptions } from '@playwright/test';
|
|
9
|
+
import { Route } from '@playwright/test';
|
|
8
10
|
import { test } from '@playwright/test';
|
|
9
11
|
import { TestDetails } from '@playwright/test';
|
|
10
12
|
|
|
@@ -13,6 +15,14 @@ import { TestDetails } from '@playwright/test';
|
|
|
13
15
|
*/
|
|
14
16
|
export declare const API_TOKEN: string;
|
|
15
17
|
|
|
18
|
+
/**
|
|
19
|
+
* @internal
|
|
20
|
+
* route.fetch() re-issues a request without going through injectAuthHeader's fallback, so a
|
|
21
|
+
* harness authenticated by token/header only (no cookie) would get an unauthenticated redirect.
|
|
22
|
+
* Use this in route interceptors that re-fetch /api requests to keep the token attached.
|
|
23
|
+
*/
|
|
24
|
+
export declare function authedRouteFetch(route: Route, token: string): Promise<APIResponse>;
|
|
25
|
+
|
|
16
26
|
/**
|
|
17
27
|
* @internal
|
|
18
28
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-e2e-utils",
|
|
3
|
-
"version": "11.42.0-alpha.
|
|
3
|
+
"version": "11.42.0-alpha.2",
|
|
4
4
|
"description": "GoodData utility functions for Playwright E2E tests",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "GoodData",
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
"oxlint": "1.51.0",
|
|
52
52
|
"oxlint-tsgolint": "0.15.0",
|
|
53
53
|
"typescript": "5.9.3",
|
|
54
|
-
"@gooddata/
|
|
55
|
-
"@gooddata/
|
|
54
|
+
"@gooddata/oxlint-config": "11.42.0-alpha.2",
|
|
55
|
+
"@gooddata/eslint-config": "11.42.0-alpha.2"
|
|
56
56
|
},
|
|
57
57
|
"scripts": {
|
|
58
58
|
"_phase:build": "npm run build",
|