react-carousel-query
Version:
A infinite carousel component made with react that handles the pagination for you.
68 lines (67 loc) • 2.37 kB
JavaScript
"use strict";
var _react = _interopRequireDefault(require("react"));
var _react2 = require("@testing-library/react");
var _arrow = _interopRequireDefault(require("./arrow"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
describe('<Arrow />', () => {
const onClick = jest.fn();
test('It should render', () => {
const button = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_arrow.default, {
variant: "left",
onClick: onClick
}));
expect(button).toMatchSnapshot();
});
test('It should render using custom render function', () => {
const getCustomArrowId = variant => `${variant}-custom-arrow`;
const renderArrow = ({
variant
}) => /*#__PURE__*/_react.default.createElement("p", {
"data-testid": getCustomArrowId(variant)
}, variant);
const {
container,
getByTestId
} = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_arrow.default, {
variant: "left",
onClick: onClick,
renderArrow: renderArrow
}));
expect(getByTestId(getCustomArrowId('left'))).toBeTruthy();
expect(container).toMatchSnapshot();
});
test('It should call onClick', () => {
const {
getByTestId
} = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_arrow.default, {
"data-testid": "arrow-left",
variant: "left",
onClick: onClick
}));
const arrowButton = getByTestId('arrow-left');
_react2.fireEvent.click(arrowButton);
expect(onClick).toBeCalledTimes(1);
});
test('It should have LEFT classe when variant is left', () => {
const {
getByTestId
} = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_arrow.default, {
"data-testid": "arrow-left",
variant: "left",
onClick: onClick
}));
const arrowButton = getByTestId('arrow-left');
expect(arrowButton.classList.contains('left')).toBe(true);
});
test('It should have RIGHT classe when variant is right', () => {
const {
getByTestId
} = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(_arrow.default, {
"data-testid": "arrowRight",
variant: "right",
onClick: onClick
}));
const arrowButton = getByTestId('arrowRight');
expect(arrowButton.classList.contains('right')).toBe(true);
});
});