UNPKG

wix-style-react

Version:
69 lines (64 loc) 2.06 kB
import { isClassExists } from '../../test/utils'; import { labelDriverFactory } from 'wix-ui-backoffice/dist/src/components/Label/Label.driver'; import { testkitFactoryCreator } from 'wix-ui-test-utils/vanilla'; var labelTestkitFactory = testkitFactoryCreator(labelDriverFactory); var checkboxDriverFactory = function checkboxDriverFactory(_ref) { var element = _ref.element, eventTrigger = _ref.eventTrigger; var input = function input() { return element.querySelector('input'); }; var checkbox = function checkbox() { return element.querySelector('.checkbox'); }; var labelDriver = function labelDriver() { return labelTestkitFactory({ wrapper: element, dataHook: 'checkbox-label' }); }; var _isChecked = function _isChecked(elm) { return isClassExists(elm, 'checked'); }; return { exists: function exists() { return !!element; }, click: function click() { return eventTrigger.change(input(), { target: { checked: !_isChecked(element) } }); }, /** trigger focus on the element */ focus: function focus() { return eventTrigger.focus(checkbox()); }, /** trigger blur on the element */ blur: function blur() { return eventTrigger.blur(checkbox()); }, /** * Focus related testing is done in e2e tests only. * @deprecated */ hasFocusState: function hasFocusState() { return element.getAttribute('data-focus'); }, isChecked: function isChecked() { return _isChecked(element); }, isDisabled: function isDisabled() { return isClassExists(element, 'disabled'); }, isIndeterminate: function isIndeterminate() { return isClassExists(element, 'indeterminate'); }, hasError: function hasError() { return isClassExists(element, 'hasError'); }, getLabel: function getLabel() { return labelDriver().getLabelText(); }, getLabelDriver: function getLabelDriver() { return labelDriver(); } }; }; export default checkboxDriverFactory;