test.coordination/core/inspectors/venue.inspector.test.ts

test.coordination/core/inspectors/venue.inspector.test.ts is a file in Codebase Testing. 37 lines of code and 0 definitions.

import {
    RAISE_AGENDA_MISSING,
    RAISE_NOTHING_ADMISSIBLE,
    raiseRefused,
} from "coordination-surface/tools/core/strings/venue.strings.ts";
import { describe, it } from "vitest";
import { dirname, join, resolve } from "node:path";
import { mkdirSync, mkdtempSync, rmSync } from "node:fs";
import { AGENDA } from "coordination-surface/tools/core/constants/blocking.constants.ts";
import assert from "node:assert/strict";
import { raisePlan } from "coordination-surface/tools/core/inspectors/venue.inspector.ts";
import { surfacePrefix } from "coordination-surface/config/surface.config.ts";
import { tmpdir } from "node:os";
import { writeVerbatim } from "@govlab/canonical-write";

describe("raisePlan", () => {
    it("refuses a raise with no agenda, and one whose agenda holds no admissible invariant", () => {
        const repoRoot = mkdtempSync(join(tmpdir(), "coordination-raise-"));
        try {
            const request = { declared: null, repoRoot, seats: [] };
            assert.deepEqual(raisePlan(request), {
                code: 2,
                message: raiseRefused(RAISE_AGENDA_MISSING),
                raised: null,
            });
            mkdirSync(resolve(repoRoot, surfacePrefix()), { recursive: true });
            mkdirSync(dirname(resolve(repoRoot, AGENDA)), { recursive: true });
            writeVerbatim(resolve(repoRoot, AGENDA), "");
            assert.deepEqual(raisePlan(request), {
                code: 2,
                message: raiseRefused(RAISE_NOTHING_ADMISSIBLE),
                raised: null,
            });
        } finally {
            rmSync(repoRoot, { force: true, recursive: true });
        }
    });
});