Update tests

This commit is contained in:
Bastian Meissner 2022-02-13 21:12:05 +01:00
parent 942cba97da
commit 6d059ce3b8
6 changed files with 114 additions and 22 deletions

View file

@ -1,3 +1,5 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP // Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Greeter snapshot test 1`] = `[Function]`; exports[`Greeter snapshot test with properties 1`] = `[Function]`;
exports[`Greeter snapshot test without properties 1`] = `[Function]`;

View file

@ -1,3 +1,5 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP // Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`searchBar.tsx Tests SearchBar rendering 1`] = `[Function]`; exports[`searchBar.tsx Tests SearchBar rendering with properties 1`] = `[Function]`;
exports[`searchBar.tsx Tests searchBar rendering without properties 1`] = `[Function]`;

View file

@ -98,7 +98,12 @@ it("getExtension test", () => {
expect(getExtension(31)).toEqual("st"); expect(getExtension(31)).toEqual("st");
}); });
it("Greeter snapshot test", () => { it("Greeter snapshot test with properties", () => {
const { asFragment } = render(<Greeter data={props} />); const { asFragment } = render(<Greeter greeter={{ greeter: props }} />);
expect(asFragment).toMatchSnapshot();
});
it("Greeter snapshot test without properties", () => {
const { asFragment } = render(<Greeter />);
expect(asFragment).toMatchSnapshot(); expect(asFragment).toMatchSnapshot();
}); });

View file

@ -54,11 +54,16 @@ describe("searchBar.tsx", () => {
}; };
}); });
it("Tests SearchBar rendering", () => { it("Tests SearchBar rendering with properties", () => {
const { asFragment } = render(<SearchBar search={props} />); const { asFragment } = render(<SearchBar search={props} />);
expect(asFragment).toMatchSnapshot(); expect(asFragment).toMatchSnapshot();
}); });
it("Tests searchBar rendering without properties", () => {
const { asFragment } = render(<SearchBar />);
expect(asFragment).toMatchSnapshot();
});
it("Tests handleQueryWithProvider", () => { it("Tests handleQueryWithProvider", () => {
props.providers?.forEach((provider: ISearchProviderProps) => { props.providers?.forEach((provider: ISearchProviderProps) => {
handleQueryWithProvider(props, provider.prefix + " test"); handleQueryWithProvider(props, provider.prefix + " test");

View file

@ -9,24 +9,26 @@ import Settings, {
SectionHeadline, SectionHeadline,
} from "../../components/settings"; } from "../../components/settings";
import { ISearchProps } from "../../components/searchBar"; import { ISearchProps } from "../../components/searchBar";
import { IThemeProps } from "../../lib/useTheme"; import { IThemeDataProps } from "../../lib/useTheme";
const themes: Array<IThemeProps> = [ const themes: IThemeDataProps = {
{ themes: [
label: "Classic", {
value: 0, label: "Classic",
mainColor: "#000000", value: 0,
accentColor: "#1e272e", mainColor: "#000000",
backgroundColor: "#ffffff", accentColor: "#1e272e",
}, backgroundColor: "#ffffff",
{ },
label: "Classic", {
value: 1, label: "Classic",
mainColor: "#000000", value: 1,
accentColor: "#1e272e", mainColor: "#000000",
backgroundColor: "#ffffff", accentColor: "#1e272e",
}, backgroundColor: "#ffffff",
]; },
],
};
const search: ISearchProps = { const search: ISearchProps = {
defaultProvider: "https://test.com?q=", defaultProvider: "https://test.com?q=",

View file

@ -0,0 +1,76 @@
import { getTheme, IThemeProps, setScheme, setTheme } from "../../lib/useTheme";
const props: IThemeProps = {
label: "Classic",
value: 0,
mainColor: "#000000",
accentColor: "#1e272e",
backgroundColor: "#ffffff",
};
const location: Location = window.location;
const setup = () => {
Object.defineProperty(window, "localStorage", {
value: {
getItem: jest.fn(() => JSON.stringify(props)),
setItem: jest.fn(() => null),
},
writable: true,
});
// @ts-ignore
delete window.location;
window.location = {
...location,
reload: jest.fn(),
};
};
describe("theme.tsx", () => {
it("Tests setScheme", () => {
setup();
let value = "dark";
setScheme(value);
expect(window.localStorage.setItem).toHaveBeenCalledTimes(1);
expect(window.localStorage.setItem).toHaveBeenCalledWith("theme", value);
});
it("setTheme light test", () => {
setup();
setTheme("light", props);
expect(window.localStorage.setItem).toHaveBeenCalledTimes(2);
expect(window.localStorage.setItem).toHaveBeenCalledWith(
"light-theme",
JSON.stringify(props),
);
expect(window.location.reload).toHaveBeenCalledTimes(1);
});
it("setTheme dark test", () => {
setup();
setTheme("dark", props);
expect(window.localStorage.setItem).toHaveBeenCalledTimes(2);
expect(window.localStorage.setItem).toHaveBeenCalledWith(
"dark-theme",
JSON.stringify(props),
);
expect(window.location.reload).toHaveBeenCalledTimes(1);
});
it("Tests getTheme", () => {
setup();
let themeTest = getTheme();
expect(themeTest).toEqual(props);
});
it("Tests getTheme with empty parameters", () => {
localStorage.setItem("theme", "");
expect(getTheme()).toEqual({});
});
});