Files
portifolio-evandrodevbr/lib/jogo/feed.test.ts
T
evandro 67b32fcab3
CI / audit (push) Successful in 10m48s
CI / verify (push) Successful in 19m2s
CI / deploy (push) Successful in 2m14s
CI / e2e (push) Failing after 36m15s
feat(jogo): expediente dos mortos, jogo de zumbis em primeira pessoa
Etapa 1 inteira (logica com 100% de cobertura, cena 3D, toque, sons, bancada de desempenho, e2e) e a base da etapa 2 (mapa novo no Tiled, texturas, imagens dos itens, sons conferidos, golpe recortado e medido). Pagina /jogo fora do menu e do sitemap ate a medicao no celular.
2026-11-10 19:37:10 -03:00

49 lines
1.5 KiB
TypeScript

import { registrar, registrarEliminacao, registrarResolvido } from "./feed";
import type { Partida } from "./tipos";
const nova = (): Pick<Partida, "feed" | "passo"> => ({ feed: [], passo: 42 });
describe("registrar", () => {
it("acrescenta a linha com o passo atual", () => {
const p = nova();
registrar(p, "olá");
expect(p.feed).toEqual([{ passo: 42, texto: "olá" }]);
});
it("mantém cinco linhas e corta na sexta", () => {
const p = nova();
for (let i = 1; i <= 5; i++) registrar(p, `l${i}`);
expect(p.feed).toHaveLength(5);
registrar(p, "l6");
expect(p.feed.map((l) => l.texto)).toEqual(["l2", "l3", "l4", "l5", "l6"]);
});
});
describe("registrarEliminacao", () => {
it("usa a solução do drone e o nome do zumbi", () => {
const p = nova();
registrarEliminacao(p, "site-lento", "site-lento");
expect(p.feed[0].texto).toBe("Site rápido eliminou Site lento");
});
it("usa o próprio id quando desconhecido", () => {
const p = nova();
registrarEliminacao(p, "a", "b");
expect(p.feed[0].texto).toBe("a eliminou b");
});
});
describe("registrarResolvido", () => {
it("registra o nome do problema", () => {
const p = nova();
registrarResolvido(p, "site-lento");
expect(p.feed[0].texto).toBe("Resolvido: Site lento");
});
it("usa o próprio id quando desconhecido", () => {
const p = nova();
registrarResolvido(p, "zzz");
expect(p.feed[0].texto).toBe("Resolvido: zzz");
});
});