OpenMediaCenter/src/pages/SettingsPage/SettingsPage.test.js

49 lines
1.6 KiB
JavaScript
Raw Normal View History

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();
});
it('simulate topic clicka', function () {
2020-06-12 15:57:30 +00:00
const wrapper = shallow(<SettingsPage/>);
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
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("span")).toHaveLength(1);
2020-06-12 15:57:30 +00: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/>);
wrapper.setState({currentpage: "unknown"});
2020-06-12 15:57:30 +00:00
expect(wrapper.find(".SettingsContent").text()).toBe("unknown button clicked");
2020-06-12 15:57:30 +00:00
});
});