@wix/design-system
Version:
@wix/design-system
42 lines (40 loc) • 1.68 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.carouselDriverFactory = void 0;
var _testUtils = _interopRequireDefault(require("react-dom/test-utils"));
var _deprecationTestkitLog = _interopRequireDefault(require("../utils/deprecationTestkitLog"));
var carouselDriverFactory = _ref => {
var {
element
} = _ref;
(0, _deprecationTestkitLog.default)('carouselTestkitFactory legacy testkit is deprecated and will be removed in next major release. Please use the CarouselTestkit unidriver testkit instead.');
// Embla carousel doesn't duplicate slides like react-slick, so we can use simpler selectors
var slideSelector = '.embla__slide';
return {
exists: () => !!element,
isLoading: () => {
var loader = element.querySelector('[data-hook="loader"]');
return !!loader;
},
getChildren: () => element.querySelectorAll(slideSelector),
getImages: () => {
// Converting the result from NodeList to a real array
return Array.from(element.querySelectorAll(slideSelector + ' [data-hook="carousel-img"]')).map(img => img.src);
},
clickPrevious: () => {
var prevButton = element.querySelector('[data-hook="prev-button-element"]');
if (prevButton) {
_testUtils.default.Simulate.click(prevButton);
}
},
clickNext: () => {
var nextButton = element.querySelector('[data-hook="next-button-element"]');
if (nextButton) {
_testUtils.default.Simulate.click(nextButton);
}
}
};
};
exports.carouselDriverFactory = carouselDriverFactory;
//# sourceMappingURL=Carousel.driver.js.map