webdriverio
Version:
Next-gen browser and mobile automation test framework for Node.js
66 lines (51 loc) • 1.6 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _ = _interopRequireDefault(require("./"));
var _constants = require("../../constants");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
class WebDriverInterception extends _.default {
async init() {
const {
mockId
} = await this.browser.mockRequest(this.url, this.filterOptions);
this.mockId = mockId;
}
get calls() {
return this.browser.call(() => this.browser.mockCalls(this.mockId));
}
clear() {
return this.browser.call(() => this.browser.clearMockCalls(this.mockId));
}
restore() {
return this.browser.call(() => this.browser.clearMockCalls(this.mockId, true));
}
respond(overwrite, params = {}) {
return this.browser.call(() => this.browser.respondMock(this.mockId, {
overwrite,
params,
sticky: true
}));
}
respondOnce(overwrite, params = {}) {
return this.browser.call(() => this.browser.respondMock(this.mockId, {
overwrite,
params
}));
}
abort(errorReason, sticky = true) {
if (typeof errorReason !== 'string' || !_constants.ERROR_REASON.includes(errorReason)) {
throw new Error(`Invalid value for errorReason, allowed are: ${_constants.ERROR_REASON.join(', ')}`);
}
return this.browser.call(() => this.browser.respondMock(this.mockId, {
errorReason,
sticky
}));
}
abortOnce(errorReason) {
return this.abort(errorReason, false);
}
}
exports.default = WebDriverInterception;