UNPKG

wix-style-react

Version:
117 lines (111 loc) 3.77 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; var _exportNames = { findByHook: true, findByHookAtIndex: true, countByHook: true, getElement: true, getDataAttributeValue: true, isElementFocused: true, baseUniDriverFactory: true }; exports.isElementFocused = exports.getElement = exports.getDataAttributeValue = exports.findByHookAtIndex = exports.findByHook = exports.countByHook = exports.baseUniDriverFactory = void 0; var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _ReactBase = require("./ReactBase"); Object.keys(_ReactBase).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _ReactBase[key]) return; exports[key] = _ReactBase[key]; }); var _baseDriver = require("@wix/wix-ui-test-utils/base-driver"); /** * Find element by `data-hook` (exact match) * @param {UniDriver} base * @param {string} hook */ var findByHook = (base, hook) => base.$("[data-hook=\"".concat(hook, "\"]")); /** * Find element by `data-hook` at index (exact match) * @param {UniDriver} base * @param {string} hook * @param index index */ exports.findByHook = findByHook; var findByHookAtIndex = (base, hook, index) => base.$$("[data-hook=\"".concat(hook, "\"]")).get(index); /** * Counts elements by `data-hook` (exact match) * @param {UniDriver} base * @param {string} hook */ exports.findByHookAtIndex = findByHookAtIndex; var countByHook = (base, hook) => base.$$("[data-hook=\"".concat(hook, "\"]")).count(); /** * Wrapper function which returns null if base doesn't exist. * @param {UniDriver} base */ exports.countByHook = countByHook; var getElement = exports.getElement = /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2.default)(function* (base) { return (yield base.exists()) ? base : null; }); return function getElement(_x) { return _ref.apply(this, arguments); }; }(); /** * Gets data attribute value * @param {UniDriver} base * @param {string} attr */ var getDataAttributeValue = exports.getDataAttributeValue = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2.default)(function* (base, attr) { return base.attr(attr); }); return function getDataAttributeValue(_x2, _x3) { return _ref2.apply(this, arguments); }; }(); /** Checks if given element is focused * @param {UniDriver} element * @returns {Promise<boolean>} */ var isElementFocused = exports.isElementFocused = /*#__PURE__*/function () { var _ref3 = (0, _asyncToGenerator2.default)(function* (element) { var nativeElement = yield element.getNative(); switch (element.type) { case 'react': return (0, _ReactBase.ReactBase)(element).isFocus(); case 'puppeteer': return page.evaluate(el => document.activeElement === el, nativeElement); default: return; } }); return function isElementFocused(_x4) { return _ref3.apply(this, arguments); }; }(); var baseUniDriverFactory = base => { var baseUniDriver = (0, _baseDriver.baseUniDriverFactory)(base); return { /** * Checks whether the component found with the given data hook * @returns {Promise<boolean>} */ exists: () => baseUniDriver.exists(), /** * Gets the component root element * @returns {Promise<any>} */ element: () => baseUniDriver.element(), /** * Clicks on the component root element * @returns {Promise<void>} */ click: () => baseUniDriver.click() }; }; exports.baseUniDriverFactory = baseUniDriverFactory; //# sourceMappingURL=index.js.map