Files
openrig/packages/daemon/test/server.test.ts
T
Mike SchwarzandClaude Opus 4.6 f3742e5366 T01-T07: monorepo scaffold, Hono server, SQLite migrations, Vite/React shell
Scaffold (T01-T04):
- npm workspaces monorepo with @rigged/daemon and @rigged/ui
- Shared tsconfig.base.json with strict mode
- Hono server with /healthz endpoint, guarded index.ts (no side-effect on import)
- SQLite connection factory (WAL, FK enforcement) and migration runner
- Vite/React shell with dev proxy to daemon

Schema (T05-T07, QA-approved HIGH risk):
- 001_core_schema: rigs, nodes (id=opaque PK, logical_id=spec name), edges
  with same-rig trigger enforcing source/target/rig_id consistency
- 002_bindings_sessions: bindings (optional, 1:1 with node) and sessions
  (status includes detached). No resume_token (Phase 2).
- 003_events: append-only event log with seq AUTOINCREMENT for SSE replay.
  events.node_id is intentionally NOT an FK — events survive node deletion.

42 tests, all passing. tsc clean in both packages.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-23 03:10:15 -07:00

17 lines
487 B
TypeScript

import { describe, it, expect } from "vitest";
import { app } from "../src/server.js";
describe("Hono server", () => {
it("GET /healthz returns 200 with status ok", async () => {
const res = await app.request("/healthz");
expect(res.status).toBe(200);
const body = await res.json();
expect(body).toEqual({ status: "ok" });
});
it("GET /unknown returns 404", async () => {
const res = await app.request("/unknown");
expect(res.status).toBe(404);
});
});