feat(status): enrich session details
This commit is contained in:
@@ -2,7 +2,18 @@ import { describe, expect, it, vi } from "vitest";
|
||||
|
||||
const mocks = vi.hoisted(() => ({
|
||||
loadSessionStore: vi.fn().mockReturnValue({
|
||||
"+1000": { updatedAt: Date.now() - 60_000 },
|
||||
"+1000": {
|
||||
updatedAt: Date.now() - 60_000,
|
||||
verboseLevel: "on",
|
||||
thinkingLevel: "low",
|
||||
inputTokens: 2_000,
|
||||
outputTokens: 3_000,
|
||||
contextTokens: 10_000,
|
||||
model: "pi:opus",
|
||||
sessionId: "abc123",
|
||||
systemSent: true,
|
||||
syncing: true,
|
||||
},
|
||||
}),
|
||||
resolveStorePath: vi.fn().mockReturnValue("/tmp/sessions.json"),
|
||||
webAuthExists: vi.fn().mockResolvedValue(true),
|
||||
@@ -40,6 +51,12 @@ describe("statusCommand", () => {
|
||||
expect(payload.web.linked).toBe(true);
|
||||
expect(payload.sessions.count).toBe(1);
|
||||
expect(payload.sessions.path).toBe("/tmp/sessions.json");
|
||||
expect(payload.sessions.defaults.model).toBeTruthy();
|
||||
expect(payload.sessions.defaults.contextTokens).toBeGreaterThan(0);
|
||||
expect(payload.sessions.recent[0].percentUsed).toBe(50);
|
||||
expect(payload.sessions.recent[0].remainingTokens).toBe(5000);
|
||||
expect(payload.sessions.recent[0].flags).toContain("verbose:on");
|
||||
expect(payload.sessions.recent[0].flags).toContain("syncing");
|
||||
});
|
||||
|
||||
it("prints formatted lines otherwise", async () => {
|
||||
@@ -48,6 +65,11 @@ describe("statusCommand", () => {
|
||||
const logs = (runtime.log as vi.Mock).mock.calls.map((c) => String(c[0]));
|
||||
expect(logs.some((l) => l.includes("Web session"))).toBe(true);
|
||||
expect(logs.some((l) => l.includes("Active sessions"))).toBe(true);
|
||||
expect(logs.some((l) => l.includes("Default model"))).toBe(true);
|
||||
expect(logs.some((l) => l.includes("tokens:"))).toBe(true);
|
||||
expect(logs.some((l) => l.includes("flags:") && l.includes("verbose:on"))).toBe(
|
||||
true,
|
||||
);
|
||||
expect(mocks.logWebSelfId).toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user