web: Components: Added tests for AvatarEditor component.

This commit is contained in:
Ilya Oleshko 2019-11-22 16:20:24 +03:00
parent f54a8b45e7
commit 51e2940f86

View File

@ -1,16 +1,178 @@
import React from 'react';
import { mount } from 'enzyme';
import { mount, shallow } from 'enzyme';
import AvatarEditor from '.';
const baseProps = {
visible: true,
headerLabel: 'test',
chooseFileLabel: 'test',
saveButtonLabel: 'test',
maxSizeFileError: 'test',
image: '',
maxSize: 1,
accept: ['image/png', 'image/jpeg'],
unknownTypeError: 'test',
unknownError: 'test',
displayType: 'auto'
};
describe('<AvatarEditor />', () => {
it('renders without error', () => {
const wrapper = mount(
<AvatarEditor
visible={true}
onSave={(data) =>{console.log(data.croppedImage, data.defaultImage)}}
/>
<AvatarEditor {...baseProps} />
);
expect(wrapper).toExist();
});
it('accepts id', () => {
const wrapper = mount(
<AvatarEditor {...baseProps} id="testId" />
);
expect(wrapper.prop('id')).toEqual('testId');
});
it('accepts className', () => {
const wrapper = mount(
<AvatarEditor {...baseProps} className="test" />
);
expect(wrapper.prop('className')).toEqual('test');
});
it('accepts style', () => {
const wrapper = mount(
<AvatarEditor {...baseProps} style={{color: 'red'}} />
);
expect(wrapper.getDOMNode().style).toHaveProperty('color', 'red');
});
it('componentDidUpdate() props lifecycle test', () => {
const wrapper = shallow(<AvatarEditor {...baseProps} />);
const instance = wrapper.instance();
instance.componentDidUpdate({visible: false}, wrapper.state());
instance.componentDidUpdate({visible: true}, wrapper.state());
expect(wrapper.props()).toBe(wrapper.props());
});
it('causes function onClose()', () => {
const onClose = jest.fn();
const wrapper = mount(<AvatarEditor {...baseProps} onClose={onClose} />);
const instance = wrapper.instance();
instance.onClose();
expect(wrapper.state('visible')).toBe(false);
});
it('causes function onSaveButtonClick()', () => {
const onSave = jest.fn();
const wrapper = mount(<AvatarEditor {...baseProps} onSave={onSave} />);
const instance = wrapper.instance();
wrapper.setState({ isContainsFile: false });
instance.onSaveButtonClick();
wrapper.setState({ isContainsFile: true });
instance.onSaveButtonClick();
expect(wrapper.state('visible')).toBe(true);
});
it('causes function onImageChange()', () => {
const fileString = '';
const onImageChange= jest.fn();
const wrapper = mount(<AvatarEditor {...baseProps} onImageChange={onImageChange} />);
const instance = wrapper.instance();
instance.onImageChange(fileString);
expect(onImageChange).toHaveBeenCalled();
});
it('causes function onImageChange() no onImageChange', () => {
const fileString = '';
const wrapper = mount(<AvatarEditor {...baseProps} />);
const instance = wrapper.instance();
instance.onImageChange(fileString);
expect(wrapper.state('croppedImage')).toBe(fileString);
});
it('causes function onDeleteImage()', () => {
const onDeleteImage= jest.fn();
const wrapper = mount(<AvatarEditor {...baseProps} onDeleteImage={onDeleteImage} />);
const instance = wrapper.instance();
instance.onDeleteImage();
expect(onDeleteImage).toHaveBeenCalled();
});
it('causes function onDeleteImage() no onDeleteImage', () => {
const wrapper = mount(<AvatarEditor {...baseProps} />);
const instance = wrapper.instance();
instance.onDeleteImage();
expect(wrapper.state('isContainsFile')).toBe(false);
});
it('causes function onPositionChange()', () => {
const data = {test: 'test'};
const wrapper = mount(<AvatarEditor {...baseProps} />);
const instance = wrapper.instance();
instance.onPositionChange(data);
expect(wrapper.state('test')).toBe('test');
});
it('causes function onLoadFileError()', () => {
const onLoadFileError= jest.fn();
const wrapper = mount(<AvatarEditor {...baseProps} onLoadFileError={onLoadFileError} />);
const instance = wrapper.instance();
instance.onLoadFileError();
expect(onLoadFileError).toHaveBeenCalled();
});
it('causes function onLoadFileError() no onLoadFileError', () => {
const wrapper = mount(<AvatarEditor {...baseProps} />);
const instance = wrapper.instance();
instance.onLoadFileError();
expect(wrapper.state('isContainsFile')).toBe(false);
});
it('causes function onLoadFile()', () => {
const file = 'test';
const onLoadFile= jest.fn();
const wrapper = mount(<AvatarEditor {...baseProps} onLoadFile={onLoadFile} />);
const instance = wrapper.instance();
instance.onLoadFile(file);
expect(onLoadFile).toHaveBeenCalled();
expect(wrapper.state('isContainsFile')).toBe(true);
});
it('causes function onLoadFile() no onLoadFile', () => {
const wrapper = mount(<AvatarEditor {...baseProps} />);
const instance = wrapper.instance();
instance.onLoadFile();
expect(wrapper.state('isContainsFile')).toBe(true);
});
});