feat: basic testing done

This commit is contained in:
2025-07-14 22:27:49 +02:00
parent a178932afe
commit 8f5036f246
12 changed files with 5310 additions and 60 deletions

View File

@@ -0,0 +1,13 @@
import { screen, render } from "@testing-library/react";
import { NavbarHeader } from "./navbar-header.component";
describe("NavbarHeader", () => {
beforeAll(() => {
document.documentElement.setAttribute("data-theme", "light");
});
it("renders", () => {
render(<NavbarHeader />);
const element = screen.getByTestId("navbar-header");
expect(element).toBeInTheDocument();
});
});

View File

@@ -8,7 +8,7 @@ import { PropsWithChildren } from "react";
* */
export const NavbarHeader = (props: PropsWithChildren) => {
return (
<header className={styles.header}>
<header className={styles.header} data-testid="navbar-header">
<Link href={"/"} className={styles.logo}>
<img src="/main-logo.svg" alt="Main logo" />
<h1>Your brand</h1>

View File

@@ -0,0 +1,22 @@
import { screen, render } from "@testing-library/react";
import { ThemeSwitcher } from "./theme-switcher.component";
describe("theme-switcher", () => {
beforeAll(() => {
document.documentElement.setAttribute("data-theme", "light");
});
it("renders", () => {
render(<ThemeSwitcher />);
const element = screen.getByTestId("theme-switcher");
expect(element).toBeInTheDocument();
});
it("changes the theme on click", () => {
render(<ThemeSwitcher />);
const element = screen.getByTestId("theme-switcher");
expect(document.documentElement.getAttribute("data-theme")).toBe("light");
element.click();
expect(document.documentElement.getAttribute("data-theme")).toBe("dark");
element.click();
expect(document.documentElement.getAttribute("data-theme")).toBe("light");
});
});

View File

@@ -12,7 +12,7 @@ export const ThemeSwitcher = () => {
};
return (
<label className="switch">
<label className="switch" data-testid="theme-switcher">
<input type="checkbox" onClick={changeHandler} />
<span className="slider round"></span>
</label>