UNPKG

wix-style-react

Version:
62 lines (55 loc) 2.14 kB
import focusableDriverFactory from '../common/Focusable/Focusable.protractor.driver'; import { mergeDrivers } from '../../test/utils/private-drivers'; import { hasAttribute } from '../../test/utils/protractor-helpers'; import { dataHooks } from './constants'; import * as DATA_ATTR from './DataAttr'; /** * @return <T extends InternalFocusableDriver> */ export var internalDriverFactory = function internalDriverFactory(element) { var getBox = function getBox() { return element.$("[data-hook=\"".concat(dataHooks.boxTooltip, "\"]")); }; var getTextChildren = function getTextChildren() { return element.$("[data-hook=\"".concat(dataHooks.children, "\"]")); }; return { // Implements: InternalFocusableDriver focusableElement: element, clickableGetters: [getBox, getTextChildren] }; }; var checkboxDriverFactory = function checkboxDriverFactory(_element) { var checkboxElement = _element.$("[data-hook=\"".concat(dataHooks.boxTooltip, "\"]")); var childrenElement = _element.$("[data-hook=\"".concat(dataHooks.children, "\"]")); var focusableDriver = focusableDriverFactory({ rootElement: _element, nativeFocusableElement: _element, clickableElements: [checkboxElement, childrenElement] }); var publicDriver = { element: function element() { return _element; }, click: function click() { return checkboxElement.click(); }, getLabel: function getLabel() { return _element.$("[data-hook=\"".concat(dataHooks.label, "\"]")); }, getInput: function getInput() { return _element.$("[data-hook=\"".concat(dataHooks.input, "\"]")); }, isChecked: function isChecked() { return _element.$("[data-hook=\"".concat(dataHooks.input, "\"]")).isSelected(); }, isDisabled: function isDisabled() { return hasAttribute(_element.$("[data-hook=\"".concat(dataHooks.input, "\"]")), 'disabled'); }, hasError: function hasError() { return _element.getAttribute(DATA_ATTR.DATA_HAS_ERROR) === 'true'; } }; return mergeDrivers(publicDriver, focusableDriver); }; export default checkboxDriverFactory;