playwright-cucumber-ts-steps 0.1.0 → 0.1.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/dist/actions/clickSteps.js +35 -33
- package/dist/actions/cookieSteps.js +7 -5
- package/dist/actions/debugSteps.js +5 -3
- package/dist/actions/elementFindSteps.js +50 -48
- package/dist/actions/inputSteps.js +40 -35
- package/dist/actions/interceptionSteps.js +9 -7
- package/dist/actions/miscSteps.js +41 -36
- package/dist/actions/mouseSteps.js +10 -8
- package/dist/actions/scrollSteps.js +7 -5
- package/dist/actions/storageSteps.js +10 -8
- package/dist/assertions/buttonAndTextVisibilitySteps.js +25 -23
- package/dist/assertions/cookieSteps.js +7 -5
- package/dist/assertions/elementSteps.js +24 -22
- package/dist/assertions/formInputSteps.js +28 -26
- package/dist/assertions/interceptionRequestsSteps.js +27 -25
- package/dist/assertions/locationSteps.js +17 -15
- package/dist/assertions/roleTestIdSteps.js +12 -10
- package/dist/assertions/semanticSteps.js +9 -7
- package/dist/assertions/storageSteps.js +23 -18
- package/dist/assertions/visualSteps.js +41 -36
- package/dist/custom_setups/globalLogin.js +10 -5
- package/dist/custom_setups/loginHooks.js +30 -25
- package/dist/helpers/checkPeerDeps.d.ts +1 -0
- package/dist/helpers/checkPeerDeps.js +19 -0
- package/dist/helpers/compareSnapshots.js +15 -9
- package/dist/helpers/hooks.js +73 -35
- package/dist/helpers/utils/fakerUtils.js +32 -26
- package/dist/helpers/utils/index.js +19 -3
- package/dist/helpers/utils/optionsUtils.js +18 -8
- package/dist/helpers/utils/resolveUtils.js +19 -11
- package/dist/helpers/world.js +45 -8
- package/dist/iframes/frames.js +4 -2
- package/dist/index.js +43 -27
- package/dist/register.js +9 -1
- package/package.json +24 -8
|
@@ -1,50 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.evaluateFaker = evaluateFaker;
|
|
7
|
+
const faker_1 = require("@faker-js/faker");
|
|
8
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
3
9
|
const fakerMapping = {
|
|
4
|
-
"First Name": () => faker.person.middleName(),
|
|
5
|
-
Name: () => faker.person.middleName(),
|
|
6
|
-
"Last Name": () => faker.person.middleName(),
|
|
7
|
-
Email: () => faker.internet.email(),
|
|
8
|
-
"Phone Number": () => faker.string.numeric(10),
|
|
9
|
-
Number: () => faker.string.numeric(11),
|
|
10
|
-
"Complete Number": () => faker.string.numeric(11),
|
|
11
|
-
"App Colour": () => faker.color.rgb(),
|
|
12
|
-
"App Name": () => faker.commerce.productName(),
|
|
13
|
-
"Role Name": () => faker.person.jobTitle(),
|
|
14
|
-
"Company Name": () => faker.company.name(),
|
|
15
|
-
"Full Name": () => faker.person.fullName(),
|
|
16
|
-
"Disposable Email": () => faker.internet.email({ provider: "inboxkitten.com" }),
|
|
17
|
-
"ALpha Numeric": () => faker.string.numeric(11) + "e",
|
|
18
|
-
"Lorem Word": () => faker.lorem.sentences({ min: 1, max: 3 }),
|
|
19
|
-
Word: () => faker.lorem.word({ length: { min: 5, max: 11 } }),
|
|
20
|
-
"Current Date": () =>
|
|
10
|
+
"First Name": () => faker_1.faker.person.middleName(),
|
|
11
|
+
Name: () => faker_1.faker.person.middleName(),
|
|
12
|
+
"Last Name": () => faker_1.faker.person.middleName(),
|
|
13
|
+
Email: () => faker_1.faker.internet.email(),
|
|
14
|
+
"Phone Number": () => faker_1.faker.string.numeric(10),
|
|
15
|
+
Number: () => faker_1.faker.string.numeric(11),
|
|
16
|
+
"Complete Number": () => faker_1.faker.string.numeric(11),
|
|
17
|
+
"App Colour": () => faker_1.faker.color.rgb(),
|
|
18
|
+
"App Name": () => faker_1.faker.commerce.productName(),
|
|
19
|
+
"Role Name": () => faker_1.faker.person.jobTitle(),
|
|
20
|
+
"Company Name": () => faker_1.faker.company.name(),
|
|
21
|
+
"Full Name": () => faker_1.faker.person.fullName(),
|
|
22
|
+
"Disposable Email": () => faker_1.faker.internet.email({ provider: "inboxkitten.com" }),
|
|
23
|
+
"ALpha Numeric": () => faker_1.faker.string.numeric(11) + "e",
|
|
24
|
+
"Lorem Word": () => faker_1.faker.lorem.sentences({ min: 1, max: 3 }),
|
|
25
|
+
Word: () => faker_1.faker.lorem.word({ length: { min: 5, max: 11 } }),
|
|
26
|
+
"Current Date": () => (0, dayjs_1.default)().format("YYYY-MM-DD"),
|
|
21
27
|
"Current Date2": () => new Date().toISOString().split("T")[0],
|
|
22
28
|
MonthsFromNow: (months) => {
|
|
23
29
|
const monthsToAdd = parseInt(months || "0", 10);
|
|
24
|
-
return
|
|
30
|
+
return (0, dayjs_1.default)().add(monthsToAdd, "month").format("YYYY-MM-DD");
|
|
25
31
|
},
|
|
26
32
|
MonthsAgo: (months) => {
|
|
27
33
|
const monthsToSubtract = parseInt(months || "0", 10);
|
|
28
|
-
return
|
|
34
|
+
return (0, dayjs_1.default)().subtract(monthsToSubtract, "month").format("YYYY-MM-DD");
|
|
29
35
|
},
|
|
30
36
|
WeeksFromNow: (weeks) => {
|
|
31
37
|
const weeksToAdd = parseInt(weeks || "0", 10);
|
|
32
|
-
return
|
|
38
|
+
return (0, dayjs_1.default)().add(weeksToAdd, "week").format("YYYY-MM-DD");
|
|
33
39
|
},
|
|
34
40
|
WeeksAgo: (weeks) => {
|
|
35
41
|
const weeksToSubtract = parseInt(weeks || "0", 10);
|
|
36
|
-
return
|
|
42
|
+
return (0, dayjs_1.default)().subtract(weeksToSubtract, "week").format("YYYY-MM-DD");
|
|
37
43
|
},
|
|
38
44
|
DaysFromNow: (days) => {
|
|
39
45
|
const daysToAdd = parseInt(days || "0", 10);
|
|
40
|
-
return
|
|
46
|
+
return (0, dayjs_1.default)().add(daysToAdd, "day").format("YYYY-MM-DD");
|
|
41
47
|
},
|
|
42
48
|
DaysAgo: (days) => {
|
|
43
49
|
const daysToSubtract = parseInt(days || "0", 10);
|
|
44
|
-
return
|
|
50
|
+
return (0, dayjs_1.default)().subtract(daysToSubtract, "day").format("YYYY-MM-DD");
|
|
45
51
|
},
|
|
46
52
|
};
|
|
47
|
-
|
|
53
|
+
function evaluateFaker(value) {
|
|
48
54
|
const [key, param] = value.split(":");
|
|
49
55
|
const fn = fakerMapping[key];
|
|
50
56
|
if (typeof fn === "function") {
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./fakerUtils"), exports);
|
|
18
|
+
__exportStar(require("./optionsUtils"), exports);
|
|
19
|
+
__exportStar(require("./resolveUtils"), exports);
|
|
@@ -1,25 +1,35 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseClickOptions = parseClickOptions;
|
|
4
|
+
exports.parseDblClickOptions = parseDblClickOptions;
|
|
5
|
+
exports.parseHoverOptions = parseHoverOptions;
|
|
6
|
+
exports.parseTypeOptions = parseTypeOptions;
|
|
7
|
+
exports.parseFillOptions = parseFillOptions;
|
|
8
|
+
exports.parseCheckOptions = parseCheckOptions;
|
|
9
|
+
exports.parseUncheckOptions = parseUncheckOptions;
|
|
10
|
+
exports.parseSelectOptions = parseSelectOptions;
|
|
11
|
+
function parseClickOptions(table) {
|
|
2
12
|
return parseGenericOptions(table);
|
|
3
13
|
}
|
|
4
|
-
|
|
14
|
+
function parseDblClickOptions(table) {
|
|
5
15
|
return parseGenericOptions(table);
|
|
6
16
|
}
|
|
7
|
-
|
|
17
|
+
function parseHoverOptions(table) {
|
|
8
18
|
return parseGenericOptions(table);
|
|
9
19
|
}
|
|
10
|
-
|
|
20
|
+
function parseTypeOptions(table) {
|
|
11
21
|
return parseGenericOptions(table);
|
|
12
22
|
}
|
|
13
|
-
|
|
23
|
+
function parseFillOptions(table) {
|
|
14
24
|
return parseGenericOptions(table);
|
|
15
25
|
}
|
|
16
|
-
|
|
26
|
+
function parseCheckOptions(table) {
|
|
17
27
|
return parseGenericOptions(table);
|
|
18
28
|
}
|
|
19
|
-
|
|
29
|
+
function parseUncheckOptions(table) {
|
|
20
30
|
return parseGenericOptions(table);
|
|
21
31
|
}
|
|
22
|
-
|
|
32
|
+
function parseSelectOptions(table) {
|
|
23
33
|
return parseGenericOptions(table);
|
|
24
34
|
}
|
|
25
35
|
function parseGenericOptions(table) {
|
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resolveValue = resolveValue;
|
|
7
|
+
exports.resolveLoginValue = resolveLoginValue;
|
|
8
|
+
exports.deriveSessionName = deriveSessionName;
|
|
9
|
+
const fs_1 = __importDefault(require("fs"));
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
3
11
|
// Dynamic resolver
|
|
4
|
-
|
|
12
|
+
function resolveValue(input) {
|
|
5
13
|
// Uppercase = environment variable (e.g. TEST_USER)
|
|
6
14
|
if (/^[A-Z0-9_]+$/.test(input)) {
|
|
7
15
|
const envVal = process.env[input];
|
|
@@ -13,9 +21,9 @@ export function resolveValue(input) {
|
|
|
13
21
|
// Dot = JSON reference (e.g. userData.email)
|
|
14
22
|
if (input.includes(".")) {
|
|
15
23
|
const [fileName, fieldName] = input.split(".");
|
|
16
|
-
const jsonPath =
|
|
17
|
-
if (
|
|
18
|
-
const json = JSON.parse(
|
|
24
|
+
const jsonPath = path_1.default.resolve("e2e/support/helper/test-data", `${fileName}.json`);
|
|
25
|
+
if (fs_1.default.existsSync(jsonPath)) {
|
|
26
|
+
const json = JSON.parse(fs_1.default.readFileSync(jsonPath, "utf-8"));
|
|
19
27
|
const value = json[fieldName];
|
|
20
28
|
if (value !== undefined)
|
|
21
29
|
return value;
|
|
@@ -25,7 +33,7 @@ export function resolveValue(input) {
|
|
|
25
33
|
// Default to hardcoded value
|
|
26
34
|
return input;
|
|
27
35
|
}
|
|
28
|
-
|
|
36
|
+
function resolveLoginValue(raw, world) {
|
|
29
37
|
// ✅ Alias: @aliasName
|
|
30
38
|
if (raw.startsWith("@")) {
|
|
31
39
|
return world.data[raw.slice(1)];
|
|
@@ -33,18 +41,18 @@ export function resolveLoginValue(raw, world) {
|
|
|
33
41
|
// ✅ JSON: user.json:key
|
|
34
42
|
if (raw.includes(".json:")) {
|
|
35
43
|
const [filename, key] = raw.split(".json:");
|
|
36
|
-
const filePath =
|
|
37
|
-
if (!
|
|
44
|
+
const filePath = path_1.default.resolve("test-data", `${filename}.json`);
|
|
45
|
+
if (!fs_1.default.existsSync(filePath)) {
|
|
38
46
|
throw new Error(`JSON fixture not found: ${filename}.json`);
|
|
39
47
|
}
|
|
40
|
-
const fileData = JSON.parse(
|
|
48
|
+
const fileData = JSON.parse(fs_1.default.readFileSync(filePath, "utf-8"));
|
|
41
49
|
return fileData[key];
|
|
42
50
|
}
|
|
43
51
|
// ✅ Fallback to raw value
|
|
44
52
|
return raw;
|
|
45
53
|
}
|
|
46
54
|
// Determine session name from email or username
|
|
47
|
-
|
|
55
|
+
function deriveSessionName(emailOrUser, fallback = "default") {
|
|
48
56
|
if (!emailOrUser)
|
|
49
57
|
return `${fallback}User`;
|
|
50
58
|
const base = emailOrUser.includes("@")
|
package/dist/helpers/world.js
CHANGED
|
@@ -1,12 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.CustomWorld = void 0;
|
|
1
37
|
// support/world.ts
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
38
|
+
const cucumber_1 = require("@cucumber/cucumber");
|
|
39
|
+
const test_1 = require("@playwright/test");
|
|
40
|
+
const playwright_1 = require("playwright");
|
|
41
|
+
const dotenv = __importStar(require("dotenv"));
|
|
6
42
|
dotenv.config();
|
|
7
43
|
const isHeadless = process.env.HEADLESS !== "false";
|
|
8
44
|
const slowMo = process.env.SLOWMO ? Number(process.env.SLOWMO) : 0;
|
|
9
|
-
|
|
45
|
+
class CustomWorld extends cucumber_1.World {
|
|
10
46
|
constructor() {
|
|
11
47
|
super(...arguments);
|
|
12
48
|
this.data = {};
|
|
@@ -18,8 +54,8 @@ export class CustomWorld extends World {
|
|
|
18
54
|
}
|
|
19
55
|
async init(testInfo) {
|
|
20
56
|
const isMobile = testInfo?.pickle.tags.some((tag) => tag.name === "@mobile");
|
|
21
|
-
const device = isMobile ? devices["Pixel 5"] : undefined;
|
|
22
|
-
this.browser = await chromium.launch({ headless: isHeadless, slowMo });
|
|
57
|
+
const device = isMobile ? test_1.devices["Pixel 5"] : undefined;
|
|
58
|
+
this.browser = await playwright_1.chromium.launch({ headless: isHeadless, slowMo });
|
|
23
59
|
this.context = await this.browser.newContext({
|
|
24
60
|
...(device || {}),
|
|
25
61
|
recordVideo: { dir: "e2e/test-artifacts/videos" },
|
|
@@ -57,4 +93,5 @@ export class CustomWorld extends World {
|
|
|
57
93
|
}
|
|
58
94
|
}
|
|
59
95
|
}
|
|
60
|
-
|
|
96
|
+
exports.CustomWorld = CustomWorld;
|
|
97
|
+
(0, cucumber_1.setWorldConstructor)(CustomWorld);
|
package/dist/iframes/frames.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const cucumber_1 = require("@cucumber/cucumber");
|
|
4
|
+
(0, cucumber_1.When)("I find href in iframe {string} and store as {string}", async function (iframeSelector, key) {
|
|
3
5
|
const iframe = this.page.frameLocator(iframeSelector);
|
|
4
6
|
const link = await iframe.locator("a[href]").first();
|
|
5
7
|
const href = await link.getAttribute("href");
|
package/dist/index.js
CHANGED
|
@@ -1,32 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
17
|
// Actions
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
18
|
+
__exportStar(require("./actions/clickSteps"), exports);
|
|
19
|
+
__exportStar(require("./actions/cookieSteps"), exports);
|
|
20
|
+
__exportStar(require("./actions/debugSteps"), exports);
|
|
21
|
+
__exportStar(require("./actions/elementFindSteps"), exports);
|
|
22
|
+
__exportStar(require("./actions/inputSteps"), exports);
|
|
23
|
+
__exportStar(require("./actions/interceptionSteps"), exports);
|
|
24
|
+
__exportStar(require("./actions/miscSteps"), exports);
|
|
25
|
+
__exportStar(require("./actions/mouseSteps"), exports);
|
|
26
|
+
__exportStar(require("./actions/scrollSteps"), exports);
|
|
27
|
+
__exportStar(require("./actions/storageSteps"), exports);
|
|
12
28
|
// Assertions
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
29
|
+
__exportStar(require("./assertions/buttonAndTextVisibilitySteps"), exports);
|
|
30
|
+
__exportStar(require("./assertions/cookieSteps"), exports);
|
|
31
|
+
__exportStar(require("./assertions/elementSteps"), exports);
|
|
32
|
+
__exportStar(require("./assertions/formInputSteps"), exports);
|
|
33
|
+
__exportStar(require("./assertions/interceptionRequestsSteps"), exports);
|
|
34
|
+
__exportStar(require("./assertions/locationSteps"), exports);
|
|
35
|
+
__exportStar(require("./assertions/roleTestIdSteps"), exports);
|
|
36
|
+
__exportStar(require("./assertions/semanticSteps"), exports);
|
|
37
|
+
__exportStar(require("./assertions/storageSteps"), exports);
|
|
38
|
+
__exportStar(require("./assertions/visualSteps"), exports);
|
|
23
39
|
// Iframes
|
|
24
|
-
|
|
40
|
+
__exportStar(require("./iframes/frames"), exports);
|
|
25
41
|
// Setup (custom hooks, login, etc.)
|
|
26
|
-
|
|
27
|
-
|
|
42
|
+
__exportStar(require("./custom_setups/globalLogin"), exports);
|
|
43
|
+
__exportStar(require("./custom_setups/loginHooks"), exports);
|
|
28
44
|
// Core helpers and utilities
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
45
|
+
__exportStar(require("./helpers/compareSnapshots"), exports);
|
|
46
|
+
__exportStar(require("./helpers/hooks"), exports);
|
|
47
|
+
__exportStar(require("./helpers/utils"), exports);
|
|
48
|
+
__exportStar(require("./helpers/world"), exports);
|
package/dist/register.js
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
3
|
// src/register.ts
|
|
2
|
-
|
|
4
|
+
const checkPeerDeps_1 = require("./helpers/checkPeerDeps");
|
|
5
|
+
(0, checkPeerDeps_1.checkPeerDependencies)([
|
|
6
|
+
"@cucumber/cucumber",
|
|
7
|
+
"@playwright/test",
|
|
8
|
+
"@faker-js/faker",
|
|
9
|
+
]);
|
|
10
|
+
require("./index");
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "playwright-cucumber-ts-steps",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "A collection of reusable Playwright step definitions for Cucumber in TypeScript, designed to streamline end-to-end testing across web, API, and mobile applications.",
|
|
5
|
-
"type": "
|
|
5
|
+
"type": "commonjs",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"exports": {
|
|
@@ -47,6 +47,27 @@
|
|
|
47
47
|
"visual-testing"
|
|
48
48
|
],
|
|
49
49
|
"author": "qaPaschalE",
|
|
50
|
+
"license": "MIT",
|
|
51
|
+
"bugs": {
|
|
52
|
+
"url": "https://github.com/qaPaschalE/playwright-cucumber-ts-steps/issues"
|
|
53
|
+
},
|
|
54
|
+
"homepage": "https://github.com/qaPaschalE/playwright-cucumber-ts-steps#readme",
|
|
55
|
+
"peerDependencies": {
|
|
56
|
+
"@cucumber/cucumber": "^11.3.0",
|
|
57
|
+
"@playwright/test": "^1.53.0",
|
|
58
|
+
"@faker-js/faker": "^9.8.0"
|
|
59
|
+
},
|
|
60
|
+
"peerDependenciesMeta": {
|
|
61
|
+
"@cucumber/cucumber": {
|
|
62
|
+
"optional": false
|
|
63
|
+
},
|
|
64
|
+
"@playwright/test": {
|
|
65
|
+
"optional": false
|
|
66
|
+
},
|
|
67
|
+
"@faker-js/faker": {
|
|
68
|
+
"optional": false
|
|
69
|
+
}
|
|
70
|
+
},
|
|
50
71
|
"devDependencies": {
|
|
51
72
|
"@cucumber/cucumber": "^11.3.0",
|
|
52
73
|
"@faker-js/faker": "^9.8.0",
|
|
@@ -59,10 +80,5 @@
|
|
|
59
80
|
"pngjs": "^7.0.0",
|
|
60
81
|
"ts-node": "^10.9.2",
|
|
61
82
|
"typescript": "^5.8.3"
|
|
62
|
-
}
|
|
63
|
-
"license": "MIT",
|
|
64
|
-
"bugs": {
|
|
65
|
-
"url": "https://github.com/qaPaschalE/playwright-cucumber-ts-steps/issues"
|
|
66
|
-
},
|
|
67
|
-
"homepage": "https://github.com/qaPaschalE/playwright-cucumber-ts-steps#readme"
|
|
83
|
+
}
|
|
68
84
|
}
|