added tests for homepage
This commit is contained in:
		@@ -39,7 +39,7 @@ describe('<CategoryPage/>', function () {
 | 
				
			|||||||
        let message;
 | 
					        let message;
 | 
				
			||||||
        global.console.log = jest.fn((m) => {
 | 
					        global.console.log = jest.fn((m) => {
 | 
				
			||||||
            message = m;
 | 
					            message = m;
 | 
				
			||||||
        })
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const wrapper = shallow(<CategoryPage/>);
 | 
					        const wrapper = shallow(<CategoryPage/>);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,6 +11,11 @@ function prepareFetchApi(response) {
 | 
				
			|||||||
    return (jest.fn().mockImplementation(() => mockFetchPromise));
 | 
					    return (jest.fn().mockImplementation(() => mockFetchPromise));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function prepareFailingFetchApi() {
 | 
				
			||||||
 | 
					    const mockFetchPromise = Promise.reject("myreason");
 | 
				
			||||||
 | 
					    return (jest.fn().mockImplementation(() => mockFetchPromise));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
describe('<HomePage/>', function () {
 | 
					describe('<HomePage/>', function () {
 | 
				
			||||||
    it('renders without crashing ', function () {
 | 
					    it('renders without crashing ', function () {
 | 
				
			||||||
        const wrapper = shallow(<HomePage/>);
 | 
					        const wrapper = shallow(<HomePage/>);
 | 
				
			||||||
@@ -73,4 +78,43 @@ describe('<HomePage/>', function () {
 | 
				
			|||||||
            done();
 | 
					            done();
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    it('test form submit', done => {
 | 
				
			||||||
 | 
					        global.fetch = prepareFetchApi([{}, {}]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        const wrapper = shallow(<HomePage/>);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        const fakeEvent = {preventDefault: () => console.log('preventDefault')};
 | 
				
			||||||
 | 
					        wrapper.find(".searchform").simulate('submit', fakeEvent);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        expect(wrapper.state().selectionnr).toBe(0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        process.nextTick(() => {
 | 
				
			||||||
 | 
					            // state to be set correctly with response
 | 
				
			||||||
 | 
					            expect(wrapper.state().selectionnr).toBe(2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            global.fetch.mockClear();
 | 
				
			||||||
 | 
					            done();
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    it('test no backend connection behaviour', done => {
 | 
				
			||||||
 | 
					        // this test assumes a console.log within every connection fail
 | 
				
			||||||
 | 
					        global.fetch = prepareFailingFetchApi();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        let count = 0;
 | 
				
			||||||
 | 
					        global.console.log = jest.fn((m) => {
 | 
				
			||||||
 | 
					            count++;
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        const wrapper = shallow(<HomePage/>);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        process.nextTick(() => {
 | 
				
			||||||
 | 
					            // state to be set correctly with response
 | 
				
			||||||
 | 
					            expect(global.fetch).toBeCalledTimes(2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            global.fetch.mockClear();
 | 
				
			||||||
 | 
					            done();
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user