2020-06-12 15:57:30 +00:00
|
|
|
import {shallow} from "enzyme";
|
|
|
|
import React from "react";
|
|
|
|
import SettingsPage from "./SettingsPage";
|
|
|
|
|
|
|
|
function prepareFetchApi(response) {
|
|
|
|
const mockJsonPromise = Promise.resolve(response);
|
|
|
|
const mockFetchPromise = Promise.resolve({
|
|
|
|
json: () => mockJsonPromise,
|
|
|
|
});
|
|
|
|
return (jest.fn().mockImplementation(() => mockFetchPromise));
|
|
|
|
}
|
|
|
|
|
|
|
|
describe('<RandomPage/>', function () {
|
|
|
|
it('renders without crashing ', function () {
|
|
|
|
const wrapper = shallow(<SettingsPage/>);
|
|
|
|
wrapper.unmount();
|
|
|
|
});
|
|
|
|
|
2020-06-29 19:55:40 +02:00
|
|
|
it('simulate topic clicka', function () {
|
2020-06-12 15:57:30 +00:00
|
|
|
const wrapper = shallow(<SettingsPage/>);
|
|
|
|
|
2020-06-29 19:55:40 +02:00
|
|
|
simulateSideBarClick("General",wrapper);
|
|
|
|
expect(wrapper.state().currentpage).toBe("general");
|
|
|
|
expect(wrapper.find(".SettingsContent").find("GeneralSettings")).toHaveLength(1);
|
2020-06-12 15:57:30 +00:00
|
|
|
|
2020-06-29 19:55:40 +02:00
|
|
|
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);
|
2020-06-12 15:57:30 +00:00
|
|
|
});
|
|
|
|
|
2020-06-29 19:55:40 +02:00
|
|
|
function simulateSideBarClick(name, wrapper) {
|
|
|
|
wrapper.find(".SettingSidebarElement").findWhere(it =>
|
|
|
|
it.text() === name &&
|
|
|
|
it.type() === "div").simulate("click");
|
|
|
|
}
|
|
|
|
|
|
|
|
it('simulate unknown topic', function () {
|
2020-06-12 15:57:30 +00:00
|
|
|
const wrapper = shallow(<SettingsPage/>);
|
2020-06-29 19:55:40 +02:00
|
|
|
wrapper.setState({currentpage: "unknown"});
|
2020-06-12 15:57:30 +00:00
|
|
|
|
2020-06-29 19:55:40 +02:00
|
|
|
expect(wrapper.find(".SettingsContent").text()).toBe("unknown button clicked");
|
2020-06-12 15:57:30 +00:00
|
|
|
|
|
|
|
});
|
|
|
|
});
|