Files
agent-radar 2ed3415fb7
Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 20:17:27 +08:00

45 lines
1.4 KiB
TypeScript

import { describe, expect, it, vi } from "vitest";
import type { AgentGUIRuntime } from "../../../agentActivityRuntime";
import { trackAgentGUISettingsProjectChange } from "./agentGuiProjectAnalytics";
describe("trackAgentGUISettingsProjectChange", () => {
it.each(["clear", "create_new", "select_existing"] as const)(
"tracks draft %s project changes with a null session id",
(action) => {
const trackSettingsProjectChange = vi.fn(async () => undefined);
trackAgentGUISettingsProjectChange({
agentActivityRuntime: {
trackSettingsProjectChange
} as unknown as AgentGUIRuntime,
agentSessionId: null,
metadata: { action },
provider: "codex",
workspaceId: "room-1"
});
expect(trackSettingsProjectChange).toHaveBeenCalledWith({
action,
agentSessionId: null,
provider: "codex",
workspaceId: "room-1"
});
}
);
it("does not track state synchronization without interaction metadata", () => {
const trackSettingsProjectChange = vi.fn(async () => undefined);
trackAgentGUISettingsProjectChange({
agentActivityRuntime: {
trackSettingsProjectChange
} as unknown as AgentGUIRuntime,
agentSessionId: null,
provider: "codex",
workspaceId: "room-1"
});
expect(trackSettingsProjectChange).not.toHaveBeenCalled();
});
});