# test.govlab/context/core/validators/ontology.fixture.ts

> 48 lines of code and 8 definitions.

Tree: Codebase Testing
Language: typescript
Canonical: https://banes-lab.com/anatomy/testing#file-testing-test-govlab-context-core-validators-ontology-fixture-ts
Source text: https://banes-lab.com/source/testing/test.govlab/context/core/validators/ontology.fixture.ts.txt

Listed in [test.govlab/context/core/validators](https://banes-lab.com/api/source/testing/test.govlab/context/core/validators.md), after [test.govlab/context/core/validators/node.validator.test.ts](https://banes-lab.com/source/testing/test.govlab/context/core/validators/node.validator.test.ts.md) and before [test.govlab/context/core/validators/ontology.validator.test.ts](https://banes-lab.com/source/testing/test.govlab/context/core/validators/ontology.validator.test.ts.md).

## Definitions

- `PLANTED_ID` (lexical_declaration, line 9, exported)
- `PLANTED_GATE` (lexical_declaration, line 10, exported)
- `bundledReason` (lexical_declaration, line 12, exported)
- `plantedPrinciple` (lexical_declaration, line 15, exported)
- `plantedFaces` (lexical_declaration, line 40, exported)
- `context` (lexical_declaration, line 41, exported)
- `arch` (lexical_declaration, line 42, exported)
- `lex` (lexical_declaration, line 43, exported)

## Contained in

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

## Source

```typescript
import { type PrincipleCategory, createArchRelations, createGovlabContext, createLexicon } from "@govlab/context";
import { CheckTable } from "@govlab/context/core/stores/check.store.ts";
import type { Faces } from "@govlab/context/types/context.types.ts";
import { ReadAudit } from "@govlab/context/core/observers/record.observer.ts";
import type { TermCategory } from "@govlab/context/types/lexicon.types.ts";
import { createLayerJoin } from "@govlab/context/core/factories/layer.factory.ts";
import { loadBundledData } from "@govlab/context/core/loaders/reason.loader.ts";

export const PLANTED_ID = "planted-rule";
export const PLANTED_GATE = ["a planted gate"];

export const bundledReason = (): ReturnType<typeof loadBundledData> =>
    loadBundledData(new ReadAudit("reasoning"), new CheckTable());

export const plantedPrinciple = (id: string, extra: object = {}): PrincipleCategory => ({
    category: "planted",
    records: [
        {
            conflicts_with: [],
            definition: "A design rule that is planted for the test.",
            detected_by: ["d"],
            enables: [],
            enforced_by: [],
            exemplar: { after: "a planted after", before: "a planted before", lang: "ts", medium: "code" },
            id,
            measured_by: ["m"],
            name: id,
            refactored_by: [],
            reinforces: [],
            requires: [],
            scope: ["module"],
            severity: "recommended",
            tensions_with: [],
            type: "principle",
            ...extra,
        },
    ],
});

export const plantedFaces = (categories: PrincipleCategory[], terms: TermCategory[]): Faces => {
    const context = createGovlabContext();
    const arch = createArchRelations({ data: categories });
    const lex = createLexicon({ data: terms });
    return {
        algo: context.algo,
        arch,
        layerJoin: createLayerJoin({ algo: context.algo, arch, lex }),
        lex,
        pag: context.pag,
        reason: context.reason,
    };
};
```
