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

> 39 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-plan-resolver-test-ts
Source text: https://banes-lab.com/source/testing/test.govlab/quality/core/resolvers/plan.resolver.test.ts.txt

Listed in [test.govlab/quality/core/resolvers](https://banes-lab.com/api/source/testing/test.govlab/quality/core/resolvers.md), after [test.govlab/quality/core/resolvers/package.resolver.test.ts](https://banes-lab.com/source/testing/test.govlab/quality/core/resolvers/package.resolver.test.ts.md) and before [test.govlab/quality/core/resolvers/rule.resolver.test.ts](https://banes-lab.com/source/testing/test.govlab/quality/core/resolvers/rule.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 type { CanonicalData, MappingRow } from "@govlab/quality/types/canon.types.ts";
import { describe, expect, it } from "vitest";
import { resolveConfig } from "@govlab/quality/core/resolvers/plan.resolver.ts";

const WIDTH = 100;

const row = function row(tool: string, knob: string): MappingRow {
    return { canonicalId: "line-length", default: null, fidelity: "exact", fixed: false, knob, langs: ["ts"], tool };
};

const DATA: CanonicalData = {
    conflicts: [],
    ownership: [{ fixedOwners: [], id: "format", ownerByLanguage: { ts: "prettier" } }],
    rows: [row("prettier", "printWidth"), row("eslint", "max-len")],
    settings: [
        {
            default: null,
            dimension: "layout",
            id: "line-length",
            kind: "value",
            surface: "format",
            valueType: "number",
        },
    ],
};

describe("resolveConfig", () => {
    it("gives a value setting to the surface owner and turns the surface off for the other tools", () => {
        const plan = resolveConfig({ languages: ["ts"], values: { "line-length": WIDTH } }, DATA);
        expect("perToolConfig" in plan ? plan.perToolConfig["prettier"]?.knobs : null).toStrictEqual({
            "line-length": WIDTH,
        });
        expect("perToolConfig" in plan ? plan.perToolConfig["eslint"]?.disabledSurfaces : null).toStrictEqual([
            "format",
        ]);
    });

    it("reports a setting no canonical record names", () => {
        const plan = resolveConfig({ languages: ["ts"], values: { ghost: 1 } }, DATA);
        expect("conflicts" in plan ? plan.conflicts.map((conflict) => conflict.kind) : []).toStrictEqual([
            "unknown-setting",
        ]);
    });
});
```
