UNPKG

wix-style-react

Version:
199 lines (162 loc) • 7.24 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = 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 _DropdownLayoutProtractor = _interopRequireDefault(require("../DropdownLayout/DropdownLayout.protractor.driver")); var _PopoverUni = require("../Popover/Popover.uni.driver"); var _protractor = require("wix-ui-test-utils/protractor"); var _InputWithOptionsProxy = require("./InputWithOptions.proxy.driver"); var _InputPrivateProtractor = _interopRequireDefault(require("../Input/Input.private.protractor.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 popoverTestkitFactory = (0, _protractor.protractorUniTestkitFactoryCreator)(_PopoverUni.popoverDriverFactory); var getPopoverTestkit = /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(component) { return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.t0 = popoverTestkitFactory; _context.next = 3; return component.getAttribute('data-hook'); case 3: _context.t1 = _context.sent; _context.t2 = { dataHook: _context.t1 }; return _context.abrupt("return", (0, _context.t0)(_context.t2)); case 6: case "end": return _context.stop(); } } }, _callee); })); return function getPopoverTestkit(_x) { return _ref.apply(this, arguments); }; }(); var dropdownLayoutSelector = "[data-hook=\"inputwithoptions-dropdownlayout\"]"; var driverFactory = function driverFactory(component) { var getDropdownLayoutDriver = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { var popoverTestkit, contentElement; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return getPopoverTestkit(component); case 2: popoverTestkit = _context2.sent; _context2.next = 5; return popoverTestkit.getContentElement(); case 5: contentElement = _context2.sent; return _context2.abrupt("return", (0, _DropdownLayoutProtractor["default"])(contentElement.$(dropdownLayoutSelector))); case 7: case "end": return _context2.stop(); } } }, _callee2); })); return function getDropdownLayoutDriver() { return _ref2.apply(this, arguments); }; }(); var dropdownLayoutDummy = function dropdownLayoutDummy() { return (0, _DropdownLayoutProtractor["default"])(component); }; var input = component.$("input"); var inputDriver = (0, _InputPrivateProtractor["default"])(component.$('[data-input-parent]')); var dropdownLayoutDriver = (0, _InputWithOptionsProxy.dropdownLayoutDriverProxy)(dropdownLayoutDummy, getDropdownLayoutDriver, function () { return getPopoverTestkit(component); }, { click: function click() { return inputDriver.click(); } }); return _objectSpread(_objectSpread({}, dropdownLayoutDriver), {}, { click: function click() { return inputDriver.click(); }, getInput: function getInput() { return input; }, isFocused: function isFocused() { return (0, _protractor.isFocused)(input); }, element: function element() { return component; }, /** Check whether the options dropdown is open */ isOptionsShown: function () { var _isOptionsShown = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { var popoverTestkit; return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return getPopoverTestkit(component); case 2: popoverTestkit = _context3.sent; _context3.next = 5; return popoverTestkit.isContentElementExists(); case 5: return _context3.abrupt("return", _context3.sent); case 6: case "end": return _context3.stop(); } } }, _callee3); })); function isOptionsShown() { return _isOptionsShown.apply(this, arguments); } return isOptionsShown; }(), enterText: function enterText(text) { return input.clear().sendKeys(text); }, selectOptionAt: function () { var _selectOptionAt = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(index) { var dropdownLayoutTestkit; return _regenerator["default"].wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: _context4.next = 2; return getDropdownLayoutDriver(); case 2: dropdownLayoutTestkit = _context4.sent; _context4.next = 5; return input.click(); case 5: return _context4.abrupt("return", dropdownLayoutTestkit.selectOptionAt(index)); case 6: case "end": return _context4.stop(); } } }, _callee4); })); function selectOptionAt(_x2) { return _selectOptionAt.apply(this, arguments); } return selectOptionAt; }(), pressEnter: function pressEnter() { return inputDriver.pressEnter(); } }); }; var _default = driverFactory; exports["default"] = _default;