@serenity-js/web
Version:
Serenity/JS Screenplay Pattern library offering a flexible, web driver-agnostic approach for interacting with web-based user interfaces and components, suitable for various testing contexts
26 lines • 1.48 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.isClickable = isClickable;
const assertions_1 = require("@serenity-js/assertions");
const core_1 = require("@serenity-js/core");
const isElementClickable = core_1.Expectation.define('isClickable', 'become clickable', (actual) => actual.isClickable());
/**
* [`Expectation`](https://serenity-js.org/api/core/class/Expectation/) that an element is clickable, which means it resolves to `true` when:
* - the element [is present](https://serenity-js.org/api/assertions/function/isPresent/) in the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model)
* - [`PageElement.isClickable`](https://serenity-js.org/api/web/class/PageElement/#isClickable) resolves to `true`
*
* If the above conditions are not met, the expectation resolves to `false`.
*
* ## Learn more
* - [`PageElement.isClickable`](https://serenity-js.org/api/web/class/PageElement/#isClickable)
* - [`Expectation`](https://serenity-js.org/api/core/class/Expectation/)
* - [`Check`](https://serenity-js.org/api/core/class/Check/)
* - [`Ensure`](https://serenity-js.org/api/assertions/class/Ensure/)
* - [`Wait`](https://serenity-js.org/api/core/class/Wait/)
*
* @group Expectations
*/
function isClickable() {
return core_1.Expectation.to('become clickable').soThatActual((0, assertions_1.and)((0, assertions_1.isPresent)(), isElementClickable()));
}
//# sourceMappingURL=isClickable.js.map
;