playwright-fluent
Version:
Fluent API around playwright
27 lines (26 loc) • 1.28 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.expectThatAsyncFuncHasResult = void 0;
const fluent_api_1 = require("../../fluent-api");
const utils_1 = require("../../utils");
async function expectThatAsyncFuncHasResult(func, expectedResult, options = fluent_api_1.defaultAssertOptions) {
const assertOptions = {
...fluent_api_1.defaultAssertOptions,
...options,
};
const waitOptions = {
...utils_1.defaultWaitUntilOptions,
...assertOptions,
throwOnTimeout: true,
};
(0, utils_1.report)(`Checking that async function resolves to '${(0, utils_1.safeToString)(expectedResult)}' ...`, waitOptions.verbose);
await (0, utils_1.waitUntil)(async () => {
const result = await func();
(0, utils_1.report)(`Async function returned '${(0, utils_1.safeToString)(result)}'`, waitOptions.verbose);
return result === expectedResult;
}, async () => {
const currentValue = await func();
return `Async function did not have expected result '${(0, utils_1.safeToString)(expectedResult)}', but instead it resolved to '${(0, utils_1.safeToString)(currentValue)}'`;
}, waitOptions);
}
exports.expectThatAsyncFuncHasResult = expectThatAsyncFuncHasResult;
;