Spaces:
Runtime error
Runtime error
File size: 1,618 Bytes
8fd7a1d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
import React from 'react';
import {shallow} from 'enzyme';
import ToggleButtons from '../../../src/components/toggle-buttons/toggle-buttons';
describe('ToggleButtons', () => {
test('renders multiple buttons', () => {
const component = shallow(<ToggleButtons
buttons={[
{
title: 'Button 1',
handleClick: () => {},
icon: 'Button 1 icon'
},
{
title: 'Button 2',
handleClick: () => {},
icon: 'Button 2 icon'
}
]}
/>);
const buttons = component.find('button');
expect(buttons).toHaveLength(2);
expect(buttons.get(0).props.title).toBe('Button 1');
expect(buttons.get(1).props.title).toBe('Button 2');
});
test('calls correct click handler', () => {
const onClick1 = jest.fn();
const onClick2 = jest.fn();
const component = shallow(<ToggleButtons
buttons={[
{
title: 'Button 1',
handleClick: onClick1,
icon: 'Button 1 icon'
},
{
title: 'Button 2',
handleClick: onClick2,
icon: 'Button 2 icon'
}
]}
/>);
const button2 = component.find('button[title="Button 2"]');
button2.simulate('click');
expect(onClick2).toHaveBeenCalled();
expect(onClick1).not.toHaveBeenCalled();
});
});
|