UNPKG

@qavajs/steps-wdio

Version:

qavajs steps to interact with webdriverio

77 lines 2.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@qavajs/core"); /** * Create simple mock instance * @param {string} urlTemplate - minimatch url template to mock * @param {string} memoryKey - memory key to store mock instance * @example When I create mock for '/yourservice/**' as 'mock1' * @example When I create mock for '$mockUrlTemplate' as 'mock1' */ (0, core_1.When)('I create mock for {value} as {value}', async function (urlTemplate, memoryKey) { const url = await urlTemplate.value(); memoryKey.set(await this.wdio.browser.mock(url)); }); async function respondWith(mockKey, statusCode, body) { const mock = await mockKey.value(); const responseStatusCode = parseInt(await statusCode.value()); const responseBody = await body.value(); mock.respond(responseBody, { statusCode: responseStatusCode }); } /** * Add mocking rule to respond with desired status code and payload * @param {string} mockKey - memory key to get mock instance * @param {string} statusCode - status code * @param {string} body - response body * @example * When I create mock for '/yourservice/**' as 'myServiceMock' * And I set '$myServiceMock' mock to respond '200' with: * """ * { * "status": "success" * } * """ */ (0, core_1.When)('I set {value} mock to respond {value} with:', respondWith); /** * Add mocking rule to respond with desired status code and payload * @param {string} mockKey - memory key to get mock instance * @param {string} statusCode - status code * @param {string} body - response body * @example * When I create mock for '/yourservice/**' as 'myServiceMock' * And I set '$myServiceMock' mock to respond '200' with '$response' */ (0, core_1.When)('I set {value} mock to respond {value} with {value}', respondWith); /** * Add mocking rule to abort request with certain reason * @param {string} mockKey - memory key to get mock instance * @param {string} reason - reason string see https://webdriver.io/docs/api/mock/abort * @example * When I create mock for '/yourservice/**' as 'myServiceMock' * And I set '$myServiceMock' mock to abort with 'Failed' reason */ (0, core_1.When)('I set {value} mock to abort with {value} reason', async function (mockKey, reason) { const mock = await mockKey.value(); const errorCode = await reason.value(); mock.abort(errorCode); }); /** * Restore mock * @param {string} mockKey - memory key to get mock instance * @example When I restore '$myServiceMock' */ (0, core_1.When)('I restore {value} mock', async function (mockKey) { const mock = await mockKey.value(); await mock.restore(); }); /** * Restore all mocks * @example When I restore all mocks */ (0, core_1.When)('I restore all mocks', async function () { await this.wdio.browser.mockRestoreAll(); }); //# sourceMappingURL=mock.js.map