UNPKG

@ryami333/react-accessible-accordion

Version:
205 lines (183 loc) 6.75 kB
'use strict'; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactTestRenderer = require('react-test-renderer'); var _reactTestRenderer2 = _interopRequireDefault(_reactTestRenderer); var _accordion = require('./accordion'); var _accordion2 = _interopRequireDefault(_accordion); var _accordionItem = require('../AccordionItem/accordion-item'); var _accordionItem2 = _interopRequireDefault(_accordionItem); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } jest.mock('../AccordionItem/accordion-item', function () { return 'div'; }); describe('Accordion', function () { it('renders correctly with min params', function () { var tree = _reactTestRenderer2.default.create(_react2.default.createElement( _accordion2.default, null, _react2.default.createElement( _accordionItem2.default, null, 'Fake child' ), _react2.default.createElement( _accordionItem2.default, null, 'Fake child' ) )).toJSON(); expect(tree).toMatchSnapshot(); }); it('renders correctly with accordion false', function () { var tree = _reactTestRenderer2.default.create(_react2.default.createElement( _accordion2.default, { accordion: false }, _react2.default.createElement( _accordionItem2.default, null, 'Fake child' ), _react2.default.createElement( _accordionItem2.default, null, 'Fake child' ) )).toJSON(); expect(tree).toMatchSnapshot(); }); it('different className', function () { var tree = _reactTestRenderer2.default.create(_react2.default.createElement( _accordion2.default, { accordion: false, className: 'testCSSClass' }, _react2.default.createElement( _accordionItem2.default, null, 'Fake Child' ), _react2.default.createElement( _accordionItem2.default, null, 'Fake Child' ) )).toJSON(); expect(tree).toMatchSnapshot(); }); it('handleClick function accordion true', function () { var wrapper = _reactTestRenderer2.default.create(_react2.default.createElement( _accordion2.default, null, _react2.default.createElement( _accordionItem2.default, null, 'Fake Child' ), _react2.default.createElement( _accordionItem2.default, null, 'Fake Child' ) )); wrapper.getInstance().handleClick(1); expect(wrapper.getInstance().state.activeItems).toEqual([1]); expect(wrapper).toMatchSnapshot(); wrapper.getInstance().handleClick(1); expect(wrapper.getInstance().state.activeItems).toEqual([]); expect(wrapper).toMatchSnapshot(); }); it('handleClick function accordion false', function () { var wrapper = _reactTestRenderer2.default.create(_react2.default.createElement( _accordion2.default, { accordion: false }, _react2.default.createElement( _accordionItem2.default, null, 'Fake Child' ), _react2.default.createElement( _accordionItem2.default, null, 'Fake Child' ) )); wrapper.getInstance().handleClick(1); expect(wrapper.getInstance().state.activeItems).toEqual([1]); expect(wrapper).toMatchSnapshot(); wrapper.getInstance().handleClick(1); expect(wrapper.getInstance().state.activeItems).toEqual([]); expect(wrapper).toMatchSnapshot(); wrapper.getInstance().handleClick(0); wrapper.getInstance().handleClick(1); expect(wrapper.getInstance().state.activeItems).toEqual([0, 1]); expect(wrapper).toMatchSnapshot(); }); it('handles disabled children', function () { var wrapper = _reactTestRenderer2.default.create(_react2.default.createElement( _accordion2.default, { accordion: false }, _react2.default.createElement( _accordionItem2.default, { disabled: true }, 'Fake Child' ), _react2.default.createElement( _accordionItem2.default, null, 'Fake Child' ) )); wrapper.getInstance().handleClick(0); expect(wrapper).toMatchSnapshot(); }); it('pre expanded accordion', function () { var tree = _reactTestRenderer2.default.create(_react2.default.createElement( _accordion2.default, null, _react2.default.createElement( _accordionItem2.default, { expanded: true }, 'Fake Child' ), _react2.default.createElement( _accordionItem2.default, null, 'Fake Child' ) )).toJSON(); expect(tree).toMatchSnapshot(); }); it('works with multiple pre expanded accordion. Extra expands are just ignored.', function () { var tree = _reactTestRenderer2.default.create(_react2.default.createElement( _accordion2.default, null, _react2.default.createElement( _accordionItem2.default, { expanded: true }, 'Fake Child' ), _react2.default.createElement( _accordionItem2.default, { expanded: true }, 'Fake Child' ) )).toJSON(); expect(tree).toMatchSnapshot(); }); it('pre expanded accordion when accordion is false', function () { var tree = _reactTestRenderer2.default.create(_react2.default.createElement( _accordion2.default, { accordion: false }, _react2.default.createElement( _accordionItem2.default, { expanded: true }, 'Fake Child' ), _react2.default.createElement( _accordionItem2.default, { expanded: true }, 'Fake Child' ) )).toJSON(); expect(tree).toMatchSnapshot(); }); });