90 lines
2.5 KiB
JavaScript
Raw Normal View History

2020-06-12 15:57:30 +00:00
import React from 'react';
import {shallow} from 'enzyme';
2020-06-12 15:57:30 +00:00
import Preview, {TagPreview} from './Preview';
2020-06-12 15:57:30 +00:00
describe('<Preview/>', function () {
it('renders without crashing ', function () {
const wrapper = shallow(<Preview/>);
wrapper.unmount();
});
it('click event triggered', () => {
const func = jest.fn();
const wrapper = shallow(<Preview/>);
prepareViewBinding(func);
2020-06-12 15:57:30 +00:00
wrapper.find('.videopreview').simulate('click');
//callback to open player should have called
expect(func).toHaveBeenCalledTimes(1);
});
it('picture rendered correctly', done => {
const mockSuccessResponse = 'testsrc';
const mockJsonPromise = Promise.resolve(mockSuccessResponse);
const mockFetchPromise = Promise.resolve({
text: () => mockJsonPromise
2020-06-12 15:57:30 +00:00
});
global.fetch = jest.fn().mockImplementation(() => mockFetchPromise);
const wrapper = shallow(<Preview name='test'/>);
2020-06-12 15:57:30 +00:00
// now called 1 times
expect(global.fetch).toHaveBeenCalledTimes(1);
process.nextTick(() => {
// received picture should be rendered into wrapper
expect(wrapper.find('.previewimage').props().src).not.toBeNull();
// check if preview title renders correctly
expect(wrapper.find('.previewtitle').text()).toBe('test');
2020-06-12 15:57:30 +00:00
global.fetch.mockClear();
done();
});
});
it('spinner loads correctly', function () {
const wrapper = shallow(<Preview/>);
// expect load animation to be visible
expect(wrapper.find('.loadAnimation')).toHaveLength(1);
});
2020-06-12 15:57:30 +00:00
});
describe('<TagPreview/>', function () {
it('renders without crashing ', function () {
const wrapper = shallow(<TagPreview/>);
wrapper.unmount();
});
// check if preview title renders correctly
it('renders title', () => {
const wrapper = shallow(<TagPreview name='test'/>);
expect(wrapper.find('.tagpreviewtitle').text()).toBe('test');
});
it('click event triggered', function () {
2020-06-12 15:57:30 +00:00
const func = jest.fn();
const wrapper = shallow(<TagPreview/>);
wrapper.setProps({
categorybinding: () => {
func();
2020-06-12 15:57:30 +00:00
}
});
// first call of fetch is getting of available tags
expect(func).toHaveBeenCalledTimes(0);
2020-06-12 15:57:30 +00:00
wrapper.find('.videopreview').simulate('click');
// now called 1 times
expect(func).toHaveBeenCalledTimes(1);
2020-06-12 15:57:30 +00:00
});
});