UNPKG

playwright-cucumber-ts-steps

Version:

A collection of reusable Playwright step definitions for Cucumber in TypeScript, designed to streamline end-to-end testing across web, API, and mobile applications.

61 lines (60 loc) 2.83 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.evaluateFaker = evaluateFaker; const faker_1 = require("@faker-js/faker"); const dayjs_1 = __importDefault(require("dayjs")); const fakerMapping = { "First Name": () => faker_1.faker.person.middleName(), Name: () => faker_1.faker.person.middleName(), "Last Name": () => faker_1.faker.person.middleName(), Email: () => faker_1.faker.internet.email(), "Phone Number": () => faker_1.faker.string.numeric(10), Number: () => faker_1.faker.string.numeric(11), "Complete Number": () => faker_1.faker.string.numeric(11), "App Colour": () => faker_1.faker.color.rgb(), "App Name": () => faker_1.faker.commerce.productName(), "Role Name": () => faker_1.faker.person.jobTitle(), "Company Name": () => faker_1.faker.company.name(), "Full Name": () => faker_1.faker.person.fullName(), "Disposable Email": () => faker_1.faker.internet.email({ provider: "inboxkitten.com" }), "ALpha Numeric": () => faker_1.faker.string.numeric(11) + "e", "Lorem Word": () => faker_1.faker.lorem.sentences({ min: 1, max: 3 }), Word: () => faker_1.faker.lorem.word({ length: { min: 5, max: 11 } }), "Current Date": () => (0, dayjs_1.default)().format("YYYY-MM-DD"), "Current Date2": () => new Date().toISOString().split("T")[0], MonthsFromNow: (months) => { const monthsToAdd = parseInt(months || "0", 10); return (0, dayjs_1.default)().add(monthsToAdd, "month").format("YYYY-MM-DD"); }, MonthsAgo: (months) => { const monthsToSubtract = parseInt(months || "0", 10); return (0, dayjs_1.default)().subtract(monthsToSubtract, "month").format("YYYY-MM-DD"); }, WeeksFromNow: (weeks) => { const weeksToAdd = parseInt(weeks || "0", 10); return (0, dayjs_1.default)().add(weeksToAdd, "week").format("YYYY-MM-DD"); }, WeeksAgo: (weeks) => { const weeksToSubtract = parseInt(weeks || "0", 10); return (0, dayjs_1.default)().subtract(weeksToSubtract, "week").format("YYYY-MM-DD"); }, DaysFromNow: (days) => { const daysToAdd = parseInt(days || "0", 10); return (0, dayjs_1.default)().add(daysToAdd, "day").format("YYYY-MM-DD"); }, DaysAgo: (days) => { const daysToSubtract = parseInt(days || "0", 10); return (0, dayjs_1.default)().subtract(daysToSubtract, "day").format("YYYY-MM-DD"); }, }; function evaluateFaker(value) { const [key, param] = value.split(":"); const fn = fakerMapping[key]; if (typeof fn === "function") { return fn(param); } return value; // fallback to raw value if not mapped }