CI / verify (push) Failing after 5m29s
Estado do disco em 14/10/2026, sem filtrar. Inclui as copias .sync-conflict-* do Syncthing de 07/10 e os 15 arquivos que o Syncthing apagou; todo esse conteudo ja existia em outros commits. So havia fora do Git: AGENTS.md, CLAUDE.md e a alteracao em data/project-health.json.
50 lines
1.9 KiB
TypeScript
50 lines
1.9 KiB
TypeScript
import { render, screen, within } from "@testing-library/react";
|
|
import { metadata as rootMetadata } from "../layout";
|
|
import CurriculoPage from "./page";
|
|
|
|
jest.mock("next/font/google", () => ({
|
|
Geist_Mono: () => ({ variable: "font-geist-mono" }),
|
|
Space_Grotesk: () => ({ variable: "font-space-grotesk" }),
|
|
}));
|
|
|
|
jest.mock("next/font/local", () => () => ({
|
|
variable: "font-monument-extended",
|
|
}));
|
|
|
|
const authorizedRegion =
|
|
"Base em Garuva, atendimento a projetos no Norte de Santa Catarina e atuação remota.";
|
|
|
|
it("uses one factual regional description across home metadata", () => {
|
|
const description = rootMetadata.description;
|
|
expect(typeof description).toBe("string");
|
|
expect(description).toContain(authorizedRegion);
|
|
expect(description).not.toMatch(
|
|
/Joinville|São Francisco do Sul|Itapoá|Jaraguá do Sul|Curitiba/,
|
|
);
|
|
expect(rootMetadata.openGraph).toMatchObject({ description });
|
|
expect(rootMetadata.twitter).toMatchObject({ description });
|
|
});
|
|
|
|
it("shows a matching breadcrumb and keeps consulting secondary to hiring", () => {
|
|
render(CurriculoPage());
|
|
|
|
const breadcrumb = screen.getByRole("navigation", { name: "Breadcrumb" });
|
|
const breadcrumbLinks = within(breadcrumb).getAllByRole("link");
|
|
expect(breadcrumbLinks.map((link) => link.textContent)).toEqual([
|
|
"Início",
|
|
"Currículo",
|
|
]);
|
|
expect(breadcrumbLinks[0]).toHaveAttribute("href", "/");
|
|
expect(breadcrumbLinks[1]).toHaveAttribute("href", "/curriculo");
|
|
expect(breadcrumbLinks[1]).toHaveAttribute("aria-current", "page");
|
|
|
|
const hiringLink = screen.getByRole("link", { name: /oportunidade/i });
|
|
const consultingLink = screen.getByRole("link", { name: /consultoria/i });
|
|
expect(hiringLink).toHaveAttribute("href", "/#contact");
|
|
expect(consultingLink).toHaveAttribute("href", "/servicos");
|
|
expect(
|
|
hiringLink.compareDocumentPosition(consultingLink) &
|
|
Node.DOCUMENT_POSITION_FOLLOWING,
|
|
).toBeTruthy();
|
|
});
|