murashit_codex-panel/tests/features/chat/panel/message-scroll-intent-controller.test.ts

22 lines
712 B
TypeScript

import { describe, expect, it } from "vitest";
import { ChatMessageScrollIntentController } from "../../../../src/features/chat/panel/message-scroll-intent-controller";
describe("ChatMessageScrollIntentController", () => {
it("consumes one-shot scroll intents", () => {
const controller = new ChatMessageScrollIntentController();
controller.preservePosition();
expect(controller.consumeIntent()).toBe("preserve");
expect(controller.consumeIntent()).toBe("auto");
});
it("emits a one-shot force-bottom intent", () => {
const controller = new ChatMessageScrollIntentController();
controller.forceBottom();
expect(controller.consumeIntent()).toBe("force-bottom");
});
});