UNPKG

gauge-ts

Version:
98 lines (97 loc) 4.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CustomScreenshotWriter = exports.AfterStep = exports.BeforeStep = exports.AfterScenario = exports.BeforeScenario = exports.AfterSpec = exports.BeforeSpec = exports.AfterSuite = exports.BeforeSuite = exports.ContinueOnFailure = exports.Step = void 0; const HookMethod_1 = require("../models/HookMethod"); const HookRegistry_1 = require("../models/HookRegistry"); const HookType_1 = require("../models/HookType"); const StepRegistry_1 = require("../models/StepRegistry"); const StepRegistryEntry_1 = require("../models/StepRegistryEntry"); const Screenshot_1 = require("../screenshot/Screenshot"); /** * * @param stepTexts form accept only string parameters. * As far as you want to use e.g. number you will need to convert it first * * @constructor */ function Step(stepTexts) { return (target, _propertyKey, descriptor) => { let _stepTexts = stepTexts; if (!Array.isArray(_stepTexts)) { _stepTexts = [_stepTexts]; } for (const s of _stepTexts) { const stepValue = s.replace(/(<.*?>)/g, "{}"); StepRegistry_1.default.add(stepValue, new StepRegistryEntry_1.StepRegistryEntry(s, stepValue, process.env.STEP_FILE_PATH, descriptor.value, undefined, _stepTexts.length > 1)); } }; } exports.Step = Step; function ContinueOnFailure(exceptions) { return (target, _propertyKey, descriptor) => { StepRegistry_1.default.addContinueOnFailure(descriptor.value, exceptions); }; } exports.ContinueOnFailure = ContinueOnFailure; function BeforeSuite() { return (_target, _propertyKey, descriptor) => { const file = process.env.STEP_FILE_PATH; HookRegistry_1.default.addHook(HookType_1.HookType.BeforeSuite, new HookMethod_1.HookMethod(descriptor.value, file)); }; } exports.BeforeSuite = BeforeSuite; function AfterSuite() { return (target, _propertyKey, descriptor) => { const file = process.env.STEP_FILE_PATH; HookRegistry_1.default.addHook(HookType_1.HookType.AfterSuite, new HookMethod_1.HookMethod(descriptor.value, file)); }; } exports.AfterSuite = AfterSuite; function BeforeSpec(options) { return (target, _propertyKey, descriptor) => { const file = process.env.STEP_FILE_PATH; HookRegistry_1.default.addHook(HookType_1.HookType.BeforeSpec, new HookMethod_1.HookMethod(descriptor.value, file, options)); }; } exports.BeforeSpec = BeforeSpec; function AfterSpec(options) { return (target, _propertyKey, descriptor) => { const file = process.env.STEP_FILE_PATH; HookRegistry_1.default.addHook(HookType_1.HookType.AfterSpec, new HookMethod_1.HookMethod(descriptor.value, file, options)); }; } exports.AfterSpec = AfterSpec; function BeforeScenario(options) { return (target, _propertyKey, descriptor) => { const file = process.env.STEP_FILE_PATH; HookRegistry_1.default.addHook(HookType_1.HookType.BeforeScenario, new HookMethod_1.HookMethod(descriptor.value, file, options)); }; } exports.BeforeScenario = BeforeScenario; function AfterScenario(options) { return (target, _propertyKey, descriptor) => { const file = process.env.STEP_FILE_PATH; HookRegistry_1.default.addHook(HookType_1.HookType.AfterScenario, new HookMethod_1.HookMethod(descriptor.value, file, options)); }; } exports.AfterScenario = AfterScenario; function BeforeStep(options) { return (target, _propertyKey, descriptor) => { const file = process.env.STEP_FILE_PATH; HookRegistry_1.default.addHook(HookType_1.HookType.BeforeStep, new HookMethod_1.HookMethod(descriptor.value, file, options)); }; } exports.BeforeStep = BeforeStep; function AfterStep(options) { return (target, _propertyKey, descriptor) => { const file = process.env.STEP_FILE_PATH; HookRegistry_1.default.addHook(HookType_1.HookType.AfterStep, new HookMethod_1.HookMethod(descriptor.value, file, options)); }; } exports.AfterStep = AfterStep; function CustomScreenshotWriter() { return (target, _propertyKey, descriptor) => { Screenshot_1.Screenshot.setCustomScreenshotWriter(descriptor.value); }; } exports.CustomScreenshotWriter = CustomScreenshotWriter;