1
0
Fork 0
This repository has been archived on 2025-08-23. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
backup-websites-2024-01/apps/vojtechmares.com/tests/Home.test.tsx

38 lines
1.1 KiB
TypeScript

import { expect, test } from "vitest";
import { render, screen, within } from "@testing-library/react";
import Home from "../pages";
test("home", () => {
render(<Home />);
const main = within(screen.getByRole("main"));
expect(
main.getByRole("heading", {
level: 1,
name: /Jsem Vojtěch Mareš a pomohu Vám s Vaší IT infrastrukturou./i,
})
).toBeDefined();
const writeMe = screen.getAllByText(/Napište mi/i);
writeMe.map((element) => {
// First button (in navbar) is <a><span>...</span></a>, therefore we look for parent (closest) anchor element
if (element instanceof HTMLSpanElement) {
const parent = element.closest("a");
expect(parent?.getAttribute("href")).toBe(
"mailto:iam@vojtechmares.com"
)
return;
}
expect(element.getAttribute("href")).toBe(
"mailto:iam@vojtechmares.com"
)
});
expect(writeMe).toHaveLength(6);
// const footer = within(screen.getByRole('contentinfo'))
// const link = within(footer.getByRole('link'))
// expect(link.getByRole('img', { name: /vercel logo/i })).toBeDefined()
});