import type { EnvironmentConnectionPhase } from "@t3tools/client-runtime/connection";import { EnvironmentId } from "@t3tools/contracts";import { describe, expect, it } from "vite-plus/test"; import { resolveAddProjectEnvironment } from "./AddProjectScreen.logic"; const ENVIRONMENT_A = EnvironmentId.make("environment-a");const ENVIRONMENT_B = EnvironmentId.make("environment-b"); function environment(environmentId: EnvironmentId, connectionState: EnvironmentConnectionPhase) { return { environmentId, connectionState };} describe("resolveAddProjectEnvironment", () => { it("does not redirect an explicit unavailable environment to another environment", () => { expect( resolveAddProjectEnvironment( [environment(ENVIRONMENT_A, "offline"), environment(ENVIRONMENT_B, "connected")], ENVIRONMENT_A, ), ).toBeNull(); }); it("resolves an explicit connected environment", () => { expect( resolveAddProjectEnvironment( [environment(ENVIRONMENT_A, "connected"), environment(ENVIRONMENT_B, "connected")], ENVIRONMENT_A, )?.environmentId, ).toBe(ENVIRONMENT_A); }); it("defaults to the first connected environment when no environment is requested", () => { expect( resolveAddProjectEnvironment( [environment(ENVIRONMENT_A, "offline"), environment(ENVIRONMENT_B, "connected")], null, )?.environmentId, ).toBe(ENVIRONMENT_B); });});
import type { EnvironmentConnectionPhase } from "@t3tools/client-runtime/connection";
import { EnvironmentId } from "@t3tools/contracts";
import { describe, expect, it } from "vite-plus/test";
import { resolveAddProjectEnvironment } from "./AddProjectScreen.logic";
const ENVIRONMENT_A = EnvironmentId.make("environment-a");
const ENVIRONMENT_B = EnvironmentId.make("environment-b");
function environment(environmentId: EnvironmentId, connectionState: EnvironmentConnectionPhase) {
return { environmentId, connectionState };
}
describe("resolveAddProjectEnvironment", () => {
it("does not redirect an explicit unavailable environment to another environment", () => {
expect(
resolveAddProjectEnvironment(
[environment(ENVIRONMENT_A, "offline"), environment(ENVIRONMENT_B, "connected")],
ENVIRONMENT_A,
),
).toBeNull();
});
it("resolves an explicit connected environment", () => {
expect(
resolveAddProjectEnvironment(
[environment(ENVIRONMENT_A, "connected"), environment(ENVIRONMENT_B, "connected")],
ENVIRONMENT_A,
)?.environmentId,
).toBe(ENVIRONMENT_A);
});
it("defaults to the first connected environment when no environment is requested", () => {
expect(
resolveAddProjectEnvironment(
[environment(ENVIRONMENT_A, "offline"), environment(ENVIRONMENT_B, "connected")],
null,
)?.environmentId,
).toBe(ENVIRONMENT_B);
});
});