UNPKG

@momentum-ui/react

Version:

Cisco Momentum UI framework for ReactJs applications

56 lines (43 loc) 2.17 kB
import React from 'react'; import { mount, shallow } from 'enzyme'; import { CollapseButton } from '@momentum-ui/react'; describe('tests for <CollapseButton />', () => { it('should match SnapShot', () => { const container = shallow(<CollapseButton/>); expect(container).toMatchSnapshot(); }); it('should call onClick callback when the button is clicked', () => { const onClick = jest.fn(); const container = mount(<CollapseButton onClick={onClick} />); container.find('.md-button').simulate('click'); expect(onClick).toHaveBeenCalled(); }); it('when collapse is true it should display right icon and label', () => { const container = mount(<CollapseButton collapse={true} />); expect(container.find('Icon').props().name).toEqual('panel-control-right_12'); expect(container.find('Button').props().ariaLabel).toEqual('expand'); }); it('when collapse is false it should display right icon and label', () => { const container = mount(<CollapseButton collapse={false} />); expect(container.find('Icon').props().name).toEqual('panel-control-left_12'); expect(container.find('Button').props().ariaLabel).toEqual('collapse'); }); describe('should apply correct alignment classes', () => { it('when alignment is left', () => { const container = shallow(<CollapseButton alignment={'left'} />); expect(container.find('.md-collapse-button').hasClass('md-collapse-button--left')).toEqual(true); }); it('when alignment is right', () => { const container = shallow(<CollapseButton alignment={'right'} />); expect(container.find('.md-collapse-button').hasClass('md-collapse-button--right')).toEqual(true); }); it('when alignment is top', () => { const container = shallow(<CollapseButton alignment={'top'} />); expect(container.find('.md-collapse-button').hasClass('md-collapse-button--top')).toEqual(true); }); it('when alignment is down', () => { const container = shallow(<CollapseButton alignment={'bottom'} />); expect(container.find('.md-collapse-button').hasClass('md-collapse-button--bottom')).toEqual(true); }); }); });