UNPKG

playwright-fluent

Version:
64 lines (63 loc) 2.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.expectThatSelectorIsVisible = exports.isVisible = void 0; const tslib_1 = require("tslib"); const utils_1 = require("../../utils"); const action = tslib_1.__importStar(require("../../actions")); const fluent_api_1 = require("../../fluent-api"); async function isVisible(selector, page, options = utils_1.defaultWaitUntilOptions) { const waitOptions = { ...utils_1.defaultWaitUntilOptions, ...options, }; if (typeof selector === 'string') { const result = await action.isSelectorVisible(selector, page, waitOptions); return result; } { const result = await action.isSelectorObjectVisible(selector, page, waitOptions); return result; } } exports.isVisible = isVisible; async function expectThatCssSelectorIsVisible(selector, page, options = fluent_api_1.defaultAssertOptions) { const waitOptions = { ...utils_1.defaultWaitUntilOptions, ...fluent_api_1.defaultAssertOptions, ...options, throwOnTimeout: true, }; await (0, utils_1.waitUntil)(() => isVisible(selector, page, utils_1.noWaitNoThrowOptions), async () => { const exists = await action.exists(selector, page); if (!exists) { return `Selector '${selector}' was not found in DOM.`; } return `Selector '${selector}' is not visible. Either this selector is hidden or is outside of the current viewport. In that case you should hover over it before the assert.`; }, waitOptions); } async function expectThatSelectorObjectIsVisible(selector, page, options = fluent_api_1.defaultAssertOptions) { const waitOptions = { ...utils_1.defaultWaitUntilOptions, ...fluent_api_1.defaultAssertOptions, ...options, throwOnTimeout: true, }; await (0, utils_1.waitUntil)(() => isVisible(selector, page, utils_1.noWaitNoThrowOptions), async () => { const exists = await selector.exists(); if (!exists) { return `Selector '${selector.toString()}' was not found in DOM.`; } return `Selector '${selector.toString()}' is not visible. Either this selector is hidden or is outside of the current viewport. In that case you should hover over it before the assert.`; }, waitOptions); } async function expectThatSelectorIsVisible(selector, page, options = fluent_api_1.defaultAssertOptions) { if (typeof selector === 'string') { return await expectThatCssSelectorIsVisible(selector, page, options); } return await expectThatSelectorObjectIsVisible(selector, page, options); } exports.expectThatSelectorIsVisible = expectThatSelectorIsVisible;