Files
nextcraft/apps/cli/tests/doctor.integration.test.ts
T
CIAgent 1a88ab3199
Release / release (push) Successful in 3m45s
CI / python (push) Successful in 1m52s
CI / node (push) Successful in 1m0s
merge: milestone/v0.8-ship-anywhere -> main (v0.8 complete — Ship Anywhere)
The v0.8 milestone: installable on any Debian-based server via docker
(Gitea registry image, honest sandbox degrade), deb (amd64+arm64,
advisory postinst), and arch-aware binary — with release consistency
enforced by pre-commit hooks + Gitea Actions (3-runner fleet on CT 113,
machine-made releases with the full 8-asset matrix + registry image), the
CLI carrying the full suite (guide, channel-aware doctor), and the admin
runbook (deploy/README.md, evidence-backed recipes).

---ci---
phase: 6
milestone: v0.8
status: complete
requirements:
  covered: [REQ-8-001, REQ-8-002, REQ-8-003, REQ-8-004, REQ-8-005]
  partial: []
---/ci---
2026-09-29 16:04:40 +00:00

20 lines
670 B
TypeScript

import { test } from "node:test";
import assert from "node:assert/strict";
import { doctor } from "../src/commands/doctor.ts";
import { testCtx } from "./helpers.ts";
test("doctor integration: real box — all prerequisites present", async () => {
const ctx = testCtx();
const code = await doctor([], ctx);
const output = ctx.out() + ctx.err();
if (output.includes("unshare not found")) {
console.warn("unshare missing on this box — tolerating its single failure");
assert.equal(code, 1);
return;
}
assert.equal(code, 0);
assert.ok(output.includes("node"));
assert.ok(output.includes("pnpm"));
assert.ok(output.includes("python3"));
});