Fix workspace shortcut navigation
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import type { HostProfile } from "@/types/host-connection";
|
||||
import { resolveActiveHost } from "./active-host";
|
||||
|
||||
function host(serverId: string): HostProfile {
|
||||
return {
|
||||
serverId,
|
||||
label: serverId,
|
||||
lifecycle: {},
|
||||
connections: [],
|
||||
preferredConnectionId: null,
|
||||
createdAt: "",
|
||||
updatedAt: "",
|
||||
};
|
||||
}
|
||||
|
||||
describe("resolveActiveHost", () => {
|
||||
it("uses the route host when it exists", () => {
|
||||
expect(
|
||||
resolveActiveHost({
|
||||
hosts: [host("srv-1"), host("srv-2")],
|
||||
pathname: "/h/srv-2/workspace/ws-main",
|
||||
})?.serverId,
|
||||
).toBe("srv-2");
|
||||
});
|
||||
|
||||
it("falls back to the first host when the route host is missing", () => {
|
||||
expect(
|
||||
resolveActiveHost({
|
||||
hosts: [host("srv-1"), host("srv-2")],
|
||||
pathname: "/h/missing/workspace/ws-main",
|
||||
})?.serverId,
|
||||
).toBe("srv-1");
|
||||
});
|
||||
|
||||
it("returns null when no hosts exist", () => {
|
||||
expect(resolveActiveHost({ hosts: [], pathname: "/settings" })).toBeNull();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user