UNPKG

wix-style-react

Version:
282 lines (230 loc) • 11 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.tableActionCellUniDriverFactory = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _unidriver = require("../../test/utils/unidriver"); var _constants = require("./constants"); var _ButtonUni = require("../Button/Button.uni.driver"); var _TooltipUni = require("../Tooltip/Tooltip.uni.driver"); var _PopoverMenuUni = require("../PopoverMenu/PopoverMenu.uni.driver"); 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) { (0, _defineProperty2["default"])(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; } var tableActionCellUniDriverFactory = function tableActionCellUniDriverFactory(base, body) { var getPrimaryActionButtonDriver = function getPrimaryActionButtonDriver() { return (0, _ButtonUni.buttonDriverFactory)((0, _unidriver.findByHook)(base, _constants.dataHooks.primaryAction)); }; var getVisibleActionTooltipDriver = function getVisibleActionTooltipDriver(actionIndex) { return (0, _TooltipUni.tooltipDriverFactory)((0, _unidriver.findByHookAtIndex)(base, _constants.dataHooks.visibleActionTooltip, actionIndex), body); }; var getVisibleActionByDataHookTooltipDriver = function getVisibleActionByDataHookTooltipDriver(dataHook) { return (0, _TooltipUni.tooltipDriverFactory)((0, _unidriver.findByHook)(base, dataHook), body); }; var getVisibleActionButtonDriver = function getVisibleActionButtonDriver(actionIndex) { return (0, _ButtonUni.buttonDriverFactory)((0, _unidriver.findByHookAtIndex)(base, _constants.dataHooks.visibleAction, actionIndex)); }; var getVisibleActionByDataHookButtonDriver = function getVisibleActionByDataHookButtonDriver(dataHook) { return (0, _ButtonUni.buttonDriverFactory)((0, _unidriver.findByHook)(base, dataHook)); }; var getHiddenActionsPopoverMenuDriver = function getHiddenActionsPopoverMenuDriver() { return (0, _PopoverMenuUni.PopoverMenuDriver)((0, _unidriver.findByHook)(base, _constants.dataHooks.popoverMenu), body); }; return _objectSpread(_objectSpread({}, (0, _unidriver.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 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { return _regenerator["default"].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 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { return _regenerator["default"].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 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { return _regenerator["default"].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 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() { return _regenerator["default"].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 (0, _unidriver.countByHook)(base, _constants.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(_constants.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); } }); }; exports.tableActionCellUniDriverFactory = tableActionCellUniDriverFactory;