UNPKG

wix-style-react

Version:
264 lines (223 loc) • 10.3 kB
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; import _regeneratorRuntime from "@babel/runtime/regenerator"; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } import { baseUniDriverFactory, findByHook, findByHookAtIndex, countByHook } from '../../test/utils/unidriver'; import { dataHooks } from './constants'; import { buttonDriverFactory } from '../Button/Button.uni.driver'; import { tooltipDriverFactory } from '../Tooltip/Tooltip.uni.driver'; import { PopoverMenuDriver } from '../PopoverMenu/PopoverMenu.uni.driver'; export var tableActionCellUniDriverFactory = function tableActionCellUniDriverFactory(base, body) { var getPrimaryActionButtonDriver = function getPrimaryActionButtonDriver() { return buttonDriverFactory(findByHook(base, dataHooks.primaryAction)); }; var getVisibleActionTooltipDriver = function getVisibleActionTooltipDriver(actionIndex) { return tooltipDriverFactory(findByHookAtIndex(base, dataHooks.visibleActionTooltip, actionIndex), body); }; var getVisibleActionByDataHookTooltipDriver = function getVisibleActionByDataHookTooltipDriver(dataHook) { return tooltipDriverFactory(findByHook(base, dataHook), body); }; var getVisibleActionButtonDriver = function getVisibleActionButtonDriver(actionIndex) { return buttonDriverFactory(findByHookAtIndex(base, dataHooks.visibleAction, actionIndex)); }; var getVisibleActionByDataHookButtonDriver = function getVisibleActionByDataHookButtonDriver(dataHook) { return buttonDriverFactory(findByHook(base, dataHook)); }; var getHiddenActionsPopoverMenuDriver = function getHiddenActionsPopoverMenuDriver() { return PopoverMenuDriver(findByHook(base, dataHooks.popoverMenu), body); }; return _objectSpread(_objectSpread({}, baseUniDriverFactory(base, body)), {}, { /** * Get the driver of the primary action <Button/> from the action column * @returns {Promise<buttonDriverFactory>} */ getPrimaryActionButtonDriver: getPrimaryActionButtonDriver, /** * Clicks the primary action button of the action column * @returns {Promise<void>} */ clickPrimaryActionButton: function () { var _clickPrimaryActionButton = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return getPrimaryActionButtonDriver().click(); case 2: return _context.abrupt("return", _context.sent); case 3: case "end": return _context.stop(); } } }, _callee); })); function clickPrimaryActionButton() { return _clickPrimaryActionButton.apply(this, arguments); } return clickPrimaryActionButton; }(), /** * Checks whether the primary action button is disabled * @returns {Promise<boolean>} */ getIsPrimaryActionButtonDisabled: function () { var _getIsPrimaryActionButtonDisabled = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() { return _regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return getPrimaryActionButtonDriver().isButtonDisabled(); case 2: return _context2.abrupt("return", _context2.sent); case 3: case "end": return _context2.stop(); } } }, _callee2); })); function getIsPrimaryActionButtonDisabled() { return _getIsPrimaryActionButtonDisabled.apply(this, arguments); } return getIsPrimaryActionButtonDisabled; }(), /** * Checks whether the primary action button has an prefix icon * @returns {Promise<boolean>} */ primaryActionButtonPrefixIconExists: function () { var _primaryActionButtonPrefixIconExists = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() { return _regeneratorRuntime.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return getPrimaryActionButtonDriver().isPrefixIconExists(); case 2: return _context3.abrupt("return", _context3.sent); case 3: case "end": return _context3.stop(); } } }, _callee3); })); function primaryActionButtonPrefixIconExists() { return _primaryActionButtonPrefixIconExists.apply(this, arguments); } return primaryActionButtonPrefixIconExists; }(), /** * Checks whether the primary action button has an suffix icon * @returns {Promise<boolean>} */ primaryActionButtonSuffixIconExists: function () { var _primaryActionButtonSuffixIconExists = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() { return _regeneratorRuntime.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: _context4.next = 2; return getPrimaryActionButtonDriver().isSuffixIconExists(); case 2: return _context4.abrupt("return", _context4.sent); case 3: case "end": return _context4.stop(); } } }, _callee4); })); function primaryActionButtonSuffixIconExists() { return _primaryActionButtonSuffixIconExists.apply(this, arguments); } return primaryActionButtonSuffixIconExists; }(), /** * Get the number of the visible secondary actions * @returns {Promise<number>} number of visible secondary actions */ getVisibleActionsCount: function getVisibleActionsCount() { return countByHook(base, dataHooks.visibleAction); }, /** * Get the number of hidden secondary actions (in the <PopoverMenu/>, requires it to be open) * @returns {Promise<number>} number of hidden secondary actions */ getHiddenActionsCount: function getHiddenActionsCount() { return getHiddenActionsPopoverMenuDriver().childrenCount(); }, /** * Gets a specific visible secondary action <Tooltip/> driver * @param {actionIndex} actionIndex * @returns {Promise<tooltipDriverFactory>} */ getVisibleActionTooltipDriver: getVisibleActionTooltipDriver, /** * Get the driver of a specific visible secondary action <Tooltip/> by its specified dataHook * @param {dataHook} tooltip dataHook * @returns {Promise<tooltipDriverFactory>} */ getVisibleActionByDataHookTooltipDriver: getVisibleActionByDataHookTooltipDriver, /** * Get the driver of a specific visible secondary action <Button/> * @param {actionIndex} actionIndex * @returns {Promise<buttonDriverFactory>} */ getVisibleActionButtonDriver: getVisibleActionButtonDriver, /** * Gets a specific visible secondary action <Button/> driver by its specified dataHook * @param {dataHook} button dataHook * @returns {Promise<buttonDriverFactory>} visible action button driver */ getVisibleActionByDataHookButtonDriver: getVisibleActionByDataHookButtonDriver, /** * Gets the hidden secondary action <PopoverMenu/> driver * @returns {Promise<PopoverMenuUniDriver>} */ getHiddenActionsPopoverMenuDriver: getHiddenActionsPopoverMenuDriver, /** * Clicks on a visible secondary action * @param {actionIndex} actionIndex * @returns {Promise<void>} */ clickVisibleAction: function clickVisibleAction(actionIndex) { return getVisibleActionButtonDriver(actionIndex).click(); }, /** * Clicks on a visible secondary action by its specified dataHook * @param {actionDataHook} actionDataHook * @returns {Promise<void>} */ clickVisibleActionByDataHook: function clickVisibleActionByDataHook(actionDataHook) { return getVisibleActionByDataHookButtonDriver(actionDataHook).click(); }, /** * Clicks on the hidden secondary actions <PopoverMenu/> * @returns {Promise<void>} */ clickPopoverMenu: function clickPopoverMenu() { return getHiddenActionsPopoverMenuDriver().getTriggerElement(dataHooks.triggerElement).click(); }, /** * Clicks on a hidden secondary action (requires the <PopoverMenu/> to be open) * @param {actionIndex} actionIndex * @returns {Promise<void>} */ clickHiddenAction: function clickHiddenAction(actionIndex) { return getHiddenActionsPopoverMenuDriver().clickAtChild(actionIndex); }, /** * Clicks hidden action by data hook * @param {actionDataHook} actionDataHook * @returns {Promise<void>} */ clickHiddenActionByDataHook: function clickHiddenActionByDataHook(actionDataHook) { return getHiddenActionsPopoverMenuDriver().clickAtChildByDataHook(actionDataHook); } }); };