import type { ServerConfig } from "@t3tools/contracts";import { describe, expect, it } from "vite-plus/test"; import { resolveEnvironmentIconPickerLock } from "./EnvironmentIconPicker"; const config = (environmentIcon: boolean | undefined) => ({ environment: { capabilities: environmentIcon === undefined ? {} : { environmentIcon } }, }) as unknown as ServerConfig; describe("resolveEnvironmentIconPickerLock", () => { it("locks until the environment is connected", () => { expect( resolveEnvironmentIconPickerLock({ serverConfig: null, operateAccess: "granted" }), ).toMatch(/Connect/); }); it("locks on servers that predate the setting, before looking at permissions", () => { expect( resolveEnvironmentIconPickerLock({ serverConfig: config(undefined), operateAccess: "denied", }), ).toMatch(/too old/); }); it("locks when the session cannot operate the environment", () => { expect( resolveEnvironmentIconPickerLock({ serverConfig: config(true), operateAccess: "denied" }), ).toMatch(/cannot change/); }); it("stays open while access is still resolving so a slow session does not flicker", () => { expect( resolveEnvironmentIconPickerLock({ serverConfig: config(true), operateAccess: "pending" }), ).toBeNull(); expect( resolveEnvironmentIconPickerLock({ serverConfig: config(true), operateAccess: "granted" }), ).toBeNull(); });});
import type { ServerConfig } from "@t3tools/contracts";
import { describe, expect, it } from "vite-plus/test";
import { resolveEnvironmentIconPickerLock } from "./EnvironmentIconPicker";
const config = (environmentIcon: boolean | undefined) =>
({
environment: { capabilities: environmentIcon === undefined ? {} : { environmentIcon } },
}) as unknown as ServerConfig;
describe("resolveEnvironmentIconPickerLock", () => {
it("locks until the environment is connected", () => {
expect(
resolveEnvironmentIconPickerLock({ serverConfig: null, operateAccess: "granted" }),
).toMatch(/Connect/);
});
it("locks on servers that predate the setting, before looking at permissions", () => {
expect(
resolveEnvironmentIconPickerLock({
serverConfig: config(undefined),
operateAccess: "denied",
}),
).toMatch(/too old/);
});
it("locks when the session cannot operate the environment", () => {
expect(
resolveEnvironmentIconPickerLock({ serverConfig: config(true), operateAccess: "denied" }),
).toMatch(/cannot change/);
});
it("stays open while access is still resolving so a slow session does not flicker", () => {
expect(
resolveEnvironmentIconPickerLock({ serverConfig: config(true), operateAccess: "pending" }),
).toBeNull();
expect(
resolveEnvironmentIconPickerLock({ serverConfig: config(true), operateAccess: "granted" }),
).toBeNull();
});
});