diff --git a/src/pages/SettingsPage/MovieSettings.test.js b/src/pages/SettingsPage/MovieSettings.test.js index 61d7821..51d38c3 100644 --- a/src/pages/SettingsPage/MovieSettings.test.js +++ b/src/pages/SettingsPage/MovieSettings.test.js @@ -16,5 +16,47 @@ describe('', function () { wrapper.unmount(); }); + it('received text renders into dom', function () { + const wrapper = shallow(); + wrapper.setState({ + text: [ + "firstline", + "secline" + ] + }); + + expect(wrapper.find(".indextextarea").find(".textarea-element")).toHaveLength(2); + }); + + it('test simulate reindex', function () { + global.fetch = prepareFetchApi({}); + const wrapper = shallow(); + + wrapper.find(".reindexbtn").simulate("click"); + + // initial send of reindex request to server + expect(global.fetch).toBeCalledTimes(1); + }); + + it('content available received and in state', done => { + global.fetch = prepareFetchApi({ + contentAvailable: true, + message: "firstline\nsecondline" + }); + const wrapper = shallow(); + wrapper.instance().updateStatus(); + + process.nextTick(() => { + expect(wrapper.state()).toMatchObject({ + text: [ + "firstline", + "secondline" + ] + }); + + global.fetch.mockClear(); + done(); + }); + }); }); diff --git a/src/pages/SettingsPage/SettingsPage.css b/src/pages/SettingsPage/SettingsPage.css index 216e5e2..b958e19 100644 --- a/src/pages/SettingsPage/SettingsPage.css +++ b/src/pages/SettingsPage/SettingsPage.css @@ -28,6 +28,7 @@ background-color: #a8b2de; text-align: center; font-weight: bold; + border-radius: 7px; } .SettingSidebarElement:hover { diff --git a/src/pages/SettingsPage/SettingsPage.js b/src/pages/SettingsPage/SettingsPage.js index 44aa747..f627fb5 100644 --- a/src/pages/SettingsPage/SettingsPage.js +++ b/src/pages/SettingsPage/SettingsPage.js @@ -19,6 +19,8 @@ class SettingsPage extends React.Component { return ; case "movies": return ; + case "tv": + return ; // todo this page default: return "unknown button clicked"; } diff --git a/src/pages/SettingsPage/SettingsPage.test.js b/src/pages/SettingsPage/SettingsPage.test.js index a842d0c..503e0eb 100644 --- a/src/pages/SettingsPage/SettingsPage.test.js +++ b/src/pages/SettingsPage/SettingsPage.test.js @@ -16,26 +16,33 @@ describe('', function () { wrapper.unmount(); }); - it('received text renders into dom', function () { + it('simulate topic clicka', function () { const wrapper = shallow(); - wrapper.setState({ - text: [ - "firstline", - "secline" - ] - }); + simulateSideBarClick("General",wrapper); + expect(wrapper.state().currentpage).toBe("general"); + expect(wrapper.find(".SettingsContent").find("GeneralSettings")).toHaveLength(1); - expect(wrapper.find(".indextextarea").find(".textarea-element")).toHaveLength(2); + simulateSideBarClick("Movies",wrapper); + expect(wrapper.state().currentpage).toBe("movies"); + expect(wrapper.find(".SettingsContent").find("MovieSettings")).toHaveLength(1); + + simulateSideBarClick("TV Shows",wrapper); + expect(wrapper.state().currentpage).toBe("tv"); + expect(wrapper.find(".SettingsContent").find("a")).toHaveLength(1); }); - it('test simulate reindex', function () { - global.fetch = prepareFetchApi({}); + function simulateSideBarClick(name, wrapper) { + wrapper.find(".SettingSidebarElement").findWhere(it => + it.text() === name && + it.type() === "div").simulate("click"); + } + + it('simulate unknown topic', function () { const wrapper = shallow(); + wrapper.setState({currentpage: "unknown"}); - wrapper.find(".reindexbtn").simulate("click"); + expect(wrapper.find(".SettingsContent").text()).toBe("unknown button clicked"); - // initial send of reindex request to server - expect(global.fetch).toBeCalledTimes(1); }); });