e2ed
Version:
E2E testing framework over Playwright
39 lines (38 loc) • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.pageWaitForResponse = exports.waitForResponseCalls = void 0;
const internal_1 = require("../../constants/internal");
/**
* `pageWaitForResponse` calls.
* @internal
*/
exports.waitForResponseCalls = [];
/**
* `page.waitForResponse` wrapper to support tab switching.
* @internal
*/
const pageWaitForResponse = (page, predicate, options) => {
let isDisabled = false;
const disablePredicate = () => {
isDisabled = true;
};
const disableablePredicate = (response) => {
if (isDisabled) {
return true;
}
return predicate(response);
};
return new Promise((resolve, reject) => {
exports.waitForResponseCalls.push({ disablePredicate, options, predicate, reject, resolve });
page.waitForResponse(disableablePredicate, options).then((response) => {
if (!isDisabled) {
resolve(response);
}
}, (error) => {
if (!isDisabled && !String(error).includes(internal_1.TEST_ENDED_ERROR_MESSAGE)) {
reject(error);
}
});
});
};
exports.pageWaitForResponse = pageWaitForResponse;