@ryami333/react-accessible-accordion
Version:
Accessible Accordion component for React
120 lines (103 loc) • 4.01 kB
JavaScript
;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactTestRenderer = require('react-test-renderer');
var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer);
var _accordionItemTitle = require('./accordion-item-title');
var _accordionItemTitle2 = _interopRequireDefault(_accordionItemTitle);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('AccordionItemTitle', function () {
it('renders correctly with min params', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(
_accordionItemTitle2.default,
null,
_react2.default.createElement(
'div',
null,
'Fake Title'
)
)).toJSON();
expect(tree).toMatchSnapshot();
});
it('renders correctly with different className', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(
_accordionItemTitle2.default,
{ className: 'testCSSClass' },
_react2.default.createElement(
'div',
null,
'Fake Title'
)
)).toJSON();
expect(tree).toMatchSnapshot();
});
it('renders with different hideBodyClassName', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(
_accordionItemTitle2.default,
{ expanded: false, hideBodyClassName: 'testCSSClass--hidden' },
_react2.default.createElement(
'div',
null,
'Fake title'
)
)).toJSON();
expect(tree).toMatchSnapshot();
});
it('doesn\'t respect hideBodyClassName when collapsed', function () {
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(
_accordionItemTitle2.default,
{ expanded: true, hideBodyClassName: 'testCSSClass--hidden' },
_react2.default.createElement(
'div',
null,
'Fake title'
)
)).toJSON();
expect(tree).toMatchSnapshot();
});
it('renders correctly when pressing enter', function () {
var mockOnClick = jest.fn();
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(
_accordionItemTitle2.default,
{ onClick: mockOnClick },
_react2.default.createElement(
'div',
null,
'Fake Title'
)
));
tree.getInstance().handleKeyPress({ charCode: 13 });
expect(mockOnClick).toHaveBeenCalledTimes(1);
expect(tree).toMatchSnapshot();
});
it('renders correctly when pressing space', function () {
var mockOnClick = jest.fn();
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(
_accordionItemTitle2.default,
{ onClick: mockOnClick },
_react2.default.createElement(
'div',
null,
'Fake Title'
)
));
tree.getInstance().handleKeyPress({ charCode: 32 });
expect(mockOnClick).toHaveBeenCalledTimes(1);
expect(tree).toMatchSnapshot();
});
it('renders correctly when pressing another key', function () {
var mockOnClick = jest.fn();
var tree = _reactTestRenderer2.default.create(_react2.default.createElement(
_accordionItemTitle2.default,
{ onClick: mockOnClick },
_react2.default.createElement(
'div',
null,
'Fake Title'
)
));
tree.getInstance().handleKeyPress({ charCode: 35 });
expect(mockOnClick).toHaveBeenCalledTimes(0);
expect(tree).toMatchSnapshot();
});
});