UNPKG

wix-style-react

Version:
221 lines (176 loc) • 7.79 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.emptyStateUniDriverFactory = 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 _baseDriver = require("wix-ui-test-utils/base-driver"); var _unidriver = require("../../test/utils/unidriver"); 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 emptyStateUniDriverFactory = function emptyStateUniDriverFactory(base) { var byDataHook = function byDataHook(dataHook) { return base.$("[data-hook=\"".concat(dataHook, "\"]")); }; var getTitleContainer = function getTitleContainer() { return byDataHook('empty-state-title-container'); }; var getSubtitleContainer = function getSubtitleContainer() { return byDataHook('empty-state-subtitle-container'); }; var getImageContainer = function getImageContainer() { return byDataHook('empty-state-image-container'); }; var getChildrenContainer = function getChildrenContainer() { return byDataHook('empty-state-children-container'); }; var getTitle = function getTitle() { return getTitleContainer().$(':first-child'); }; var getSubtitle = function getSubtitle() { return getSubtitleContainer().$(':first-child'); }; var getImageElement = function getImageElement() { return getImageContainer().$('[data-hook="image-element"]'); }; var getImageNode = function getImageNode() { return getImageContainer().$('[data-hook="image-node"]'); }; return _objectSpread(_objectSpread({}, (0, _baseDriver.baseUniDriverFactory)(base)), {}, { /** Returns the element */ element: function element() { return base.getNative(); }, // eslint-disable-line no-restricted-properties /** Returns the text of the title */ getTitleText: function () { var _getTitleText = (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: return _context.abrupt("return", getTitle().text()); case 1: case "end": return _context.stop(); } } }, _callee); })); function getTitleText() { return _getTitleText.apply(this, arguments); } return getTitleText; }(), /** Returns the text of the subtitle */ getSubtitleText: function () { var _getSubtitleText = (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", getSubtitle().text()); case 1: case "end": return _context2.stop(); } } }, _callee2); })); function getSubtitleText() { return _getSubtitleText.apply(this, arguments); } return getSubtitleText; }(), /** Returns true if the component was configured with given theme */ hasTheme: function () { var _hasTheme = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(themeName) { return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return base.attr('data-theme'); case 2: _context3.t0 = _context3.sent; _context3.t1 = themeName; return _context3.abrupt("return", _context3.t0 === _context3.t1); case 5: case "end": return _context3.stop(); } } }, _callee3); })); function hasTheme(_x) { return _hasTheme.apply(this, arguments); } return hasTheme; }(), /** Returns the URL of the image element (if persist) */ getImageUrl: function getImageUrl() { return getImageElement()._prop('src') || ''; }, getImageContainerClassName: function () { var _getImageContainerClassName = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() { var classList; return _regenerator["default"].wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: _context4.next = 2; return (0, _unidriver.ReactBase)(getImageContainer())._DEPRECATED_getClassList(); case 2: classList = _context4.sent; return _context4.abrupt("return", classList); case 4: case "end": return _context4.stop(); } } }, _callee4); })); function getImageContainerClassName() { return _getImageContainerClassName.apply(this, arguments); } return getImageContainerClassName; }(), /** Returns `true` if a node passed via the `image` prop exists */ imageNodeExists: function imageNodeExists() { return getImageNode().exists(); }, /** Returns `true` if children content exists */ childrenContentExists: function childrenContentExists() { return getChildrenContainer().exists(); }, /** Returns true if the component was configured with given align */ hasAlign: function () { var _hasAlign = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(align) { return _regenerator["default"].wrap(function _callee5$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: _context5.next = 2; return base.attr('data-align'); case 2: _context5.t0 = _context5.sent; _context5.t1 = align; return _context5.abrupt("return", _context5.t0 === _context5.t1); case 5: case "end": return _context5.stop(); } } }, _callee5); })); function hasAlign(_x2) { return _hasAlign.apply(this, arguments); } return hasAlign; }() }); }; exports.emptyStateUniDriverFactory = emptyStateUniDriverFactory;