UNPKG

wix-style-react

Version:
139 lines (119 loc) 4.88 kB
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; import _regeneratorRuntime from "@babel/runtime/regenerator"; 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) { _defineProperty(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; } import { baseUniDriverFactory, findByHook, isElementFocused, ReactBase } from '../../test/utils/unidriver'; import { textUniDriverFactory } from '../Text/Text.uni.driver'; import { tooltipDriverFactory } from '../Tooltip/Tooltip.uni.driver'; import { dataHooks } from './constants'; export var addItemUniDriverFactory = function addItemUniDriverFactory(base, body) { var tooltipDriver = tooltipDriverFactory(base, body); var textDriver = textUniDriverFactory(findByHook(base, dataHooks.itemText), body); var subtitleTextDriver = textUniDriverFactory(findByHook(base, dataHooks.itemSubtitle), body); var addItemElement = findByHook(base, dataHooks.addItem); var reactBaseElement = ReactBase(addItemElement); return _objectSpread(_objectSpread({}, baseUniDriverFactory(addItemElement, body)), {}, { /** * Gets AddItem text * @return {Promise<string>} */ getText: function getText() { return textDriver.getText(); }, /** * Checks whether AddItem text exist * @returns {Promise<boolean>} */ textExists: function textExists() { return textDriver.exists(); }, /** * Gets tooltip text * @return {Promise<string>} */ getTooltipContent: function getTooltipContent() { return tooltipDriver.getTooltipText(); }, /** * Gets AddItem subtitle * @return {Promise<string>} */ getSubtitle: function getSubtitle() { return subtitleTextDriver.getText(); }, /** * Checks whether AddItem is focused * @returns {Promise<boolean>} */ isFocused: function () { var _isFocused = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: return _context.abrupt("return", isElementFocused(addItemElement)); case 1: case "end": return _context.stop(); } } }, _callee); })); function isFocused() { return _isFocused.apply(this, arguments); } return isFocused; }(), /** * Sets focus on the element */ focus: function () { var _focus = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() { return _regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return reactBaseElement.focus(); case 2: return _context2.abrupt("return", _context2.sent); case 3: case "end": return _context2.stop(); } } }, _callee2); })); function focus() { return _focus.apply(this, arguments); } return focus; }(), /** * Removes focus on the element */ blur: function () { var _blur = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() { return _regeneratorRuntime.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return reactBaseElement.blur(); case 2: return _context3.abrupt("return", _context3.sent); case 3: case "end": return _context3.stop(); } } }, _callee3); })); function blur() { return _blur.apply(this, arguments); } return blur; }() }); };