43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import { portfolio } from "./portfolio-data";
|
|
|
|
describe("public/portfolio-data.json", () => {
|
|
it("writes the Innovo company name with the correct accents and case", () => {
|
|
const innovo = portfolio.experiences.find(
|
|
({ id }) => id === "innovo-tecnologia",
|
|
);
|
|
expect(innovo?.company).toBe("Innovo Tecnologia da Informação Ltda.");
|
|
expect(JSON.stringify(portfolio)).not.toMatch(/Informacao|Da Informa/);
|
|
});
|
|
|
|
it("keeps the kind of every project, which separates client work from the laboratory", () => {
|
|
expect(
|
|
portfolio.projects.map(({ id, kind }) => [id, kind] as const),
|
|
).toEqual([
|
|
["sev-modaintima", "cliente"],
|
|
["lavacao-047", "cliente"],
|
|
["nutriscan", "laboratorio"],
|
|
["twins-lab", "laboratorio"],
|
|
["reddit-explorer", "laboratorio"],
|
|
["sc-plus", "cliente"],
|
|
["gcc-installer", "laboratorio"],
|
|
["as-servicos", "cliente"],
|
|
["julia-beauty", "cliente"],
|
|
]);
|
|
});
|
|
|
|
it("describes each project in a subtitle a business owner understands", () => {
|
|
const subtitles = Object.fromEntries(
|
|
portfolio.projects.map(({ id, subtitle }) => [id, subtitle]),
|
|
);
|
|
expect(subtitles["sc-plus"]).toBe(
|
|
"Site institucional com áreas, projetos e contato",
|
|
);
|
|
expect(subtitles["gcc-installer"]).toBe(
|
|
"Instalador do compilador GCC para Windows",
|
|
);
|
|
expect(Object.values(subtitles).join(" ")).not.toMatch(
|
|
/Next\.js|MongoDB|MinGW|Gêmeo Digital|gerada em código/,
|
|
);
|
|
});
|
|
});
|