wix-style-react
Version:
62 lines (55 loc) • 2.14 kB
JavaScript
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;