wix-style-react
Version:
wix-style-react
27 lines • 1.54 kB
JavaScript
import { ReactBase } from '../test-utils/utils/unidriver';
import { carouselUniDriverFactory } from './Carousel.uni.driver';
import { act, fireEvent } from '../test-utils/utils/react';
import { iconButtonDriverFactory } from '../IconButton/IconButton.uni.driver';
export const carouselPrivateUniDriverFactory = base => {
const getCurrentSlide = () => base.$('[aria-hidden="false"]');
const arrowButtonDriver = direction => iconButtonDriverFactory(base.$(`[data-hook="${direction}-button-element"]`));
return {
...carouselUniDriverFactory(base),
hasClass: className => base.hasClass(className),
getCurrentImageIndex: async () => Number(await getCurrentSlide().attr('data-index')),
isPrevButtonDisabled: () => arrowButtonDriver('prev').isButtonDisabled(),
isNextButtonDisabled: () => arrowButtonDriver('next').isButtonDisabled(),
loadImages: async () => act(async () => base
.$$('[data-hook="carousel-img"]')
.map(async (img) => fireEvent.load(await img.getNative()))),
hover: () => getCurrentSlide().hover(),
mouseLeave: () => getCurrentSlide().mouse.leave(),
clickPageNavigationDot: index => {
const pageNavigator = base.$(`[data-hook="page-navigation-${index}"]`);
return pageNavigator.click();
},
isPageNavigationDotExists: () => base.$(`[data-hook^="page-navigation-"]`).exists(),
getChildText: child => child.text(),
};
};
//# sourceMappingURL=Carousel.private.uni.driver.js.map