test.social/core/reporters/card.reporter.test.ts
test.social/core/reporters/card.reporter.test.ts is a file in Codebase Testing. 21 lines of code and 0 definitions.
import { afterEach, describe, expect, it, vi } from "vitest";
import { conclude, say } from "@banes-lab/social-share/core/reporters/card.reporter.ts";
import process from "node:process";
describe("say and conclude", () => {
afterEach(() => {
vi.restoreAllMocks();
process.exitCode = 0;
});
it("prints the clean line and passes when nothing was found", () => {
const out = vi.spyOn(process.stdout, "write").mockReturnValue(true);
say("hello");
expect(conclude([], "clean")).toBe(true);
expect(out.mock.calls.map(([text]) => text)).toStrictEqual(["hello\n", "clean\n"]);
});
it("prints every finding and fails the process", () => {
const errors = vi.spyOn(process.stderr, "write").mockReturnValue(true);
expect(conclude([{ card: "demo", message: "is broken." }], "clean")).toBe(false);
expect(errors.mock.calls[0]?.[0]).toBe(" demo is broken.\n");
expect(process.exitCode).toBe(1);
});
});