e2ed
Version:
E2E testing framework over Playwright
41 lines (40 loc) • 1.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.unmockApiRoute = void 0;
const apiMockState_1 = require("../../context/apiMockState");
const useContext_1 = require("../../useContext");
const asserts_1 = require("../../utils/asserts");
const fn_1 = require("../../utils/fn");
const log_1 = require("../../utils/log");
/**
* Unmock API (remove mock, if any) for some API route.
*/
const unmockApiRoute = async (Route) => {
const apiMockState = (0, apiMockState_1.getApiMockState)();
const { optionsByRoute, requestsFilter } = apiMockState;
let apiMockFunction;
let routeWasMocked = false;
let skipLogs;
if (optionsByRoute?.has(Route)) {
const options = optionsByRoute.get(Route);
apiMockFunction = options?.apiMockFunction;
skipLogs = options?.skipLogs;
routeWasMocked = true;
optionsByRoute.delete(Route);
}
if (optionsByRoute?.size === 0) {
(0, asserts_1.assertValueIsDefined)(requestsFilter, 'requestsFilter is defined', {
routeName: Route.name,
routeWasMocked,
});
const page = (0, useContext_1.getPlaywrightPage)();
await page.unroute(requestsFilter);
}
if (apiMockFunction) {
(0, fn_1.setCustomInspectOnFunction)(apiMockFunction);
}
if (skipLogs !== true) {
(0, log_1.log)(`Unmock API for route "${Route.name}"`, { apiMockFunction, routeWasMocked }, 5 /* LogEventType.InternalAction */);
}
};
exports.unmockApiRoute = unmockApiRoute;