UNPKG

wix-style-react

Version:
53 lines (43 loc) 1.82 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.carouselDriverFactory = void 0; var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _testUtils = _interopRequireDefault(require("react-dom/test-utils")); var carouselDriverFactory = function carouselDriverFactory(_ref) { var element = _ref.element; // It turns out that react-slick duplicates the children, so we ditch the cloned nodes var withoutClonedNodes = function withoutClonedNodes() { var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; return ".slick-slide:not(.slick-cloned) ".concat(selector); }; return { exists: function exists() { return !!element; }, isLoading: function isLoading() { var loader = element.querySelector('[data-hook="loader"]'); return !!loader; }, getChildren: function getChildren() { return element.querySelectorAll(withoutClonedNodes()); }, getImages: function getImages() { // Converting the result from NodeList to a real array return (0, _toConsumableArray2["default"])(element.querySelectorAll(withoutClonedNodes('[data-hook="carousel-img"]'))).map(function (img) { return img.src; }); }, clickPrevious: function clickPrevious() { var prevButton = element.querySelector('[data-hook="prev-button"]'); _testUtils["default"].Simulate.click(prevButton); }, clickNext: function clickNext() { var nextButton = element.querySelector('[data-hook="next-button"]'); _testUtils["default"].Simulate.click(nextButton); } }; }; exports.carouselDriverFactory = carouselDriverFactory;