@momentum-ui/react
Version:
Cisco Momentum UI framework for ReactJs applications
143 lines (131 loc) • 3.86 kB
JavaScript
import React from 'react';
import { mount, shallow } from 'enzyme';
import { Avatar, CompositeAvatar } from '@momentum-ui/react';
describe('tests for <CompositeAvatar />', () => {
it('should match SnapShot', () => {
const container = shallow(
<CompositeAvatar>
<Avatar title="test1" />
<Avatar title="test2" />
</CompositeAvatar>
);
expect(container).toMatchSnapshot();
});
describe('composite avatars of different sizes ', () => {
it('when size is small/28', () => {
let container = mount(
<CompositeAvatar size="small">
<Avatar title="test1" />
<Avatar title="test2" />
</CompositeAvatar>
);
expect(
container
.find('.md-composite-avatar')
.hasClass('md-composite-avatar--small')
).toEqual(true);
expect(container.find('.md-avatar').length).toEqual(2);
container = mount(
<CompositeAvatar size={28}>
<Avatar title="test1" />
<Avatar title="test2" />
</CompositeAvatar>
);
expect(
container
.find('.md-composite-avatar')
.hasClass('md-composite-avatar--28')
).toEqual(true);
});
it('when size is medium/40', () => {
let container = mount(
<CompositeAvatar>
<Avatar title="test1" />
<Avatar title="test2" />
</CompositeAvatar>
);
expect(
container
.find('.md-composite-avatar')
.hasClass('md-composite-avatar--medium')
).toEqual(true);
expect(container.find('.md-avatar').length).toEqual(2);
container = mount(
<CompositeAvatar size={40}>
<Avatar title="test1" />
<Avatar title="test2" />
</CompositeAvatar>
);
expect(
container
.find('.md-composite-avatar')
.hasClass('md-composite-avatar--40')
).toEqual(true);
});
it('when size is 84', () => {
let container = mount(
<CompositeAvatar size={84}>
<Avatar title="test1" />
<Avatar title="test2" />
</CompositeAvatar>
);
expect(container.find('.md-avatar').length).toEqual(2);
expect(
container
.find('.md-composite-avatar')
.hasClass('md-composite-avatar--84')
).toEqual(true);
});
it('when size is large/135', () => {
let container = mount(
<CompositeAvatar size="large">
<Avatar title="test1" />
<Avatar title="test2" />
</CompositeAvatar>
);
expect(
container
.find('.md-composite-avatar')
.hasClass('md-composite-avatar--large')
).toEqual(true);
expect(container.find('.md-avatar').length).toEqual(2);
container = mount(
<CompositeAvatar size={135}>
<Avatar title="test1" />
<Avatar title="test2" />
</CompositeAvatar>
);
expect(
container
.find('.md-composite-avatar')
.hasClass('md-composite-avatar--135')
).toEqual(true);
});
});
it('should not throw an error when 2 Avatar components are not present as children', () => {
const container = shallow(
<CompositeAvatar size="large">
<Avatar title="test2" />
</CompositeAvatar>
);
expect(
container
.find('.md-composite-avatar')
.hasClass('md-composite-avatar--large')
).toEqual(true);
});
it('should allow Avatar components to be wrapped', () => {
const container = shallow(
<CompositeAvatar size="large">
<div>
<Avatar title="test2" />
</div>
</CompositeAvatar>
);
expect(
container
.find('.md-composite-avatar')
.hasClass('md-composite-avatar--large')
).toEqual(true);
});
});