@wix/design-system
Version:
@wix/design-system
32 lines • 1.5 kB
JavaScript
import ReactTestUtils from 'react-dom/test-utils';
import deprecationTestkitLog from '../utils/deprecationTestkitLog';
export const carouselDriverFactory = ({ element, }) => {
deprecationTestkitLog('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
const slideSelector = '.embla__slide';
return {
exists: () => !!element,
isLoading: () => {
const 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: () => {
const prevButton = element.querySelector('[data-hook="prev-button-element"]');
if (prevButton) {
ReactTestUtils.Simulate.click(prevButton);
}
},
clickNext: () => {
const nextButton = element.querySelector('[data-hook="next-button-element"]');
if (nextButton) {
ReactTestUtils.Simulate.click(nextButton);
}
},
};
};
//# sourceMappingURL=Carousel.driver.js.map