UNPKG

@yeutech-lab/rollup-umd-documentation

Version:

Quickly build awesome documentation for your rollup-umd project.

118 lines (106 loc) 3.81 kB
'use strict'; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _enzyme = require('enzyme'); var _BootstrapProvider = require('@bootstrap-styled/provider/lib/BootstrapProvider'); var _BootstrapProvider2 = _interopRequireDefault(_BootstrapProvider); var _ComponentsListRenderer = require('../ComponentsListRenderer'); var _ComponentsListRenderer2 = _interopRequireDefault(_ComponentsListRenderer); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Testing our ComponentsListRenderer component */ describe('<ComponentsListRenderer />', function () { var theme = _ComponentsListRenderer.defaultProps.theme; var props = void 0; beforeEach(function () { props = Object.assign(_ComponentsListRenderer.defaultProps, { items: [{ visibleName: 'First component', href: '/#first-component', filepath: 'first-component.md', heading: false, level: 0, content: false, collapse: true, slug: 'first-component', components: [], sections: [] }], isOpenCollapse: false }); }); it('should render an ComponentListRenderer with theme', function () { var renderedComponent = (0, _enzyme.mount)(_react2.default.createElement( _BootstrapProvider2.default, { theme: theme, injectGlobal: false }, _react2.default.createElement(_ComponentsListRenderer2.default, props) )); expect(renderedComponent.find('Styled(ComponentsListRendererUnstyled)').length).toEqual(1); }); it('should render a ComponentsListRenderer with items', function () { var renderedComponent = (0, _enzyme.mount)(_react2.default.createElement( _BootstrapProvider2.default, { theme: theme, injectGlobal: false }, _react2.default.createElement(_ComponentsListRenderer2.default, props) )); expect(renderedComponent.find('ComponentsListRendererUnstyled').props().items).toEqual([{ collapse: true, components: [], content: false, filepath: 'first-component.md', heading: false, href: '/#first-component', level: 0, visibleName: 'First component', sections: [], slug: 'first-component' }]); }); it('should render an ComponentsListRenderer without collapse', function () { var newProps = { theme: theme, items: [{ visibleName: 'First component', href: '/#first-component', filepath: 'first-component.md', heading: true, level: 0, content: false, collapse: false, slug: 'first-component', components: [], sections: [{ visibleName: 'Sub component', href: '/#sub-component', filepath: 'sub-component.md', heading: false, level: 0, content: false, collapse: false, slug: 'sub-component', components: [], sections: [] }] }] }; var renderedComponent = (0, _enzyme.mount)(_react2.default.createElement( _BootstrapProvider2.default, { theme: theme, injectGlobal: false }, _react2.default.createElement(_ComponentsListRenderer2.default, newProps) )); expect(renderedComponent.contains('Collapse')).toBe(false); }); it('should not render any children', function () { var newProps = { theme: theme, items: [] }; var renderedComponent = (0, _enzyme.mount)(_react2.default.createElement( _BootstrapProvider2.default, { theme: theme, injectGlobal: false }, _react2.default.createElement(_ComponentsListRenderer2.default, newProps) )); expect(renderedComponent.find('ComponentsListRendererUnstyled').props().children).toBe(undefined); }); });