feat(cases): prova certa por serviço, páginas internas com trabalho no topo

Diagnóstico sem case que não cabe; desktop com o GCC Installer como projeto próprio; IoT com o Twins Lab e a nota da Apolo. Mosaico de pôsteres em /servicos e /cases, faixa baixa em uma coluna no currículo, privacidade e laboratório; Laboratório como lista compacta; SEV começando por catálogo, pedido no WhatsApp e painel; Joinville e SC nos títulos; imagens do LCP com fetchPriority e sizes reais; pré-carregamento só no hover; 404 com Open Graph próprio.
This commit is contained in:
Evandro Fonseca Junior committed 2026-10-14 17:01:35 -03:00
1 parent 7b633f0f4a
commit de6af74a0c
37 files changed
+1062 -254

No files matched your search

+23
View File
@@ -9,6 +9,23 @@ describe("not-found", () => {
expect(metadata.robots).not.toHaveProperty("follow");
});
it("has its own Open Graph and Twitter card, with no url (the home one does not apply to a page that does not exist)", () => {
expect(metadata.openGraph).toEqual({
locale: "pt_BR",
title: "Página não encontrada",
description: "A página que você procura não existe ou foi movida.",
siteName: "Evandro.dev.br",
type: "website",
});
expect(metadata.openGraph).not.toHaveProperty("url");
expect(metadata.twitter).toMatchObject({
card: "summary_large_image",
title: "Página não encontrada",
description: "A página que você procura não existe ou foi movida.",
});
expect(metadata.twitter).not.toHaveProperty("url");
});
it("keeps Googlebot out, since the root layout lets it index", () => {
expect(metadata.robots).toEqual({
googleBot: { index: false, follow: false },
@@ -30,4 +47,10 @@ describe("not-found", () => {
"/cases",
);
});
it("uses no lime: the lime is only for the contact action", () => {
const { container } = render(<NotFound />);
expect(container.innerHTML).not.toMatch(/slash|ccff00/i);
});
});