# test.govlab/quality/core/resolvers/canon.resolver.test.ts

> 8 lines of code and 0 definitions.

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

Listed in [test.govlab/quality/core/resolvers](https://banes-lab.com/api/source/testing/test.govlab/quality/core/resolvers.md), before [test.govlab/quality/core/resolvers/coverage.resolver.test.ts](https://banes-lab.com/source/testing/test.govlab/quality/core/resolvers/coverage.resolver.test.ts.md).

## Contained in

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

## Source

```typescript
import { buildCanonIndex, canonFor } from "@govlab/quality/core/resolvers/canon.resolver.ts";
import { expect, test } from "vitest";

test("canonFor reads a rule's canon by its full id, then by its bare id", () => {
    const index = new Map([["no-x", ["quality:concept:x"]]]);
    expect(canonFor("plugin/no-x", index)).toStrictEqual(["quality:concept:x"]);
    expect(canonFor("no-y", index)).toStrictEqual([]);
    expect(buildCanonIndex().size).toBeGreaterThan(0);
});
```
