UNPKG

flagpole

Version:

Simple and fast DOM integration, headless or headful browser, and REST API testing framework.

48 lines 2.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.afterScenarioReady = exports.afterScenarioFinished = exports.beforeScenarioFinished = exports.afterScenarioRequestStarted = exports.beforeScenarioRequestStarted = exports.afterScenarioExecuted = exports.beforeScenarioExecuted = void 0; const assertion_result_1 = require("../logging/assertion-result"); function cast(val) { return val; } const scenarioGuard = (propertyKey, descriptor, callback, verb) => { const method = descriptor.value; descriptor.value = function (...args) { const scenario = cast(this); if (callback(scenario)) { scenario.result(new assertion_result_1.AssertionFail(`Can not ${propertyKey} because scenario ${verb}.`, null)); } else { return method.apply(scenario, args); } }; }; function beforeScenarioExecuted(t, p, d) { scenarioGuard(p, d, (s) => s.hasExecuted, "started executing"); } exports.beforeScenarioExecuted = beforeScenarioExecuted; function afterScenarioExecuted(t, p, d) { scenarioGuard(p, d, (s) => !s.hasExecuted, "has not started executing"); } exports.afterScenarioExecuted = afterScenarioExecuted; function beforeScenarioRequestStarted(t, p, d) { scenarioGuard(p, d, (s) => s.hasRequestStarted, "request started executing"); } exports.beforeScenarioRequestStarted = beforeScenarioRequestStarted; function afterScenarioRequestStarted(t, p, d) { scenarioGuard(p, d, (s) => !s.hasRequestStarted, "request has not started executing"); } exports.afterScenarioRequestStarted = afterScenarioRequestStarted; function beforeScenarioFinished(t, p, d) { scenarioGuard(p, d, (s) => s.hasFinished, "already finished"); } exports.beforeScenarioFinished = beforeScenarioFinished; function afterScenarioFinished(t, p, d) { scenarioGuard(p, d, (s) => !s.hasFinished, "has not finished"); } exports.afterScenarioFinished = afterScenarioFinished; function afterScenarioReady(t, p, d) { scenarioGuard(p, d, (s) => !s.isReadyToExecute, "is not ready."); } exports.afterScenarioReady = afterScenarioReady; //# sourceMappingURL=internal.js.map