materialuiupgraded
Version:
Material-UI's workspace package
79 lines (70 loc) • 2.47 kB
JavaScript
import React from 'react';
import { assert } from 'chai';
import { createShallow, createMount } from '../test-utils';
import Collapse from '../Collapse';
import StepContent from './StepContent';
describe('<StepContent />', () => {
let shallow;
let mount;
const defaultProps = {
orientation: 'vertical',
};
before(() => {
shallow = createShallow({ dive: true });
mount = createMount();
});
after(() => {
mount.cleanUp();
});
it('renders a div', () => {
const wrapper = shallow(<StepContent {...defaultProps}>Here is the content</StepContent>);
assert.strictEqual(wrapper.type(), 'div');
});
it('merges styles and other props into the root node', () => {
const wrapper = shallow(
<StepContent
style={{ paddingRight: 200, color: 'purple', border: '1px solid tomato' }}
role="Tabpanel"
{...defaultProps}
>
Lorem ipsum
</StepContent>,
);
const { style, role } = wrapper.props();
assert.strictEqual(style.paddingRight, 200);
assert.strictEqual(style.color, 'purple');
assert.strictEqual(style.border, '1px solid tomato');
assert.strictEqual(role, 'Tabpanel');
});
it('renders children inside an Collapse component', () => {
const wrapper = shallow(
<StepContent {...defaultProps}>
<div className="test-content">This is my content!</div>
</StepContent>,
);
const collapse = wrapper.find(Collapse);
assert.strictEqual(collapse.length, 1);
const content = collapse.find('.test-content');
assert.strictEqual(content.length, 1);
assert.strictEqual(content.props().children, 'This is my content!');
});
describe('prop: transitionDuration', () => {
it('should apply the auto property if supported', () => {
const wrapper = shallow(
<StepContent {...defaultProps}>
<div />
</StepContent>,
);
assert.strictEqual(wrapper.find(Collapse).props().timeout, 'auto');
});
it('should not apply the auto property if not supported', () => {
const TransitionComponent = props => <div {...props} />;
const wrapper = shallow(
<StepContent {...defaultProps} TransitionComponent={TransitionComponent}>
<div />
</StepContent>,
);
assert.strictEqual(wrapper.find(TransitionComponent).props().timeout, undefined);
});
});
});