70 lines
1.6 KiB
TypeScript
70 lines
1.6 KiB
TypeScript
import { QueryClient } from "@tanstack/react-query";
|
|
import { describe, expect, it } from "vitest";
|
|
import { __private__ } from "./use-archive-agent";
|
|
|
|
describe("useArchiveAgent", () => {
|
|
it("tracks pending archive state in shared react-query cache", () => {
|
|
const queryClient = new QueryClient();
|
|
|
|
expect(
|
|
__private__.isAgentArchiving({
|
|
queryClient,
|
|
serverId: "server-a",
|
|
agentId: "agent-1",
|
|
})
|
|
).toBe(false);
|
|
|
|
__private__.setAgentArchiving({
|
|
queryClient,
|
|
serverId: "server-a",
|
|
agentId: "agent-1",
|
|
isArchiving: true,
|
|
});
|
|
|
|
expect(
|
|
__private__.isAgentArchiving({
|
|
queryClient,
|
|
serverId: "server-a",
|
|
agentId: "agent-1",
|
|
})
|
|
).toBe(true);
|
|
expect(
|
|
__private__.isAgentArchiving({
|
|
queryClient,
|
|
serverId: "server-a",
|
|
agentId: "agent-2",
|
|
})
|
|
).toBe(false);
|
|
|
|
__private__.setAgentArchiving({
|
|
queryClient,
|
|
serverId: "server-a",
|
|
agentId: "agent-1",
|
|
isArchiving: false,
|
|
});
|
|
|
|
expect(
|
|
__private__.isAgentArchiving({
|
|
queryClient,
|
|
serverId: "server-a",
|
|
agentId: "agent-1",
|
|
})
|
|
).toBe(false);
|
|
});
|
|
|
|
it("removes an archived agent from cached list payloads", () => {
|
|
const payload = {
|
|
entries: [
|
|
{ agent: { id: "agent-1" } },
|
|
{ agent: { id: "agent-2" } },
|
|
],
|
|
pageInfo: { hasMore: false },
|
|
};
|
|
|
|
const next = __private__.removeAgentFromListPayload(payload, "agent-1");
|
|
|
|
expect(next.entries).toEqual([{ agent: { id: "agent-2" } }]);
|
|
expect(next.pageInfo).toEqual({ hasMore: false });
|
|
});
|
|
});
|