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