UNPKG

@wix/design-system

Version:

@wix/design-system

1,375 lines 59.9 kB
import _typeof from "@babel/runtime/helpers/typeof";
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
import _createClass from "@babel/runtime/helpers/createClass";
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
import _inherits from "@babel/runtime/helpers/inherits";
import _extends from "@babel/runtime/helpers/extends";
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/esm/TableActionCell/test/TableActionCell.spec.jsx",
  _this = this;
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
import React from 'react';
import { createRendererWithUniDriver, cleanup, waitFor } from '../../utils/test-utils/react/index';
import { TableActionCell } from '../TableActionCell';
import { tableActionCellPrivateUniDriverFactory } from './TableActionCell.private.uni.driver';
import { Edit } from '@wix/wix-ui-icons-common';
var primaryActionProps = function primaryActionProps() {
  var actionTrigger = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
    _ref$disabled = _ref.disabled,
    disabled = _ref$disabled === void 0 ? false : _ref$disabled,
    prefixIcon = _ref.prefixIcon,
    suffixIcon = _ref.suffixIcon,
    as = _ref.as,
    visibility = _ref.visibility,
    disabledDescription = _ref.disabledDescription,
    dataHook = _ref.dataHook,
    tooltipProps = _ref.tooltipProps;
  return {
    primaryAction: {
      text: 'primary action',
      skin: 'standard',
      onClick: actionTrigger,
      disabled: disabled,
      prefixIcon: prefixIcon,
      suffixIcon: suffixIcon,
      as: as,
      dataHook: dataHook,
      disabledDescription: disabledDescription,
      tooltipProps: tooltipProps,
      visibility: visibility
    }
  };
};
var secondaryActionsProps = function secondaryActionsProps() {
  var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
    actionTriggers = _ref2.actionTriggers,
    actionDataHooks = _ref2.actionDataHooks,
    _ref2$numOfSecondaryA = _ref2.numOfSecondaryActions,
    numOfSecondaryActions = _ref2$numOfSecondaryA === void 0 ? 4 : _ref2$numOfSecondaryA,
    _ref2$numOfVisibleSec = _ref2.numOfVisibleSecondaryActions,
    numOfVisibleSecondaryActions = _ref2$numOfVisibleSec === void 0 ? 2 : _ref2$numOfVisibleSec;
  var createAction = function createAction(n) {
    return {
      text: "Action ".concat(n),
      dataHook: actionDataHooks && actionDataHooks[n],
      icon: /*#__PURE__*/React.createElement("span", {
        __self: _this,
        __source: {
          fileName: _jsxFileName,
          lineNumber: 48,
          columnNumber: 11
        }
      }, "Icon ".concat(n)),
      // simulate the icon as <span> elements
      onClick: actionTriggers && actionTriggers[n] || function () {}
    };
  };
  return {
    secondaryActions: Array(numOfSecondaryActions).fill(undefined).map(function (val, idx) {
      return createAction(idx);
    }),
    numOfVisibleSecondaryActions: numOfVisibleSecondaryActions
  };
};
describe('Table Action Cell', function () {
  describe('[async]', function () {
    runTests(createRendererWithUniDriver(tableActionCellPrivateUniDriverFactory));
  });
  function runTests(render) {
    var _this2 = this;
    afterEach(cleanup);
    it('should have primary action visibility set to "onHover" by default', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
      var _render, driver, _t;
      return _regenerator().w(function (_context) {
        while (1) switch (_context.n) {
          case 0:
            _render = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 71,
                columnNumber: 33
              }
            }))), driver = _render.driver;
            _t = expect;
            _context.n = 1;
            return driver.getPrimaryActionButtonVisibility();
          case 1:
            _t(_context.v).toBe('onHover');
          case 2:
            return _context.a(2);
        }
      }, _callee);
    })));
    it('should allow setting primary action visibility to "always"', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
      var _render2, driver, _t2;
      return _regenerator().w(function (_context2) {
        while (1) switch (_context2.n) {
          case 0:
            _render2 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(function () {}, {
              visibility: 'always'
            }), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 77,
                columnNumber: 9
              }
            }))), driver = _render2.driver;
            _t2 = expect;
            _context2.n = 1;
            return driver.getPrimaryActionButtonVisibility();
          case 1:
            _t2(_context2.v).toBe('always');
          case 2:
            return _context2.a(2);
        }
      }, _callee2);
    })));
    it("should have a placeholder when there's only a primary action", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
      var _render3, driver, _t3;
      return _regenerator().w(function (_context3) {
        while (1) switch (_context3.n) {
          case 0:
            _render3 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 86,
                columnNumber: 33
              }
            }))), driver = _render3.driver;
            _t3 = expect;
            _context3.n = 1;
            return driver.primaryActionPlaceholderExists();
          case 1:
            _t3(_context3.v).toBe(true);
          case 2:
            return _context3.a(2);
        }
      }, _callee3);
    })));
    it('should render without errors when html element is passed', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {
      var _render4, driver, _t4;
      return _regenerator().w(function (_context4) {
        while (1) switch (_context4.n) {
          case 0:
            _render4 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(function () {}, {
              as: 'a'
            }), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 92,
                columnNumber: 9
              }
            }))), driver = _render4.driver;
            _t4 = expect;
            _context4.n = 1;
            return driver.exists();
          case 1:
            _t4(_context4.v).toBe(true);
          case 2:
            return _context4.a(2);
        }
      }, _callee4);
    })));
    it('should render without errors when function reference is passed', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {
      var Link, _render5, driver, _t5;
      return _regenerator().w(function (_context5) {
        while (1) switch (_context5.n) {
          case 0:
            Link = function Link(_ref8) {
              var children = _ref8.children;
              return /*#__PURE__*/React.createElement("a", {
                __self: _this2,
                __source: {
                  fileName: _jsxFileName,
                  lineNumber: 98,
                  columnNumber: 38
                }
              }, children);
            };
            _render5 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(function () {}, {
              as: Link
            }), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 100,
                columnNumber: 9
              }
            }))), driver = _render5.driver;
            _t5 = expect;
            _context5.n = 1;
            return driver.exists();
          case 1:
            _t5(_context5.v).toBe(true);
          case 2:
            return _context5.a(2);
        }
      }, _callee5);
    })));
    it('should render without errors when class is passed', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6() {
      var LinkClass, _render6, driver, _t6;
      return _regenerator().w(function (_context6) {
        while (1) switch (_context6.n) {
          case 0:
            LinkClass = /*#__PURE__*/function (_React$Component) {
              function LinkClass() {
                _classCallCheck(this, LinkClass);
                return _callSuper(this, LinkClass, arguments);
              }
              _inherits(LinkClass, _React$Component);
              return _createClass(LinkClass, [{
                key: "render",
                value: function render() {
                  return /*#__PURE__*/React.createElement("a", {
                    __self: this,
                    __source: {
                      fileName: _jsxFileName,
                      lineNumber: 108,
                      columnNumber: 18
                    }
                  }, this.props.children);
                }
              }]);
            }(React.Component);
            _render6 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(function () {}, {
              as: LinkClass
            }), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 113,
                columnNumber: 9
              }
            }))), driver = _render6.driver;
            _t6 = expect;
            _context6.n = 1;
            return driver.exists();
          case 1:
            _t6(_context6.v).toBe(true);
          case 2:
            return _context6.a(2);
        }
      }, _callee6);
    })));
    it("should have a placeholder when there's only a primary action without secondaryActions and numOfVisibleSecondaryActions > 0", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7() {
      var _render7, driver, _t7;
      return _regenerator().w(function (_context7) {
        while (1) switch (_context7.n) {
          case 0:
            _render7 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), secondaryActionsProps({
              numOfSecondaryActions: 0,
              numOfVisibleSecondaryActions: 2
            }), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 122,
                columnNumber: 9
              }
            }))), driver = _render7.driver;
            _t7 = expect;
            _context7.n = 1;
            return driver.primaryActionPlaceholderExists();
          case 1:
            _t7(_context7.v).toBe(true);
          case 2:
            return _context7.a(2);
        }
      }, _callee7);
    })));
    it("should have a placeholder when there's a primary action and only visible secondary actions", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8() {
      var _render8, driver, _t8;
      return _regenerator().w(function (_context8) {
        while (1) switch (_context8.n) {
          case 0:
            _render8 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), secondaryActionsProps({
              numOfSecondaryActions: 2,
              numOfVisibleSecondaryActions: 2
            }), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 135,
                columnNumber: 9
              }
            }))), driver = _render8.driver;
            _t8 = expect;
            _context8.n = 1;
            return driver.primaryActionPlaceholderExists();
          case 1:
            _t8(_context8.v).toBe(true);
          case 2:
            return _context8.a(2);
        }
      }, _callee8);
    })));
    it('should display the primary action button', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9() {
      var onPrimaryActionTrigger, _render9, driver, _t9, _t0;
      return _regenerator().w(function (_context9) {
        while (1) switch (_context9.n) {
          case 0:
            onPrimaryActionTrigger = vi.fn();
            _render9 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(onPrimaryActionTrigger), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 150,
                columnNumber: 9
              }
            }))), driver = _render9.driver;
            _t9 = expect;
            _context9.n = 1;
            return driver.getPrimaryActionButtonDriver().exists();
          case 1:
            _t9(_context9.v).toBe(true);
            _t0 = expect;
            _context9.n = 2;
            return driver.getPrimaryActionButtonDriver().getButtonTextContent();
          case 2:
            _t0(_context9.v).toEqual('primary action');
          case 3:
            return _context9.a(2);
        }
      }, _callee9);
    })));
    it('should trigger the primary action on primary button click', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee0() {
      var onPrimaryActionTrigger, _render0, driver;
      return _regenerator().w(function (_context0) {
        while (1) switch (_context0.n) {
          case 0:
            onPrimaryActionTrigger = vi.fn();
            _render0 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(onPrimaryActionTrigger), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 163,
                columnNumber: 9
              }
            }))), driver = _render0.driver;
            _context0.n = 1;
            return driver.clickPrimaryActionButton();
          case 1:
            expect(onPrimaryActionTrigger).toHaveBeenCalledTimes(1);
          case 2:
            return _context0.a(2);
        }
      }, _callee0);
    })));
    it('should not have a primary action placeholder when there are also secondary actions', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee1() {
      var _render1, driver, _t1;
      return _regenerator().w(function (_context1) {
        while (1) switch (_context1.n) {
          case 0:
            _render1 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), secondaryActionsProps(), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 172,
                columnNumber: 9
              }
            }))), driver = _render1.driver;
            _t1 = expect;
            _context1.n = 1;
            return driver.primaryActionPlaceholderExists();
          case 1:
            _t1(_context1.v).toBe(false);
          case 2:
            return _context1.a(2);
        }
      }, _callee1);
    })));
    it('should put visible secondary actions in the cell', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee10() {
      var _render10, driver, tooltipDriver1, tooltipDriver2, _t10, _t11, _t12, _t13, _t14;
      return _regenerator().w(function (_context10) {
        while (1) switch (_context10.n) {
          case 0:
            _render10 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), secondaryActionsProps({
              actionDataHooks: [undefined, 'data-hook-for-1']
            }), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 183,
                columnNumber: 9
              }
            }))), driver = _render10.driver;
            _t10 = expect;
            _context10.n = 1;
            return driver.getVisibleActionsCount();
          case 1:
            _t10(_context10.v).toEqual(2);
            _t11 = expect;
            _context10.n = 2;
            return driver.getVisibleActionButtonDriver(0).getButtonTextContent();
          case 2:
            _t11(_context10.v).toEqual('Icon 0');
            _t12 = expect;
            _context10.n = 3;
            return driver.getVisibleActionByDataHookButtonDriver('data-hook-for-1').getButtonTextContent();
          case 3:
            _t12(_context10.v).toEqual('Icon 1');
            _context10.n = 4;
            return driver.getVisibleActionTooltipDriver(0);
          case 4:
            tooltipDriver1 = _context10.v;
            _context10.n = 5;
            return tooltipDriver1.mouseEnter();
          case 5:
            _t13 = expect;
            _context10.n = 6;
            return tooltipDriver1.getTooltipText();
          case 6:
            _t13(_context10.v).toEqual('Action 0');
            _context10.n = 7;
            return driver.getVisibleActionByDataHookTooltipDriver('data-hook-for-1');
          case 7:
            tooltipDriver2 = _context10.v;
            _context10.n = 8;
            return tooltipDriver2.mouseEnter();
          case 8:
            _t14 = expect;
            _context10.n = 9;
            return tooltipDriver2.getTooltipText();
          case 9:
            _t14(_context10.v).toEqual('Action 1');
          case 10:
            return _context10.a(2);
        }
      }, _callee10);
    })));
    it('should render visible secondary actions with default priority="secondary"', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee11() {
      var _render11, driver, buttonElement;
      return _regenerator().w(function (_context11) {
        while (1) switch (_context11.n) {
          case 0:
            _render11 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), secondaryActionsProps({
              actionDataHooks: ['visible-action-0'],
              numOfVisibleSecondaryActions: 1
            }), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 215,
                columnNumber: 9
              }
            }))), driver = _render11.driver;
            _context11.n = 1;
            return driver.getVisibleActionByDataHookButtonDriver('visible-action-0').element();
          case 1:
            buttonElement = _context11.v;
            expect(buttonElement.outerHTML).toContain('secondary');
            expect(buttonElement.outerHTML).not.toContain('tertiary');
          case 2:
            return _context11.a(2);
        }
      }, _callee11);
    })));
    it('should forward secondaryActionsProps.priority to visible secondary action buttons', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee12() {
      var _render12, driver, buttonElement;
      return _regenerator().w(function (_context12) {
        while (1) switch (_context12.n) {
          case 0:
            _render12 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), secondaryActionsProps({
              actionDataHooks: ['visible-action-0'],
              numOfVisibleSecondaryActions: 1
            }), {
              secondaryActionsProps: {
                priority: 'tertiary'
              },
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 233,
                columnNumber: 9
              }
            }))), driver = _render12.driver;
            _context12.n = 1;
            return driver.getVisibleActionByDataHookButtonDriver('visible-action-0').element();
          case 1:
            buttonElement = _context12.v;
            expect(buttonElement.outerHTML).toContain('tertiary');
          case 2:
            return _context12.a(2);
        }
      }, _callee12);
    })));
    it('should put hidden secondary action in a PopoverMenu', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee14() {
      var _render13, driver, _t16;
      return _regenerator().w(function (_context14) {
        while (1) switch (_context14.n) {
          case 0:
            _render13 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), secondaryActionsProps(), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 251,
                columnNumber: 9
              }
            }))), driver = _render13.driver;
            _t16 = expect;
            _context14.n = 1;
            return driver.getHiddenActionsPopoverMenuDriver().exists();
          case 1:
            _t16(_context14.v).toEqual(true);
            _context14.n = 2;
            return driver.clickPopoverMenu();
          case 2:
            _context14.n = 3;
            return waitFor(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee13() {
              var _t15;
              return _regenerator().w(function (_context13) {
                while (1) switch (_context13.n) {
                  case 0:
                    _t15 = expect;
                    _context13.n = 1;
                    return driver.getHiddenActionsCount();
                  case 1:
                    return _context13.a(2, _t15(_context13.v).toEqual(2));
                }
              }, _callee13);
            })));
          case 3:
            return _context14.a(2);
        }
      }, _callee14);
    })));
    it('should forward the click event to a visible secondary action onClick', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee15() {
      var actionTrigger, _render14, driver, _actionTrigger$mock$c, event;
      return _regenerator().w(function (_context15) {
        while (1) switch (_context15.n) {
          case 0:
            actionTrigger = vi.fn();
            _render14 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), secondaryActionsProps({
              actionTriggers: [actionTrigger]
            }), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 270,
                columnNumber: 9
              }
            }))), driver = _render14.driver;
            _context15.n = 1;
            return driver.clickVisibleAction(0);
          case 1:
            expect(actionTrigger).toHaveBeenCalledTimes(1);
            _actionTrigger$mock$c = _slicedToArray(actionTrigger.mock.calls[0], 1), event = _actionTrigger$mock$c[0];
            expect(event).toBeDefined();
            expect(_typeof(event.clientX)).toBe('number');
            expect(_typeof(event.clientY)).toBe('number');
          case 2:
            return _context15.a(2);
        }
      }, _callee15);
    })));
    it.skip('should trigger secondary action on click', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee18() {
      var actionTriggers, _render15, driver;
      return _regenerator().w(function (_context18) {
        while (1) switch (_context18.n) {
          case 0:
            actionTriggers = Array(4).fill(undefined).map(function () {
              return vi.fn();
            });
            _render15 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), secondaryActionsProps({
              actionTriggers: actionTriggers,
              actionDataHooks: [undefined, 'data-hook-for-1', undefined, 'data-hook-for-3']
            }), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 293,
                columnNumber: 9
              }
            }))), driver = _render15.driver;
            _context18.n = 1;
            return driver.clickVisibleAction(0);
          case 1:
            _context18.n = 2;
            return driver.clickVisibleActionByDataHook('data-hook-for-1');
          case 2:
            _context18.n = 3;
            return driver.clickPopoverMenu();
          case 3:
            _context18.n = 4;
            return waitFor(function () {
              return driver.clickHiddenAction(0);
            });
          case 4:
            _context18.n = 5;
            return driver.clickPopoverMenu();
          case 5:
            _context18.n = 6;
            return waitFor(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee16() {
              return _regenerator().w(function (_context16) {
                while (1) switch (_context16.n) {
                  case 0:
                    _context16.n = 1;
                    return driver.clickHiddenActionByDataHook('data-hook-for-3');
                  case 1:
                    return _context16.a(2, _context16.v);
                }
              }, _callee16);
            })));
          case 6:
            _context18.n = 7;
            return waitFor(function () {
              return actionTriggers.forEach(/*#__PURE__*/function () {
                var _ref21 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee17(actionTrigger) {
                  return _regenerator().w(function (_context17) {
                    while (1) switch (_context17.n) {
                      case 0:
                        _context17.n = 1;
                        return expect(actionTrigger).toHaveBeenCalledTimes(1);
                      case 1:
                        return _context17.a(2);
                    }
                  }, _callee17);
                }));
                return function (_x) {
                  return _ref21.apply(this, arguments);
                };
              }());
            });
          case 7:
            return _context18.a(2);
        }
      }, _callee18);
    })));
    it('should render disabled hidden actions', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee20() {
      var actionTrigger, disabledAction, _render16, driver;
      return _regenerator().w(function (_context20) {
        while (1) switch (_context20.n) {
          case 0:
            actionTrigger = vi.fn();
            disabledAction = {
              text: "Disabled Action",
              icon: /*#__PURE__*/React.createElement("span", {
                __self: _this2,
                __source: {
                  fileName: _jsxFileName,
                  lineNumber: 329,
                  columnNumber: 15
                }
              }, "Icon"),
              onClick: actionTrigger,
              disabled: true
            };
            _render16 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), {
              secondaryActions: [disabledAction],
              numOfVisibleSecondaryActions: 0,
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 334,
                columnNumber: 9
              }
            }))), driver = _render16.driver;
            _context20.n = 1;
            return driver.clickPopoverMenu();
          case 1:
            _context20.n = 2;
            return waitFor(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee19() {
              return _regenerator().w(function (_context19) {
                while (1) switch (_context19.n) {
                  case 0:
                    _context19.n = 1;
                    return driver.clickHiddenAction(0);
                  case 1:
                    return _context19.a(2, _context19.v);
                }
              }, _callee19);
            })));
          case 2:
            expect(actionTrigger).not.toHaveBeenCalled();
          case 3:
            return _context20.a(2);
        }
      }, _callee20);
    })));
    it('should allow to change the number of visible secondary actions', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee22() {
      var _render17, driver, _t18;
      return _regenerator().w(function (_context22) {
        while (1) switch (_context22.n) {
          case 0:
            _render17 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), secondaryActionsProps(), {
              numOfVisibleSecondaryActions: 3,
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 350,
                columnNumber: 9
              }
            }))), driver = _render17.driver;
            _t18 = expect;
            _context22.n = 1;
            return driver.getVisibleActionsCount();
          case 1:
            _t18(_context22.v).toEqual(3);
            _context22.n = 2;
            return driver.clickPopoverMenu();
          case 2:
            _context22.n = 3;
            return waitFor(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee21() {
              var _t17;
              return _regenerator().w(function (_context21) {
                while (1) switch (_context21.n) {
                  case 0:
                    _t17 = expect;
                    _context21.n = 1;
                    return driver.getHiddenActionsCount();
                  case 1:
                    return _context21.a(2, _t17(_context21.v).toEqual(1));
                }
              }, _callee21);
            })));
          case 3:
            return _context22.a(2);
        }
      }, _callee22);
    })));
    it('should allow to have no visible secondary actions', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee24() {
      var _render18, driver, _t20;
      return _regenerator().w(function (_context24) {
        while (1) switch (_context24.n) {
          case 0:
            _render18 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), secondaryActionsProps(), {
              numOfVisibleSecondaryActions: 0,
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 367,
                columnNumber: 9
              }
            }))), driver = _render18.driver;
            _t20 = expect;
            _context24.n = 1;
            return driver.getVisibleActionsCount();
          case 1:
            _t20(_context24.v).toEqual(0);
            _context24.n = 2;
            return driver.clickPopoverMenu();
          case 2:
            _context24.n = 3;
            return waitFor(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee23() {
              var _t19;
              return _regenerator().w(function (_context23) {
                while (1) switch (_context23.n) {
                  case 0:
                    _t19 = expect;
                    _context23.n = 1;
                    return driver.getHiddenActionsCount();
                  case 1:
                    return _context23.a(2, _t19(_context23.v).toEqual(4));
                }
              }, _callee23);
            })));
          case 3:
            return _context24.a(2);
        }
      }, _callee24);
    })));
    it('should mark the primary action as disabled', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee25() {
      var _render19, driver, _t21;
      return _regenerator().w(function (_context25) {
        while (1) switch (_context25.n) {
          case 0:
            _render19 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(function () {}, {
              disabled: true
            }), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 384,
                columnNumber: 9
              }
            }))), driver = _render19.driver;
            _t21 = expect;
            _context25.n = 1;
            return driver.getIsPrimaryActionButtonDisabled();
          case 1:
            _t21(_context25.v).toBe(true);
          case 2:
            return _context25.a(2);
        }
      }, _callee25);
    })));
    it('should not add prefix icon to primary action', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee26() {
      var _render20, driver, _t22;
      return _regenerator().w(function (_context26) {
        while (1) switch (_context26.n) {
          case 0:
            _render20 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(function () {}), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 394,
                columnNumber: 9
              }
            }))), driver = _render20.driver;
            _t22 = expect;
            _context26.n = 1;
            return driver.primaryActionButtonPrefixIconExists();
          case 1:
            _t22(_context26.v).toBe(false);
          case 2:
            return _context26.a(2);
        }
      }, _callee26);
    })));
    it('should add prefix icon to primary action', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee27() {
      var _render21, driver, _t23;
      return _regenerator().w(function (_context27) {
        while (1) switch (_context27.n) {
          case 0:
            _render21 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(function () {}, {
              prefixIcon: /*#__PURE__*/React.createElement(Edit, {
                __self: _this2,
                __source: {
                  fileName: _jsxFileName,
                  lineNumber: 403,
                  columnNumber: 58
                }
              })
            }), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 402,
                columnNumber: 9
              }
            }))), driver = _render21.driver;
            _t23 = expect;
            _context27.n = 1;
            return driver.primaryActionButtonPrefixIconExists();
          case 1:
            _t23(_context27.v).toBe(true);
          case 2:
            return _context27.a(2);
        }
      }, _callee27);
    })));
    it('should not add suffix icon to primary action', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee28() {
      var _render22, driver, _t24;
      return _regenerator().w(function (_context28) {
        while (1) switch (_context28.n) {
          case 0:
            _render22 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(function () {}), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 412,
                columnNumber: 9
              }
            }))), driver = _render22.driver;
            _t24 = expect;
            _context28.n = 1;
            return driver.primaryActionButtonSuffixIconExists();
          case 1:
            _t24(_context28.v).toBe(false);
          case 2:
            return _context28.a(2);
        }
      }, _callee28);
    })));
    it('should add suffix icon to primary action', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee29() {
      var _render23, driver, _t25;
      return _regenerator().w(function (_context29) {
        while (1) switch (_context29.n) {
          case 0:
            _render23 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(function () {}, {
              suffixIcon: /*#__PURE__*/React.createElement(Edit, {
                __self: _this2,
                __source: {
                  fileName: _jsxFileName,
                  lineNumber: 421,
                  columnNumber: 58
                }
              })
            }), {
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 420,
                columnNumber: 9
              }
            }))), driver = _render23.driver;
            _t25 = expect;
            _context29.n = 1;
            return driver.primaryActionButtonSuffixIconExists();
          case 1:
            _t25(_context29.v).toBe(true);
          case 2:
            return _context29.a(2);
        }
      }, _callee29);
    })));
    describe('when a secondary action is disabled', function () {
      it('should mark the a visible secondary actions as disabled', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee30() {
        var actionTrigger, disabledAction, _render24, driver, firstVisibleActionButton, _t26;
        return _regenerator().w(function (_context30) {
          while (1) switch (_context30.n) {
            case 0:
              actionTrigger = vi.fn();
              disabledAction = {
                text: "Disabled Action",
                icon: /*#__PURE__*/React.createElement("span", {
                  __self: _this2,
                  __source: {
                    fileName: _jsxFileName,
                    lineNumber: 434,
                    columnNumber: 17
                  }
                }, "Icon"),
                onClick: actionTrigger,
                disabled: true
              };
              _render24 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), {
                secondaryActions: [disabledAction],
                numOfVisibleSecondaryActions: 1,
                __self: _this2,
                __source: {
                  fileName: _jsxFileName,
                  lineNumber: 440,
                  columnNumber: 11
                }
              }))), driver = _render24.driver;
              firstVisibleActionButton = driver.getVisibleActionButtonDriver(0);
              _t26 = expect;
              _context30.n = 1;
              return firstVisibleActionButton.isButtonDisabled();
            case 1:
              _t26(_context30.v).toBe(true);
              _context30.n = 2;
              return firstVisibleActionButton.click();
            case 2:
              expect(actionTrigger).not.toHaveBeenCalled();
            case 3:
              return _context30.a(2);
          }
        }, _callee30);
      })));
      describe('when action is disabled', function () {
        describe('when disabledDescription is supplied', function () {
          var disabledDescription = 'disabled item description';
          it('should show the supplied description as tooltip', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee31() {
            var secondaryActions, _render25, driver, tooltipDriver, _t27;
            return _regenerator().w(function (_context31) {
              while (1) switch (_context31.n) {
                case 0:
                  secondaryActions = [{
                    text: "Disabled Action",
                    icon: /*#__PURE__*/React.createElement("span", {
                      __self: _this2,
                      __source: {
                        fileName: _jsxFileName,
                        lineNumber: 461,
                        columnNumber: 23
                      }
                    }, "Icon"),
                    onClick: function onClick() {},
                    disabled: true,
                    disabledDescription: disabledDescription
                  }];
                  _render25 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), {
                    secondaryActions: secondaryActions,
                    numOfVisibleSecondaryActions: 1,
                    __self: _this2,
                    __source: {
                      fileName: _jsxFileName,
                      lineNumber: 469,
                      columnNumber: 15
                    }
                  }))), driver = _render25.driver;
                  _context31.n = 1;
                  return driver.getVisibleActionTooltipDriver(0);
                case 1:
                  tooltipDriver = _context31.v;
                  _context31.n = 2;
                  return tooltipDriver.mouseEnter();
                case 2:
                  _t27 = expect;
                  _context31.n = 3;
                  return tooltipDriver.getTooltipText();
                case 3:
                  _t27(_context31.v).toEqual(disabledDescription);
                case 4:
                  return _context31.a(2);
              }
            }, _callee31);
          })));
          describe('when overriding tooltip content with tooltipProps', function () {
            it('should show the supplied content as tooltip', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee32() {
              var tooltipContent, secondaryActions, _render26, driver, tooltipDriver, _t28;
              return _regenerator().w(function (_context32) {
                while (1) switch (_context32.n) {
                  case 0:
                    tooltipContent = 'Some custom tooltip content';
                    secondaryActions = [{
                      text: "Disabled Action",
                      icon: /*#__PURE__*/React.createElement("span", {
                        __self: _this2,
                        __source: {
                          fileName: _jsxFileName,
                          lineNumber: 490,
                          columnNumber: 25
                        }
                      }, "Icon"),
                      onClick: function onClick() {},
                      disabled: true,
                      disabledDescription: disabledDescription,
                      tooltipProps: {
                        content: tooltipContent
                      }
                    }];
                    _render26 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), {
                      secondaryActions: secondaryActions,
                      numOfVisibleSecondaryActions: 1,
                      __self: _this2,
                      __source: {
                        fileName: _jsxFileName,
                        lineNumber: 499,
                        columnNumber: 17
                      }
                    }))), driver = _render26.driver;
                    _context32.n = 1;
                    return driver.getVisibleActionTooltipDriver(0);
                  case 1:
                    tooltipDriver = _context32.v;
                    _context32.n = 2;
                    return tooltipDriver.mouseEnter();
                  case 2:
                    _t28 = expect;
                    _context32.n = 3;
                    return tooltipDriver.getTooltipText();
                  case 3:
                    _t28(_context32.v).toEqual(tooltipContent);
                  case 4:
                    return _context32.a(2);
                }
              }, _callee32);
            })));
          });
        });
        describe('when disabledDescription is not supplied', function () {
          it('should show action text as tooltip', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee33() {
            var actionText, secondaryActions, _render27, driver, tooltipDriver, _t29;
            return _regenerator().w(function (_context33) {
              while (1) switch (_context33.n) {
                case 0:
                  actionText = "Disabled Action";
                  secondaryActions = [{
                    text: actionText,
                    icon: /*#__PURE__*/React.createElement("span", {
                      __self: _this2,
                      __source: {
                        fileName: _jsxFileName,
                        lineNumber: 522,
                        columnNumber: 23
                      }
                    }, "Icon"),
                    onClick: function onClick() {},
                    disabled: true
                  }];
                  _render27 = render(/*#__PURE__*/React.createElement(TableActionCell, _extends({}, primaryActionProps(), {
                    secondaryActions: secondaryActions,
                    numOfVisibleSecondaryActions: 1,
                    __self: _this2,
                    __source: {
                      fileName: _jsxFileName,
                      lineNumber: 529,
                      columnNumber: 15
                    }
                  }))), driver = _render27.driver;
                  _context33.n = 1;
                  return driver.getVisibleActionTooltipDriver(0);
                case 1:
                  tooltipDriver = _context33.v;
                  _context33.n = 2;
                  return tooltipDriver.mouseEnter();
                case 2:
                  _t29 = expect;
                  _context33.n = 3;
                  return tooltipDriver.getTooltipText();
                case 3:
                  _t29(_context33.v).toEqual(actionText);
                case 4:
                  return _context33.a(2);
              }
            }, _callee33);
          })));
        });
      });
    });
    it('should set `getMoreActionsTooltipText` value [when] given', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee34() {
      var _render28, driver, _t30;
      return _regenerator().w(function (_context34) {
        while (1) switch (_context34.n) {
          case 0:
            _render28 = render(/*#__PURE__*/React.createElement(TableActionCell, {
              moreActionsTooltipText: "More Actions",
              secondaryActions: [{
                text: 'Text',
                icon: /*#__PURE__*/React.createElement("span", {
                  __self: _this2,
                  __source: {
                    fileName: _jsxFileName,
                    lineNumber: 552,
                    columnNumber: 21
                  }
                }, "Icon"),
                onClick: function onClick() {}
              }],
              __self: _this2,
              __source: {
                fileName: _jsxFileName,
                lineNumber: 547,
                columnNumber: 9
              }
            })), driver = _render28.driver;
            _t30 = expect;
            _context34.n = 1;
            return driver.getMoreActionsTooltipText();
          case 1:
            _t30(_context34.v).toBe('More Actions');
          case 2:
            return _context34.a(2);
        }
      }, _callee34);
    })));
    describe('hidden secondary actions skin', function () {
      it('should render popover menu items with standard skin by default', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee35() {
        var _render29, driver, _t31;
        return _regenerator().w(function (_context35) {
          while (1) switch (_context35.n) {
            case 0:
              _render29 = render(/*#__PURE__*/React.createElement(TableActionCell, {
                secondaryActions: [{
                  text: 'Text',
                  icon: /*#__PURE__*/React.createElement("span", {
                    __self: _this2,
                    __source: {
                      fileName: _jsxFileName,
                      lineNumber: 567,
                      columnNumber: 37
                    }
                  }, "Icon"),
                  onClick: function onClick() {}
                }],
                __self: _this2,
                __source: {
                  fileName: _jsxFileName,
                  lineNumber: 565,
                  columnNumber: 11
                }
              })), driver = _render29.driver;
              _context35.n = 1;
              return driver.clickSecondaryActions();
            case 1:
              _t31 = expect;
              _context35.n = 2;
              return driver.getPopoverMenuItemSkin(0);
            case 2:
              _t31(_context35.v).toBe('standard');
            case 3:
              return _context35.a(2);
          }
        }, _callee35);
      })));
      it('should keep an explicitly provided skin on popover menu items', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee36() {
        var _render30, driver, _t32;
        return _regenerator().w(function (_context36) {
          while (1) switch (_context36.n) {
            case 0:
              _render30 = render(/*#__PURE__*/React.createElement(TableActionCell, {
                secondaryActions: [{
                  text: 'Text',
                  icon: /*#__PURE__*/React.createElement("span", {
                    __self: _this2,
                    __source: {
                      fileName: _jsxFileName,
                      lineNumber: 583,
                      columnNumber: 23
                    }
                  }, "Icon"),
                  onClick: function onClick() {},
                  skin: 'destructive'
                }],
                __self: _this2,
                __source: {
                  fileName: _jsxFileName,
                  lineNumber: 579,
                  columnNumber: 11
                }
              })), driver = _render30.driver;
              _context36.n = 1;
              return driver.clickSecondaryActions();
            case 1:
              _t32 = expect;
              _context36.n = 2;
              return driver.getPopoverMenuItemSkin(0);
            case 2:
              _t32(_context36.v).toBe('destructive');
            case 3:
              return _context36.a(2);
          }
        }, _callee36);
      })));
    });
    describe('primaryAction array format', function () {
      it('should render multiple primary actions when primaryAction is an array', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee37() {
        var _render31, driver, _t33;
        return _regenerator().w(function (_context37) {
          while (1) switch (_context37.n) {
            case 0:
              _render31 = render(/*#__PURE__*/React.createElement(TableActionCell, {
                primaryAction: [{
                  text: 'Action 1',
                  onClick: function onClick() {},
                  priority: 'primary',
                  dataHook: 'action-1'
                }, {
                  text: 'Action 2',
                  onClick: function onClick() {},
                  priority: 'secondary',
                  dataHook: 'action-2'
                }],
                alwaysShowPrimaryActions: true,
                __self: _this2,
                __source: {
                  fileName: _jsxFileName,
                  lineNumber: 600,
                  columnNumber: 11
                }
              })), driver = _render31.driver;
              _t33 = expect;
              _context37.n = 1;
              return driver.getPrimaryActionsCount();
            case 1:
              _t33(_context37.v).toBe(2);
            case 2:
              return _context37.a(2);
          }
        }, _callee37);
      })));
      it('should render primary actions with visibility "onHover"', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee38() {
        var _render32, driver, _t34;
        return _regenerator().w(function (_context38) {
          while (1) switch (_context38.n) {
            case 0:
              _render32 = render(/*#__PURE__*/React.createElement(TableActionCell, {
                primaryAction: [{
                  text: 'Action 1',
                  onClick: function onClick() {},
                  priority: 'primary',
                  dataHook: 'action-1'
                }, {
                  text: 'Action 2',
                  onClick: function onClick() {},
                  priority: 'secondary',
                  dataHook: 'action-2'
                }],
                alwaysShowPrimaryActions: false,
                __self: _this2,
                __source: {
                  fileName: _jsxFileName,
                  lineNumber: 624,
                  columnNumber: 11
                }
              })), driver = _render32.driver;
              _t34 = expect;
              _context38.n = 1;
              return driver.getPrimaryActionButtonVisibility();
            case 1:
              _t34(_context38.v).toBe('onHover');
            case 2:
              return _context38.a(2);
          }
        }, _callee38);
      })));
      it('should render primary actions with visibility "always"', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee39() {
        var _render33, driver, _t35;
        return _regenerator().w(function (_context39) {
          while (1) switch (_context39.n) {
            case 0:
              _render33 = render(/*#__PURE__*/React.createElement(TableActionCell, {
                primaryAction: [{
                  text: 'Action 1',
                  onClick: function onClick() {},
                  priority: 'primary',
                  dataHook: 'action-1'
                }],
                alwaysShowPrimaryActions: true,
                __self: _this2,
                __source: {
                  fileName: _jsxFileName,
                  lineNumber: 648,
                  columnNumber: 11
                }
              })), driver = _render33.driver;
              _t35 = expect;
              _context39.n = 1;
              return driver.getPrimaryActionButtonVisibility();
            case 1:
              _t35(_context39.v).toBe('always');
            case 2:
              return _context39.a(2);
          }
        }, _callee39);
      })));
      it('should trigger primary actions onClick when clicked (array format)', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee40() {
        var action1Trigger, action2Trigger, _render34, driver;
        return _regenerator().w(function (_context40) {
          while (1) switch (_context40.n) {
            case 0:
              action1Trigger = vi.fn();
              action2Trigger = vi.fn();
              _render34 = render(/*#__PURE__*/React.createElement(TableActionCell, {
                primaryAction: [{
                  text: 'Action 1',
                  onClick: action1Trigger,
                  priority: 'primary',
                  dataHook: 'action-1'
                }, {
                  text: 'Action 2',
                  onClick: action2Trigger,
                  priority: 'secondary',
                  dataHook: 'action-2'
                }],
                alwaysShowPrimaryActions: true,
                __self: _this2,
                __source: {
                  fileName: _jsxFileName,
                  lineNumber: 669,
                  columnNumber: 11
                }
              })), driver = _render34.driver; // Click first primary action
              _context40.n = 1;
              return driver.clickPrimaryAction(0);
            case 1:
              expect(action1Trigger).toHaveBeenCalledTimes(1);
              expect(action2Trigger).toHaveBeenCalledTimes(0);

              // Click second primary action
              _context40.n = 2;
              return driver.clickPrimaryAction(1);
            case 2:
              expect(action1Trigger).toHaveBeenCalledTimes(1);
              expect(action2Trigger).toHaveBeenCalledTimes(1);
            case 3:
              return _context40.a(2);
          }
        }, _callee40);
      })));
    });
  }
});