# test.govlab/quality/core/factories/dependency.factory.test.ts

> 17 lines of code and 0 definitions.

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

Listed in [test.govlab/quality/core/factories](https://banes-lab.com/api/source/testing/test.govlab/quality/core/factories.md), after [test.govlab/quality/core/factories/config.factory.test.ts](https://banes-lab.com/source/testing/test.govlab/quality/core/factories/config.factory.test.ts.md) and before [test.govlab/quality/core/factories/eslint.factory.test.ts](https://banes-lab.com/source/testing/test.govlab/quality/core/factories/eslint.factory.test.ts.md).

## Contained in

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

## Source

```typescript
import assert from "node:assert/strict";
import { computePlan } from "@govlab/quality/core/factories/dependency.factory.ts";
import { test } from "vitest";

test("computePlan returns empty groups for no ecosystems", () => {
    const plan = computePlan([]);
    assert.deepEqual(plan.ecosystems, []);
    assert.deepEqual(plan.npmDeps, []);
    assert.deepEqual(plan.emitters, []);
});

test("computePlan lists sorted, unique npm packages and no disabled emitter", () => {
    const plan = computePlan(["typescript"]);
    assert.deepEqual(
        plan.npmDeps,
        [...new Set(plan.npmDeps)].sort((a, b) => a.localeCompare(b)),
    );
    assert.equal(plan.emitters.includes("none"), false);
});
```
