UNPKG

wix-style-react

Version:
242 lines (190 loc) • 8.34 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.modalSelectorLayoutUniDriverFactory = 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 _SelectorListUni = require("../SelectorList/SelectorList.uni.driver"); var _LoaderUni = require("../Loader/Loader.uni.driver"); var _SelectorUni = require("../Selector/Selector.uni.driver"); var _SearchUni = require("../Search/Search.uni.driver"); var _TextUni = require("../Text/Text.uni.driver"); var _SelectorList = require("../SelectorList/SelectorList.helpers"); var _ModalSelectorLayout = require("./ModalSelectorLayout.helpers"); var _CheckboxUni = require("../Checkbox/Checkbox.uni.driver"); var _ButtonUni = require("../Button/Button.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 modalSelectorLayoutUniDriverFactory = function modalSelectorLayoutUniDriverFactory(base, body) { var findInModalByDataHook = function findInModalByDataHook(dataHook) { return base.$("[data-hook=\"".concat(dataHook, "\"]")); }; var selectorListDriver = function selectorListDriver() { return (0, _SelectorListUni.selectorListUniDriverFactory)(base.$("[data-hook=\"".concat(_ModalSelectorLayout.dataHooks.selectorList, "\"]")), body); }; var mainLoaderDriver = function mainLoaderDriver() { return (0, _LoaderUni.loaderUniDriverFactory)(base.$("[data-hook=\"".concat(_SelectorList.dataHooks.mainLoader, "\"]")), body); }; var nextPageLoaderDriver = function nextPageLoaderDriver() { return (0, _LoaderUni.loaderUniDriverFactory)(base.$("[data-hook=\"".concat(_SelectorList.dataHooks.nextPageLoader, "\"]")), body); }; var cancelButtonDriver = function cancelButtonDriver() { return (0, _ButtonUni.buttonDriverFactory)(base.$('[data-hook="cancellation-button"]'), body); }; var okButtonDriver = function okButtonDriver() { return (0, _ButtonUni.buttonDriverFactory)(base.$('[data-hook="confirmation-button"]'), body); }; var subtitleTextDriver = function subtitleTextDriver() { return (0, _TextUni.textUniDriverFactory)(base.$("[data-hook=\"".concat(_SelectorList.dataHooks.subtitle, "\"]")), body); }; var searchDriver = function searchDriver() { return (0, _SearchUni.searchUniDriverFactory)(base.$("[data-hook=\"".concat(_SelectorList.dataHooks.search, "\"]")), body); }; var getList = function getList() { return findInModalByDataHook(_SelectorList.dataHooks.list); }; var getSelectorListContent = function getSelectorListContent() { return findInModalByDataHook(_SelectorList.dataHooks.content); }; var getSelectors = function getSelectors() { return getList().$$("[data-hook=\"".concat(_SelectorList.dataHooks.selector, "\"]")); }; var selectorDriverAt = function selectorDriverAt(i) { return (0, _SelectorUni.selectorUniDriverFactory)(getSelectors().get(i)); }; var _footerSelector = (0, _CheckboxUni.checkboxUniDriverFactory)(base.$("[data-hook=\"".concat(_SelectorList.dataHooks.toggleAllCheckbox, "\"]"), body)); return _objectSpread(_objectSpread({}, (0, _unidriver.baseUniDriverFactory)(base)), {}, { /** * Gets main loader driver. * @returns {LoaderUniDriver} */ mainLoaderDriver: mainLoaderDriver, /** * Gets next page loader driver. * @returns {LoaderUniDriver} */ nextPageLoaderDriver: nextPageLoaderDriver, /** * Gets cancel button driver. * @returns {ButtonUniDriver} */ cancelButtonDriver: cancelButtonDriver, /** * Gets ok button driver. * @returns {ButtonUniDriver} */ okButtonDriver: okButtonDriver, /** * Gets search driver. * @returns {SearchUniDriver} */ searchDriver: searchDriver, /** * Gets subtitle text driver. * @returns {TextUniDriver} */ subtitleTextDriver: subtitleTextDriver, /** * Gets title text. * @returns {Promise<string>} */ getTitle: function getTitle() { return findInModalByDataHook('header-layout-title').text(); }, /** * Clicks "x" button. * @returns {Promise<void>} */ clickOnClose: function clickOnClose() { return base.$('[data-hook="header-close-button"]').click(); }, /** * Checks weather empty state is shown. * @returns {Promise<boolean>} True if empty state is shown; false otherwise. */ showsEmptyState: function showsEmptyState() { return selectorListDriver().showsEmptyState(); }, /** * Gets empty state. * @returns {Promise<HTMLElement>} */ getEmptyState: function getEmptyState() { return selectorListDriver().getEmptyState(); }, /** * Checks weather no results found state is shown. * @returns {Promise<boolean>} True if no results found state is shown; false otherwise. */ showsNoResultsFoundState: function showsNoResultsFoundState() { return selectorListDriver().showsNoResultsFoundState(); }, /** * Gets no results found state. * @returns {Promise<HTMLElement>} */ getNoResultsFoundState: function getNoResultsFoundState() { return selectorListDriver().getNoResultsFoundState(); }, /** * Checks weather the list exists. * @returns {Promise<boolean>} True if list exists; false otherwise. */ listExists: function listExists() { return selectorListDriver().listExists(); }, /** * Returns the number of items in the list. * @returns {Promise<number>} */ numberOfItemsInList: function numberOfItemsInList() { return selectorListDriver().numberOfItemsInList(); }, /** * Gets the selector driver of the item at the passed index. * @param {number} i Item index * @returns {SelectorUniDriver} The selector driver. */ getSelectorDriverAt: function getSelectorDriverAt(i) { return selectorDriverAt(i); }, /** * Triggers "scroll" event on the list. * @returns {Promise<boolean>}. */ scrollDown: function () { var _scrollDown = (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 getSelectorListContent().getNative(); case 2: return _context.abrupt("return", _context.sent.dispatchEvent(new Event('scroll'))); case 3: case "end": return _context.stop(); } } }, _callee); })); function scrollDown() { return _scrollDown.apply(this, arguments); } return scrollDown; }(), /** * Gets footer selector's driver. * @returns {CheckboxUniDriver} */ footerSelector: function footerSelector() { return _footerSelector; } }); }; exports.modalSelectorLayoutUniDriverFactory = modalSelectorLayoutUniDriverFactory;