@yeutech-lab/rollup-umd-documentation
Version:
Quickly build awesome documentation for your rollup-umd project.
118 lines (106 loc) • 3.81 kB
JavaScript
'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);
});
});