# test.govlab/docs/core/formatters/figure.formatter.test.ts

> 28 lines of code and 0 definitions.

Tree: Codebase Testing
Language: typescript
Canonical: https://banes-lab.com/anatomy/testing#file-testing-test-govlab-docs-core-formatters-figure-formatter-test-ts
Source text: https://banes-lab.com/source/testing/test.govlab/docs/core/formatters/figure.formatter.test.ts.txt

Listed in [test.govlab/docs/core/formatters](https://banes-lab.com/api/source/testing/test.govlab/docs/core/formatters.md), after [test.govlab/docs/core/formatters/diagram.structure.formatter.test.ts](https://banes-lab.com/source/testing/test.govlab/docs/core/formatters/diagram.structure.formatter.test.ts.md) and before [test.govlab/docs/core/formatters/finding.formatter.test.ts](https://banes-lab.com/source/testing/test.govlab/docs/core/formatters/finding.formatter.test.ts.md).

## Contained in

- [test.govlab/docs/core/formatters](https://banes-lab.com/anatomy/testing/folder-testing-test-govlab-docs-core-formatters.md)

## Source

````typescript
import { describe, expect, it } from "vitest";
import type { DiagramContext } from "@govlab/docs/types/figure.types.ts";
import { renderCharts } from "@govlab/docs/core/formatters/figure.formatter.ts";

const contextWith = function contextWith(moduleDeps: DiagramContext["moduleDeps"]): DiagramContext {
    return {
        codeGraph: null,
        layout: { cluster: false, direction: "TD", nodeCap: 45, perAxis: false },
        moduleDeps,
        moduleName: "@govlab/a",
        shape: "leaf",
    };
};

describe("renderCharts", () => {
    it("renders a titled section per applicable diagram under the module heading", () => {
        const charts = renderCharts(
            contextWith([
                { deps: ["@govlab/b"], name: "@govlab/a" },
                { deps: [], name: "@govlab/b" },
            ]),
        );
        expect(charts?.startsWith("# @govlab/a — architecture charts\n\n")).toBe(true);
        expect(charts).toContain("## Dependencies");
        expect(charts).toContain("```mermaid");
    });

    it("renders nothing when no diagram applies", () => {
        expect(renderCharts(contextWith([]))).toBeNull();
    });
});
````
