e2ed
Version:
E2E testing framework over Playwright
38 lines (37 loc) • 1.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FullMocksRoute = void 0;
const node_url_1 = require("node:url");
const ApiRoute_1 = require("../../ApiRoute");
const fullMocks_1 = require("../../context/fullMocks");
const asserts_1 = require("../asserts");
const config_1 = require("../config");
const error_1 = require("../error");
/**
* Special route for mocking all requests in "full mocks" mode.
* @internal
*/
class FullMocksRoute extends ApiRoute_1.ApiRoute {
static getParamsFromUrlOrThrow(url) {
const { fullMocks: fullMocksConfig } = (0, config_1.getFullPackConfig)();
const fullMocksState = (0, fullMocks_1.getFullMocksState)();
(0, asserts_1.assertValueIsDefined)(fullMocksState, 'fullMocksState is defined', { url });
(0, asserts_1.assertValueIsNotNull)(fullMocksConfig, 'fullMocksConfig is not null', { url });
const urlObject = new node_url_1.URL(url);
const requestKind = fullMocksConfig.getRequestKind(urlObject);
if (fullMocksState.testFullMocks[requestKind]) {
return { fullMocksState, requestKind, urlObject };
}
throw new error_1.E2edError('Request should not be mocked', { requestKind, url });
}
getMethod() {
return 'GET';
}
getPath() {
return this.routeParams.urlObject.pathname;
}
isMatchUrl() {
return true;
}
}
exports.FullMocksRoute = FullMocksRoute;