UNPKG

wix-style-react

Version:
152 lines (119 loc) • 5.94 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.PopoverMenuDriver = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _DropdownBaseUni = require("../DropdownBase/DropdownBase.uni.driver"); var _DropdownLayoutUni = require("../DropdownLayout/DropdownLayout.uni.driver"); var _PopoverCommon = _interopRequireDefault(require("../Popover/Popover.common.driver")); var _baseDriver = require("wix-ui-test-utils/base-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 PopoverMenuDriver = function PopoverMenuDriver(base, body) { var dropdownBaseTestkit = (0, _DropdownBaseUni.dropdownBaseDriverFactory)(base, body); var createDropdownLayoutDriver = /*#__PURE__*/function () { var _ref = (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.t0 = _DropdownLayoutUni.dropdownLayoutDriverFactory; _context.next = 3; return getContentElement(); case 3: _context.t1 = _context.sent.$("[data-hook=\"dropdown-base-dropdownlayout\"]"); return _context.abrupt("return", (0, _context.t0)(_context.t1)); case 5: case "end": return _context.stop(); } } }, _callee); })); return function createDropdownLayoutDriver() { return _ref.apply(this, arguments); }; }(); var getContentElement = /*#__PURE__*/function () { var _ref2 = (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: return _context2.abrupt("return", (0, _PopoverCommon["default"])(base, body).getContentElement()); case 1: case "end": return _context2.stop(); } } }, _callee2); })); return function getContentElement() { return _ref2.apply(this, arguments); }; }(); return _objectSpread(_objectSpread({}, (0, _baseDriver.baseUniDriverFactory)(base)), {}, { /** Returns true of popoverMenu exists */ exists: function exists() { return dropdownBaseTestkit.exists(); }, /** Returns trigger element */ getTriggerElement: function getTriggerElement(dataHook) { return base.$("[data-hook=\"".concat(dataHook, "\"]")); }, /** Select a specific option by its index (requires the menu to be opened) */ clickAtChild: function clickAtChild(index) { return dropdownBaseTestkit.selectOption(index); }, /** Select a specific option by its data-hook (requires the menu to be opened) */ clickAtChildByDataHook: function clickAtChildByDataHook(dataHook) { return dropdownBaseTestkit.selectOptionByDataHook(dataHook); }, /** Return true if the menu is opened */ isMenuOpen: function isMenuOpen() { return dropdownBaseTestkit.isDropdownShown(); }, /** Returns children count */ childrenCount: function childrenCount() { return dropdownBaseTestkit.optionsCount(); }, /** Returns text of <PopoverMenu.MenuItem/> of a specific index */ itemContentAt: function () { var _itemContentAt = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(index) { var dropdownLayoutDriver, options, nodeContent; return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return createDropdownLayoutDriver(); case 2: dropdownLayoutDriver = _context3.sent; _context3.next = 5; return dropdownLayoutDriver.options(); case 5: options = _context3.sent; nodeContent = options[index].element().$$(':first-child'); _context3.next = 9; return nodeContent.get(0).text(); case 9: return _context3.abrupt("return", _context3.sent); case 10: case "end": return _context3.stop(); } } }, _callee3); })); function itemContentAt(_x) { return _itemContentAt.apply(this, arguments); } return itemContentAt; }() }); }; exports.PopoverMenuDriver = PopoverMenuDriver;