wix-style-react
Version:
61 lines (56 loc) • 3.1 kB
JavaScript
import _defineProperty from "@babel/runtime/helpers/defineProperty";
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) { _defineProperty(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; }
import ReactTestUtils from 'react-dom/test-utils';
import { iconButtonTestkitFactory } from 'wix-style-react/dist/testkit';
import { isClassExists } from '../../test/utils';
import { carouselDriverFactory as publicDriver } from './Carousel.driver';
export default (function (_ref) {
var element = _ref.element;
var arrowButtonDriver = function arrowButtonDriver(direction) {
return iconButtonTestkitFactory({
wrapper: element,
dataHook: "".concat(direction, "-button")
});
};
return _objectSpread(_objectSpread({}, publicDriver({
element: element
})), {}, {
hasClass: function hasClass(className) {
return isClassExists(element, className);
},
getCurrentImageIndex: function getCurrentImageIndex() {
var currentSlide = element.querySelector('[aria-hidden="false"]');
return Number(currentSlide.dataset.index);
},
isPrevButtonDisabled: function isPrevButtonDisabled() {
return arrowButtonDriver('prev').isButtonDisabled();
},
isNextButtonDisabled: function isNextButtonDisabled() {
return arrowButtonDriver('next').isButtonDisabled();
},
loadImages: function loadImages() {
element.querySelectorAll('[data-hook="carousel-img"]').forEach(function (img) {
return ReactTestUtils.Simulate.load(img);
});
},
mouseOver: function mouseOver() {
var imageContainer = element.querySelector('.slick-current');
ReactTestUtils.Simulate.mouseOver(imageContainer);
},
mouseOut: function mouseOut() {
var imageContainer = element.querySelector('.slick-current');
ReactTestUtils.Simulate.mouseOut(imageContainer);
},
clickPageNavigationDot: function clickPageNavigationDot(index) {
var pageNavigator = element.querySelector("[data-hook=\"page-navigation-".concat(index, "\"]"));
ReactTestUtils.Simulate.click(pageNavigator);
},
isPageNavigationDotExists: function isPageNavigationDotExists() {
return !!element.querySelector("[data-hook^=\"page-navigation-\"]");
},
getChildText: function getChildText(child) {
return child.textContent;
}
});
});