# test.coordination/core/factories/reference.factory.test.ts

> 24 lines of code and 0 definitions.

Tree: Codebase Testing
Language: typescript
Canonical: https://banes-lab.com/anatomy/testing#file-testing-test-coordination-core-factories-reference-factory-test-ts
Source text: https://banes-lab.com/source/testing/test.coordination/core/factories/reference.factory.test.ts.txt

Listed in [test.coordination/core/factories](https://banes-lab.com/api/source/testing/test.coordination/core/factories.md), after [test.coordination/core/factories/manifest.factory.test.ts](https://banes-lab.com/source/testing/test.coordination/core/factories/manifest.factory.test.ts.md) and before [test.coordination/core/factories/report.factory.test.ts](https://banes-lab.com/source/testing/test.coordination/core/factories/report.factory.test.ts.md).

## Contained in

- [test.coordination/core/factories](https://banes-lab.com/anatomy/testing/folder-testing-test-coordination-core-factories.md)

## Source

```typescript
import { cycleFinding, unresolvedFinding } from "coordination-surface/tools/core/factories/reference.factory.ts";
import { describe, it } from "vitest";
import assert from "node:assert/strict";

const REFERENCE = { line: 5, locus: "see", raw: "see: gone.md", target: "gone.md" };

describe("unresolvedFinding", () => {
    it("renames the reference to the one file carrying its basename, and leaves several candidates to judgment", () => {
        const one = unresolvedFinding("rules/a.md", REFERENCE, ["docs/gone.md"]);
        assert.equal(one.rule, "reference/unresolved");
        assert.deepEqual(
            [one.expected, one.remediation.to, one.remediation.deterministic],
            ["docs/gone.md", "docs/gone.md", true],
        );
        const many = unresolvedFinding("rules/a.md", REFERENCE, ["a/gone.md", "b/gone.md"]);
        assert.deepEqual([many.expected, many.remediation.to, many.remediation.deterministic], [null, null, false]);
    });
});

describe("cycleFinding", () => {
    it("names the closed loop starting and ending at its first document", () => {
        const finding = cycleFinding(["a.md", "b.md"], 12);
        assert.equal(finding.rule, "reference/citationCycle");
        assert.equal(finding.actual, "a.md > b.md > a.md");
        assert.equal(finding.path, "a.md");
    });
});
```
