Select Git revision
-
David Beniamine authoredDavid Beniamine authored
WindowThumbnailSettings.test.js 1.88 KiB
import React from 'react';
import { shallow } from 'enzyme';
import FormControlLabel from '@material-ui/core/FormControlLabel';
import RadioGroup from '@material-ui/core/RadioGroup';
import Typography from '@material-ui/core/Typography';
import WindowThumbnailSettings from '../../../src/components/WindowThumbnailSettings';
/** create wrapper */
function createWrapper(props) {
return shallow(
<WindowThumbnailSettings
windowId="xyz"
setWindowThumbnailPosition={() => {}}
thumbnailNavigationPosition="off"
{...props}
/>,
);
}
describe('WindowThumbnailSettings', () => {
it('renders all elements correctly', () => {
const wrapper = createWrapper();
expect(wrapper.find(Typography).length).toBe(1);
expect(wrapper.find(RadioGroup).length).toBe(1);
const labels = wrapper.find(FormControlLabel);
expect(labels.length).toBe(3);
expect(labels.at(0).props().value).toBe('off');
expect(labels.at(1).props().value).toBe('bottom');
expect(labels.at(2).props().value).toBe('right');
});
it('should set the correct label active', () => {
let wrapper = createWrapper({ thumbnailNavigationPosition: 'bottom' });
expect(wrapper.find(RadioGroup).props().value).toBe('bottom');
wrapper = createWrapper({ thumbnailNavigationPosition: 'right' });
expect(wrapper.find(RadioGroup).props().value).toBe('right');
});
it('updates state when the thumbnail config selection changes', () => {
const setWindowThumbnailPosition = jest.fn();
const wrapper = createWrapper({ setWindowThumbnailPosition });
wrapper.find(RadioGroup).first().simulate('change', { target: { value: 'off' } });
expect(setWindowThumbnailPosition).toHaveBeenCalledWith('xyz', 'off');
wrapper.find(RadioGroup).first().simulate('change', { target: { value: 'right' } });
expect(setWindowThumbnailPosition).toHaveBeenCalledWith('xyz', 'right');
});
});