import { EnvironmentId } from "@t3tools/contracts";import type { RelayEnvironmentStatusResponse } from "@t3tools/contracts/relay";import { describe, expect, it } from "vite-plus/test"; import { availableCloudEnvironmentPresentation } from "./cloudEnvironmentPresentation"; function relayStatus( status: RelayEnvironmentStatusResponse["status"], error?: string, traceId?: string,): RelayEnvironmentStatusResponse { return { environmentId: EnvironmentId.make("environment-cloud"), endpoint: { httpBaseUrl: "https://cloud.example.test/", wsBaseUrl: "wss://cloud.example.test/ws", providerKind: "cloudflare_tunnel", }, status, checkedAt: "2026-06-05T16:49:11.000Z", ...(error ? { error } : {}), ...(traceId ? { traceId } : {}), };} describe("available cloud environment presentation", () => { it("presents an online unsaved environment as available, not connected", () => { expect( availableCloudEnvironmentPresentation({ isStatusPending: false, status: relayStatus("online"), statusError: null, statusErrorTraceId: null, }), ).toEqual({ connectionError: null, connectionErrorTraceId: null, connectionState: "available", statusText: "Available · Relay online", }); }); it("keeps relay status checks distinct from connection attempts", () => { expect( availableCloudEnvironmentPresentation({ isStatusPending: true, status: null, statusError: null, statusErrorTraceId: null, }), ).toEqual({ connectionError: null, connectionErrorTraceId: null, connectionState: "available", statusText: "Available · Checking relay status...", }); }); it("surfaces an offline relay as an error", () => { expect( availableCloudEnvironmentPresentation({ isStatusPending: false, status: relayStatus("offline", "Tunnel is unavailable.", "trace-offline"), statusError: null, statusErrorTraceId: null, }), ).toEqual({ connectionError: "Tunnel is unavailable.", connectionErrorTraceId: "trace-offline", connectionState: "error", statusText: "Tunnel is unavailable.", }); }); it("preserves trace metadata for relay request failures", () => { expect( availableCloudEnvironmentPresentation({ isStatusPending: false, status: null, statusError: "Could not get relay environment status.", statusErrorTraceId: "trace-status", }), ).toMatchObject({ connectionError: "Could not get relay environment status.", connectionErrorTraceId: "trace-status", }); });});
import { EnvironmentId } from "@t3tools/contracts";
import type { RelayEnvironmentStatusResponse } from "@t3tools/contracts/relay";
import { describe, expect, it } from "vite-plus/test";
import { availableCloudEnvironmentPresentation } from "./cloudEnvironmentPresentation";
function relayStatus(
status: RelayEnvironmentStatusResponse["status"],
error?: string,
traceId?: string,
): RelayEnvironmentStatusResponse {
return {
environmentId: EnvironmentId.make("environment-cloud"),
endpoint: {
httpBaseUrl: "https://cloud.example.test/",
wsBaseUrl: "wss://cloud.example.test/ws",
providerKind: "cloudflare_tunnel",
},
status,
checkedAt: "2026-06-05T16:49:11.000Z",
...(error ? { error } : {}),
...(traceId ? { traceId } : {}),
};
}
describe("available cloud environment presentation", () => {
it("presents an online unsaved environment as available, not connected", () => {
expect(
availableCloudEnvironmentPresentation({
isStatusPending: false,
status: relayStatus("online"),
statusError: null,
statusErrorTraceId: null,
}),
).toEqual({
connectionError: null,
connectionErrorTraceId: null,
connectionState: "available",
statusText: "Available · Relay online",
});
});
it("keeps relay status checks distinct from connection attempts", () => {
expect(
availableCloudEnvironmentPresentation({
isStatusPending: true,
status: null,
statusError: null,
statusErrorTraceId: null,
}),
).toEqual({
connectionError: null,
connectionErrorTraceId: null,
connectionState: "available",
statusText: "Available · Checking relay status...",
});
});
it("surfaces an offline relay as an error", () => {
expect(
availableCloudEnvironmentPresentation({
isStatusPending: false,
status: relayStatus("offline", "Tunnel is unavailable.", "trace-offline"),
statusError: null,
statusErrorTraceId: null,
}),
).toEqual({
connectionError: "Tunnel is unavailable.",
connectionErrorTraceId: "trace-offline",
connectionState: "error",
statusText: "Tunnel is unavailable.",
});
});
it("preserves trace metadata for relay request failures", () => {
expect(
availableCloudEnvironmentPresentation({
isStatusPending: false,
status: null,
statusError: "Could not get relay environment status.",
statusErrorTraceId: "trace-status",
}),
).toMatchObject({
connectionError: "Could not get relay environment status.",
connectionErrorTraceId: "trace-status",
});
});
});