UNPKG

webdriverio-automation

Version:

WebdriverIO-Automation android ios project

35 lines (28 loc) 1.21 kB
import configWithDefaults from '../util/default-config'; const isOneElementEnabled = function(client, selector) { const elements = client.$$(selector); let filteredList = elements.filter((element) => { return element.isEnabled(); }); return filteredList.length > 0; } export default function enabled(client, chai, utils, options) { const config = configWithDefaults(options); chai.Assertion.addMethod('enabled', function() { const negate = utils.flag(this, 'negate'); const selector = utils.flag(this, 'object'); const immediately = utils.flag(this, 'immediately'); const errorMsg = `Expected <${selector}> to be enabled but it is not`; const errorMsgNegate = `Expected <${selector}> to not be enabled but it is` ; if (!immediately) { client.waitUntil(() => { return isOneElementEnabled(client, selector) == !negate }, config.defaultWait, (negate) ? errorMsgNegate : errorMsg); } this.assert( isOneElementEnabled(client, selector), errorMsg, errorMsgNegate ); }); }