32 lines · 1.2 KB · TypeScript
RawDownload
import { assert, it } from "@effect/vitest"; import { EnvironmentInternalError } from "@t3tools/contracts"; import { ProjectCommandError } from "./project.ts"; it("maps declared server failures into structural project command errors", () => {  const cause = new EnvironmentInternalError({    code: "internal_error",    reason: "orchestration_snapshot_failed",    traceId: "trace-123",  });   const error = ProjectCommandError.fromLiveServerRequest(cause);   assert.strictEqual(error.operation, "callLiveServer");  assert.strictEqual(error.code, "internal_error");  assert.strictEqual(error.traceId, "trace-123");  assert.strictEqual(error.message, "Server request failed (internal_error, trace trace-123).");  assert.strictEqual(error.cause, cause);}); it("preserves unexpected server failures without deriving the message from them", () => {  const cause = new Error("credential abc123 was rejected");   const error = ProjectCommandError.fromLiveServerRequest(cause);   assert.strictEqual(error.operation, "callLiveServer");  assert.strictEqual(error.detail, "Failed to call the running server.");  assert.strictEqual(error.message, "Failed to call the running server.");  assert.strictEqual(error.cause, cause);});