Select Git revision
-
Eliott Sammier authoredEliott Sammier authored
AnnotationCreation.test.js 1.57 KiB
import React from 'react';
import { shallow } from 'enzyme';
import ToggleButtonGroup from '@material-ui/lab/ToggleButtonGroup';
import AnnotationCreation from '../src/AnnotationCreation';
import AnnotationDrawing from '../src/AnnotationDrawing';
import TextEditor from '../src/TextEditor';
import ImageFormField from '../src/ImageFormField';
/** */
function createWrapper(props) {
return shallow(
<AnnotationCreation
id="x"
config={{ annotation: {} }}
receiveAnnotation={jest.fn()}
windowId="abc"
{...props}
/>,
);
}
describe('AnnotationCreation', () => {
let wrapper;
it('renders a form', () => {
wrapper = createWrapper();
expect(wrapper.dive().find('form').length).toBe(1);
});
it('form has button toggles', () => {
wrapper = createWrapper();
expect(wrapper.dive().find(ToggleButtonGroup).length).toBe(3);
});
it('adds the AnnotationDrawing component', () => {
wrapper = createWrapper();
expect(wrapper.dive().find(AnnotationDrawing).length).toBe(1);
});
it('adds the TextEditor component', () => {
wrapper = createWrapper();
expect(wrapper.dive().find(TextEditor).length).toBe(1);
});
it('adds the ImageFormField component', () => {
wrapper = createWrapper();
expect(wrapper.dive().find(ImageFormField).length).toBe(1);
});
it('can handle annotations without target selector', () => {
wrapper = createWrapper({
annotation: {
body: {
purpose: 'commenting',
value: 'Foo bar',
},
target: {},
},
});
wrapper.dive();
});
});