# test.govlab/quality/configuration/strings/canon.strings.test.ts

> 32 lines of code and 0 definitions.

Tree: Codebase Testing
Language: typescript
Canonical: https://banes-lab.com/anatomy/testing#file-testing-test-govlab-quality-configuration-strings-canon-strings-test-ts
Source text: https://banes-lab.com/source/testing/test.govlab/quality/configuration/strings/canon.strings.test.ts.txt

Listed in [test.govlab/quality/configuration/strings](https://banes-lab.com/api/source/testing/test.govlab/quality/configuration/strings.md), after [test.govlab/quality/configuration/strings/binding.strings.test.ts](https://banes-lab.com/source/testing/test.govlab/quality/configuration/strings/binding.strings.test.ts.md) and before [test.govlab/quality/configuration/strings/catalog.strings.test.ts](https://banes-lab.com/source/testing/test.govlab/quality/configuration/strings/catalog.strings.test.ts.md).

## Contained in

- [test.govlab/quality/configuration/strings](https://banes-lab.com/anatomy/testing/folder-testing-test-govlab-quality-configuration-strings.md)

## Source

```typescript
import { canonFailed, canonReport } from "@govlab/quality/configuration/strings/canon.strings.ts";
import { describe, expect, it } from "vitest";

const ARCH_RECORDS = 7;
const ALGO_RECORDS = 5;
const TOTAL = 2;

describe("canon strings", () => {
    it("report the record counts and the defect total", () => {
        const report = canonReport({
            algoRecords: ALGO_RECORDS,
            archRecords: ARCH_RECORDS,
            defects: {
                algoForce: [],
                algoId: ["x"],
                archEdge: [],
                archId: ["y"],
                archRename: [],
                archType: [],
                unknownType: new Set(),
            },
            total: TOTAL,
        });
        expect(
            report
                .split("\n")
                .find((line) => line.includes("arch records:"))
                ?.trim()
                .endsWith("7"),
        ).toBe(true);
        expect(report).toContain("TOTAL canon defects (id + type): 2");
        expect(canonFailed(TOTAL)).toContain("2 defect(s)");
    });
});
```
