diff --git a/src/pages/SettingsPage/MovieSettings.test.js b/src/pages/SettingsPage/MovieSettings.test.js index b5bca6c..8f9c6e5 100644 --- a/src/pages/SettingsPage/MovieSettings.test.js +++ b/src/pages/SettingsPage/MovieSettings.test.js @@ -1,6 +1,7 @@ import {shallow} from 'enzyme'; import React from 'react'; import MovieSettings from './MovieSettings'; +import {callAPI} from '../../utils/Api'; describe('', function () { it('renders without crashing ', function () { @@ -22,12 +23,55 @@ describe('', function () { }); it('test simulate reindex', function () { - global.fetch = global.prepareFetchApi({success: true}); + callAPIMock({success: true}) const wrapper = shallow(); wrapper.find('button').findWhere(e => e.text() === 'Reindex Movie' && e.type() === 'button').simulate('click'); // initial send of reindex request to server - expect(global.fetch).toBeCalledTimes(1); + expect(callAPI).toBeCalledTimes(1); + }); + + it('test simulate tvshow reindex', function () { + callAPIMock({success: true}) + const wrapper = shallow(); + + wrapper.find('button').findWhere(e => e.text() === 'TVShow Reindex' && e.type() === 'button').simulate('click'); + + // initial send of reindex request to server + expect(callAPI).toBeCalledTimes(1); + }); + + it('test handlemessage ', function () { + const wrapper = shallow(); + const func = jest.fn((str) => {}) + wrapper.instance().appendLog = func + wrapper.instance().handleMessage('{"Action":"message", "Message":"testmsg"}') + + expect(func).toHaveBeenCalledTimes(1); + expect(func).toHaveBeenLastCalledWith('testmsg') + + wrapper.setState({startbtnDisabled: false}); + + // expect button to get disabled! + wrapper.instance().handleMessage('{"Action":"reindexAction", "Event":"start"}'); + expect(wrapper.state().startbtnDisabled).toBeTruthy() + + // expect button to get enabled + wrapper.instance().handleMessage('{"Action":"reindexAction", "Event":"stop"}'); + expect(wrapper.state().startbtnDisabled).not.toBeTruthy() + }); + + it('test appendlog', function () { + const wrapper = shallow(); + + wrapper.instance().appendLog("testmsg"); + expect(wrapper.state().text).toHaveLength(1) + expect(wrapper.state().text[0]).toBe('testmsg') + + wrapper.instance().appendLog("testmsg2"); + expect(wrapper.state().text).toHaveLength(2) + expect(wrapper.state().text[0]).toBe('testmsg2') + expect(wrapper.state().text[1]).toBe('testmsg') }); }); diff --git a/src/pages/SettingsPage/MovieSettings.tsx b/src/pages/SettingsPage/MovieSettings.tsx index 06e63c8..3231466 100644 --- a/src/pages/SettingsPage/MovieSettings.tsx +++ b/src/pages/SettingsPage/MovieSettings.tsx @@ -44,7 +44,6 @@ class MovieSettings extends React.Component { dial(): void { console.log('trying to connect...'); const conn = new WebSocket(`ws://${window.location.host}/subscribe`); - console.log('dd to connect...'); conn.addEventListener('close', (ev) => { this.appendLog(`WebSocket Disconnected code: ${ev.code}, reason: ${ev.reason}`, true); if (ev.code !== 1001) { @@ -58,7 +57,6 @@ class MovieSettings extends React.Component { // This is where we handle messages received. conn.addEventListener('message', (ev) => { - console.log('new message!'); if (typeof ev.data !== 'string') { console.error('unexpected message type', typeof ev.data); return; @@ -80,6 +78,8 @@ class MovieSettings extends React.Component { } else if (msg.Event === 'stop') { this.setState({startbtnDisabled: false}); } + } else { + console.error('unexpected response from server: ' + message); } }