UNPKG

wix-style-react

Version:
501 lines (500 loc) • 18.1 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.testkit = exports.default = void 0; var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _unidriver = require("../test-utils/utils/unidriver"); var _DataAttr = _interopRequireDefault(require("./DataAttr")); var _StatusIndicatorUni = require("../StatusIndicator/StatusIndicator.uni.driver"); var _constants = require("./constants"); var _TooltipUni = require("../Tooltip/Tooltip.uni.driver"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var testkit = (base, body) => { // single $ throws an exception for more than 1 match, so we use the first matching result with $$ // to support cases of multiple inputs, e.g cases where this driver is used inside other drivers with popovers // which includes an input var input = base.$$('input').get(0); var reactBase = (0, _unidriver.ReactBase)(base); var reactBaseInput = (0, _unidriver.ReactBase)(input); var clearButtonNode = base.$("[data-hook=input-clear-button]"); var menuArrowNode = base.$("[data-hook=\"".concat(_constants.dataHooks.menuArrow, "\"]")); var getStatusIndicatorDriver = () => (0, _StatusIndicatorUni.statusIndicatorDriverFactory)(base.$("[data-hook=\"".concat(_constants.dataHooks.status, "\"]")), body); var getTooltipDriver = () => (0, _TooltipUni.tooltipDriverFactory)(base.$("[data-hook=\"".concat(_constants.dataHooks.tooltip, "\"]")), body); var driver = _objectSpread(_objectSpread({}, (0, _unidriver.baseUniDriverFactory)(base)), {}, { click: () => input.click(), getInputElementClasses: function () { var _getInputElementClasses = (0, _asyncToGenerator2.default)(function* () { return yield reactBaseInput._DEPRECATED_getClassList(); }); function getInputElementClasses() { return _getInputElementClasses.apply(this, arguments); } return getInputElementClasses; }(), suffixComponentExists: function () { var _suffixComponentExists = (0, _asyncToGenerator2.default)(function* (className) { return yield base.$("[data-hook=\"".concat(_constants.dataHooks.suffixes, "\"] ").concat(className)).exists(); }); function suffixComponentExists(_x) { return _suffixComponentExists.apply(this, arguments); } return suffixComponentExists; }(), getRootElementClasses: function () { var _getRootElementClasses = (0, _asyncToGenerator2.default)(function* () { return yield reactBase._DEPRECATED_getClassList(); }); function getRootElementClasses() { return _getRootElementClasses.apply(this, arguments); } return getRootElementClasses; }(), getAriaDescribedby: function () { var _getAriaDescribedby = (0, _asyncToGenerator2.default)(function* () { return yield input.attr('aria-describedby'); }); function getAriaDescribedby() { return _getAriaDescribedby.apply(this, arguments); } return getAriaDescribedby; }(), getAriaLabel: function () { var _getAriaLabel = (0, _asyncToGenerator2.default)(function* () { return yield input.attr('aria-label'); }); function getAriaLabel() { return _getAriaLabel.apply(this, arguments); } return getAriaLabel; }(), getName: function () { var _getName = (0, _asyncToGenerator2.default)(function* () { return yield input.attr('name'); }); function getName() { return _getName.apply(this, arguments); } return getName; }(), getMaxLength: function () { var _getMaxLength = (0, _asyncToGenerator2.default)(function* () { return yield input.attr('maxLength'); }); function getMaxLength() { return _getMaxLength.apply(this, arguments); } return getMaxLength; }(), getType: function () { var _getType = (0, _asyncToGenerator2.default)(function* () { return yield input.attr('type'); }); function getType() { return _getType.apply(this, arguments); } return getType; }(), getAriaControls: function () { var _getAriaControls = (0, _asyncToGenerator2.default)(function* () { return yield input.attr('aria-controls'); }); function getAriaControls() { return _getAriaControls.apply(this, arguments); } return getAriaControls; }(), clickIconAffix: function () { var _clickIconAffix = (0, _asyncToGenerator2.default)(function* () { return yield base.$("[data-hook=\"icon-affix\"]").click(); }); function clickIconAffix() { return _clickIconAffix.apply(this, arguments); } return clickIconAffix; }(), clickCustomAffix: function () { var _clickCustomAffix = (0, _asyncToGenerator2.default)(function* () { return yield base.$("[data-hook=\"custom-affix\"]").click(); }); function clickCustomAffix() { return _clickCustomAffix.apply(this, arguments); } return clickCustomAffix; }(), hasSuffix: function () { var _hasSuffix = (0, _asyncToGenerator2.default)(function* () { return yield base.$("[data-hook=\"".concat(_constants.dataHooks.suffixes, "\"]")).exists(); }); function hasSuffix() { return _hasSuffix.apply(this, arguments); } return hasSuffix; }(), getClearButtonTooltipContent: function () { var _getClearButtonTooltipContent = (0, _asyncToGenerator2.default)(function* () { return yield getTooltipDriver().getTooltipText(); }); function getClearButtonTooltipContent() { return _getClearButtonTooltipContent.apply(this, arguments); } return getClearButtonTooltipContent; }(), prefixComponentExists: function () { var _prefixComponentExists = (0, _asyncToGenerator2.default)(function* (style) { return !!(yield base.attr(_DataAttr.default.PREFIX)) && (yield base.$(style).exists()); }); function prefixComponentExists(_x2) { return _prefixComponentExists.apply(this, arguments); } return prefixComponentExists; }(), hasPrefix: function () { var _hasPrefix = (0, _asyncToGenerator2.default)(function* () { return !!(yield base.attr(_DataAttr.default.PREFIX)); }); function hasPrefix() { return _hasPrefix.apply(this, arguments); } return hasPrefix; }(), hasClearButton: function () { var _hasClearButton = (0, _asyncToGenerator2.default)(function* () { return yield clearButtonNode.exists(); }); function hasClearButton() { return _hasClearButton.apply(this, arguments); } return hasClearButton; }(), clickClear: function () { var _clickClear = (0, _asyncToGenerator2.default)(function* () { return yield clearButtonNode.click(); }); function clickClear() { return _clickClear.apply(this, arguments); } return clickClear; }(), getValue: function () { var _getValue = (0, _asyncToGenerator2.default)(function* () { return yield input.value(); }); function getValue() { return _getValue.apply(this, arguments); } return getValue; }(), getText: function () { var _getText = (0, _asyncToGenerator2.default)(function* () { return yield input.value(); }); function getText() { return _getText.apply(this, arguments); } return getText; }(), getPattern: function () { var _getPattern = (0, _asyncToGenerator2.default)(function* () { return yield input.attr('pattern'); }); function getPattern() { return _getPattern.apply(this, arguments); } return getPattern; }(), getPlaceholder: function () { var _getPlaceholder = (0, _asyncToGenerator2.default)(function* () { return yield input.attr('placeholder'); }); function getPlaceholder() { return _getPlaceholder.apply(this, arguments); } return getPlaceholder; }(), isOfSize: function () { var _isOfSize = (0, _asyncToGenerator2.default)(function* (size) { return (yield base.attr(_DataAttr.default.SIZE)) === size; }); function isOfSize(_x3) { return _isOfSize.apply(this, arguments); } return isOfSize; }(), getSize: function () { var _getSize = (0, _asyncToGenerator2.default)(function* () { return yield base.attr(_DataAttr.default.SIZE); }); function getSize() { return _getSize.apply(this, arguments); } return getSize; }(), isDisabled: function () { var _isDisabled = (0, _asyncToGenerator2.default)(function* () { return !!(yield base.attr(_DataAttr.default.DISABLED)); }); function isDisabled() { return _isDisabled.apply(this, arguments); } return isDisabled; }(), isHoveredStyle: function () { var _isHoveredStyle = (0, _asyncToGenerator2.default)(function* () { return !!(yield base.attr(_DataAttr.default.HOVER)); }); function isHoveredStyle() { return _isHoveredStyle.apply(this, arguments); } return isHoveredStyle; }(), isFocusedStyle: function () { var _isFocusedStyle = (0, _asyncToGenerator2.default)(function* () { return !!(yield base.attr(_DataAttr.default.FOCUS)); }); function isFocusedStyle() { return _isFocusedStyle.apply(this, arguments); } return isFocusedStyle; }(), getRequired: function () { var _getRequired = (0, _asyncToGenerator2.default)(function* () { return yield input._prop('required'); }); function getRequired() { return _getRequired.apply(this, arguments); } return getRequired; }(), enterText: function () { var _enterText = (0, _asyncToGenerator2.default)(function* (value) { return yield input.enterValue(value); }); function enterText(_x4) { return _enterText.apply(this, arguments); } return enterText; }(), getAutocomplete: function () { var _getAutocomplete = (0, _asyncToGenerator2.default)(function* () { return yield input.attr('autocomplete'); }); function getAutocomplete() { return _getAutocomplete.apply(this, arguments); } return getAutocomplete; }(), getDefaultValue: function () { var _getDefaultValue = (0, _asyncToGenerator2.default)(function* () { return yield input._prop('defaultValue'); }); function getDefaultValue() { return _getDefaultValue.apply(this, arguments); } return getDefaultValue; }(), getTabIndex: function () { var _getTabIndex = (0, _asyncToGenerator2.default)(function* () { return yield input._prop('tabIndex'); }); function getTabIndex() { return _getTabIndex.apply(this, arguments); } return getTabIndex; }(), isCustomInput: function () { var _isCustomInput = (0, _asyncToGenerator2.default)(function* () { return (yield input.attr('data-hook')) === 'wsr-custom-input'; }); function isCustomInput() { return _isCustomInput.apply(this, arguments); } return isCustomInput; }(), getReadOnly: function () { var _getReadOnly = (0, _asyncToGenerator2.default)(function* () { return yield input._prop('readOnly'); }); function getReadOnly() { return _getReadOnly.apply(this, arguments); } return getReadOnly; }(), getDisabled: function () { var _getDisabled = (0, _asyncToGenerator2.default)(function* () { return yield input._prop('disabled'); }); function getDisabled() { return _getDisabled.apply(this, arguments); } return getDisabled; }(), getTextOverflow: function () { var _getTextOverflow = (0, _asyncToGenerator2.default)(function* () { return (yield input._prop('style'))['text-overflow']; }); function getTextOverflow() { return _getTextOverflow.apply(this, arguments); } return getTextOverflow; }(), focus: function () { var _focus = (0, _asyncToGenerator2.default)(function* () { return yield reactBaseInput.focus(); }); function focus() { return _focus.apply(this, arguments); } return focus; }(), blur: function () { var _blur = (0, _asyncToGenerator2.default)(function* () { return yield reactBaseInput.blur(); }); function blur() { return _blur.apply(this, arguments); } return blur; }(), keyUp: function () { var _keyUp = (0, _asyncToGenerator2.default)(function* () { return yield reactBaseInput.keyUp(); }); function keyUp() { return _keyUp.apply(this, arguments); } return keyUp; }(), keyDown: function () { var _keyDown = (0, _asyncToGenerator2.default)(function* (eventData) { return yield reactBaseInput.keyDown(eventData); }); function keyDown(_x5) { return _keyDown.apply(this, arguments); } return keyDown; }(), paste: function () { var _paste = (0, _asyncToGenerator2.default)(function* () { return yield reactBaseInput.paste(); }); function paste() { return _paste.apply(this, arguments); } return paste; }(), wheel: function () { var _wheel = (0, _asyncToGenerator2.default)(function* () { return yield reactBaseInput.wheel(); }); function wheel() { return _wheel.apply(this, arguments); } return wheel; }(), trigger: function () { var _trigger = (0, _asyncToGenerator2.default)(function* (eventType, event) { if (eventType === 'focus') { return yield driver.focus(); } if (eventType === 'blur') { return yield driver.blur(); } if (eventType === 'keyUp') { return yield driver.keyUp(); } if (eventType === 'keyDown') { return yield driver.keyDown(event); } if (eventType === 'paste') { return yield driver.paste(); } if (eventType === 'change') { return yield driver.enterText(event.target.value); } if (eventType === 'wheel') { return yield driver.wheel(); } }); function trigger(_x6, _x7) { return _trigger.apply(this, arguments); } return trigger; }(), isFocus: function () { var _isFocus = (0, _asyncToGenerator2.default)(function* () { return (0, _unidriver.isElementFocused)(input); }); function isFocus() { return _isFocus.apply(this, arguments); } return isFocus; }(), clickMenuArrow: function () { var _clickMenuArrow = (0, _asyncToGenerator2.default)(function* () { return yield menuArrowNode.click(); }); function clickMenuArrow() { return _clickMenuArrow.apply(this, arguments); } return clickMenuArrow; }(), hasMenuArrow: function () { var _hasMenuArrow = (0, _asyncToGenerator2.default)(function* () { return yield menuArrowNode.exists(); }); function hasMenuArrow() { return _hasMenuArrow.apply(this, arguments); } return hasMenuArrow; }(), isRTL: function () { var _isRTL = (0, _asyncToGenerator2.default)(function* () { return (yield base.attr('dir')) === 'rtl'; }); function isRTL() { return _isRTL.apply(this, arguments); } return isRTL; }(), getCursorLocation: () => input._prop('selectionStart'), clearText: () => driver.enterText(''), clickOutside: () => _unidriver.ReactBase.clickDocument(), isMasked: function () { var _isMasked = (0, _asyncToGenerator2.default)(function* () { return (yield input.attr('data-mask')) === 'true'; }); function isMasked() { return _isMasked.apply(this, arguments); } return isMasked; }(), // Status /** Return true if there's a status */ hasStatus: function () { var _hasStatus = (0, _asyncToGenerator2.default)(function* (status) { return (yield base.attr(_DataAttr.default.STATUS)) === status; }); function hasStatus(_x8) { return _hasStatus.apply(this, arguments); } return hasStatus; }(), /** If there's a status message, returns its text value */ getStatusMessage: function () { var _getStatusMessage = (0, _asyncToGenerator2.default)(function* () { var statusIndicatorDriver = getStatusIndicatorDriver(); return yield statusIndicatorDriver.getMessage(); }); function getStatusMessage() { return _getStatusMessage.apply(this, arguments); } return getStatusMessage; }() }); return driver; }; exports.testkit = testkit; var _default = exports.default = testkit; //# sourceMappingURL=Input.uni.driver.js.map