test.content/core/renderers/baseline.renderer.test.ts
test.content/core/renderers/baseline.renderer.test.ts is a file in Codebase Testing. 38 lines of code and 0 definitions.
import { describe, expect, it } from "vitest";
import { GENERATED_MARK_PREFIX } from "@govlab/canonical-write";
import type { ToneBaseline } from "@banes-lab/content/types/tone.types.ts";
import { renderBaseline } from "@banes-lab/content/core/renderers/baseline.renderer.ts";
const BASELINE: ToneBaseline = {
modules: [
{
agentlessPassives: 1,
bannedTerms: 1,
chainedSentences: 2,
collectivePerson: 0,
digitMetrics: 2,
firstPerson: 3,
labeledItems: 4,
literals: 10,
longDashes: 5,
longestSentence: 12,
module: "fixture.strings.ts",
secondPerson: 6,
semicolons: 7,
sentences: 8,
words: 40,
},
],
};
describe("renderBaseline", () => {
const rendered = renderBaseline(BASELINE);
it("opens with frontmatter carrying the document's type, name, concern and status", () => {
expect(rendered.startsWith("---\ntype: reference\nname: tone-baseline\n")).toBe(true);
expect(rendered).toContain("concern: product\nstatus: current\n---");
});
it("carries one row per module with the mean words per sentence, and leaves the generated mark to the writer", () => {
expect(rendered).not.toContain(GENERATED_MARK_PREFIX);
expect(rendered).toContain(
"| fixture.strings.ts | 10 | 8 | 5.0 | 12 | 1 | 2 | 5 | 7 | 2 | 1 | 3 | 6 | 0 | 4 |",
);
});
});