import { caseStudies, servicePages, siteUrl } from "@/lib/site-content"; import sitemap from "./sitemap"; /** O mapa do site lista a home, as páginas fixas, cada serviço e cada case, sem repetir endereço. */ describe("sitemap", () => { const urls = sitemap().map((entry) => entry.url); it("lists the fixed pages, every service and every case, once each", () => { expect(urls).toEqual( expect.arrayContaining([ siteUrl, `${siteUrl}/curriculo`, `${siteUrl}/privacidade`, `${siteUrl}/servicos`, `${siteUrl}/cases`, `${siteUrl}/ia`, ...servicePages.map(({ slug }) => `${siteUrl}/servicos/${slug}`), ...caseStudies.map(({ id }) => `${siteUrl}/cases/${id}`), ]), ); expect(new Set(urls).size).toBe(urls.length); expect(urls).toHaveLength(6 + servicePages.length + caseStudies.length); }); it("never lists the 404 page", () => { expect(urls.some((url) => /not-found|nada/.test(url))).toBe(false); }); it("gives every entry the same fixed date, so the sitemap is equal on every build", () => { const dates = sitemap().map((entry) => String(entry.lastModified)); expect(new Set(dates).size).toBe(1); }); });