37 lines · 1.4 KB · TypeScript
RawDownload
import { assert, it } from "@effect/vitest"; import { EnvironmentInternalError } from "@t3tools/contracts"; import {  ProjectLiveServerDeclaredResponseError,  ProjectLiveServerRequestError,  projectCommandErrorFromLiveServerRequest,} 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 = projectCommandErrorFromLiveServerRequest(cause);   assert.instanceOf(error, ProjectLiveServerDeclaredResponseError);  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 = projectCommandErrorFromLiveServerRequest(cause);   assert.instanceOf(error, ProjectLiveServerRequestError);  assert.strictEqual(error.operation, "callLiveServer");  assert.strictEqual(error.message, "Failed to call the running server.");  assert.strictEqual(error.cause, cause);});