/* Unit tests for sternsystem owner covering systemConfigSchema owner field (RFC-0561). Not a contract source of truth — the module under test owns the authoritative behavior; fixtures are minimal scaffolding only. RFC-1311: Compass header sweep — declares the sternsystem suite's contract for test-file scaffold coverage. */ import { test, expect, describe } from "vitest"; import { systemConfigSchema } from "@warpgogol/werkstatt-shared/ontology/operations"; const validBaseEntry = { schemaVersion: "system-config/v1", id: "test-site", cosmicStar: "Vega", mirrors: [{ path: "https://github.com/org/test-site", storageType: "non-bare" }], pinnedPlatform: "1.0.0", status: "active" as const, registeredAt: "2026-07-27T00:00:00Z", notes: "", }; describe("systemConfigSchema owner field (RFC-0561)", () => { test("accepts entry without owner (backwards compatible)", () => { const result = systemConfigSchema.parse(validBaseEntry); expect(result.owner).toBeUndefined(); }); test("accepts entry with valid did:web owner", () => { const result = systemConfigSchema.parse({ ...validBaseEntry, owner: "did:web:warpgogol.com#operator-v1", }); expect(result.owner).toBe("did:web:warpgogol.com#operator-v1"); }); test("rejects entry with non-did:web owner", () => { expect(() => systemConfigSchema.parse({ ...validBaseEntry, owner: "not-a-did", }), ).toThrow(); }); test("rejects entry with empty string owner", () => { expect(() => systemConfigSchema.parse({ ...validBaseEntry, owner: "", }), ).toThrow(); }); test("rejects entry with did:web but no key-version fragment", () => { expect(() => systemConfigSchema.parse({ ...validBaseEntry, owner: "did:web:warpgogol.com", }), ).toThrow(); }); test("accepts entry with did:web owner with subdomain", () => { const result = systemConfigSchema.parse({ ...validBaseEntry, owner: "did:web:sub.example.com#key-1", }); expect(result.owner).toBe("did:web:sub.example.com#key-1"); }); });