chore: initialize POM 2 repo (docs guards green; release gates recorded NOT RUN pending install)
This commit is contained in:
26
scripts/smoke.ts
Normal file
26
scripts/smoke.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import assert from "node:assert/strict";
|
||||
import { mkdtemp, readFile, rm } from "node:fs/promises";
|
||||
import { tmpdir } from "node:os";
|
||||
import { join } from "node:path";
|
||||
import { DEFAULT_CONFIG } from "../src/domain";
|
||||
import { bootstrapProject } from "../src/persistence";
|
||||
import { createState } from "../src/state";
|
||||
import { validatePom } from "../src/validators";
|
||||
|
||||
const sandbox = await mkdtemp(join(tmpdir(), "pom-smoke-"));
|
||||
try {
|
||||
const config = { ...DEFAULT_CONFIG, projectRootMode: "cwd" as const };
|
||||
const state = createState("POM Smoke", sandbox, config, true);
|
||||
await bootstrapProject(state);
|
||||
const ompConfig = await readFile(join(sandbox, ".omp", "config.yml"), "utf8");
|
||||
assert.match(ompConfig, /dark: pom-nocturne/);
|
||||
assert.match(ompConfig, /task:\n\s+eager: preferred/);
|
||||
assert.match(ompConfig, /compaction:\n\s+strategy: snapcompact/);
|
||||
const board = await readFile(join(sandbox, "content", "production-board.md"), "utf8");
|
||||
assert.match(board, /# Production Board/);
|
||||
const report = await validatePom(state, "quick", { writeReport: false });
|
||||
assert.equal(report.passed, true);
|
||||
console.log(`POM runtime smoke PASS · ${report.checks.length} checks`);
|
||||
} finally {
|
||||
await rm(sandbox, { recursive: true, force: true });
|
||||
}
|
||||
Reference in New Issue
Block a user