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);
}
}