54 lines
1.5 KiB
TypeScript
54 lines
1.5 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { resolveReactionLevel } from "./reaction-level.js";
|
|
|
|
describe("resolveReactionLevel", () => {
|
|
it("defaults when value is missing", () => {
|
|
expect(
|
|
resolveReactionLevel({ value: undefined, defaultLevel: "minimal", invalidFallback: "ack" }),
|
|
).toEqual({
|
|
level: "minimal",
|
|
ackEnabled: false,
|
|
agentReactionsEnabled: true,
|
|
agentReactionGuidance: "minimal",
|
|
});
|
|
});
|
|
|
|
it("supports ack", () => {
|
|
expect(
|
|
resolveReactionLevel({ value: "ack", defaultLevel: "minimal", invalidFallback: "ack" }),
|
|
).toEqual({ level: "ack", ackEnabled: true, agentReactionsEnabled: false });
|
|
});
|
|
|
|
it("supports extensive", () => {
|
|
expect(
|
|
resolveReactionLevel({
|
|
value: "extensive",
|
|
defaultLevel: "minimal",
|
|
invalidFallback: "ack",
|
|
}),
|
|
).toEqual({
|
|
level: "extensive",
|
|
ackEnabled: false,
|
|
agentReactionsEnabled: true,
|
|
agentReactionGuidance: "extensive",
|
|
});
|
|
});
|
|
|
|
it("uses invalid fallback ack", () => {
|
|
expect(
|
|
resolveReactionLevel({ value: "bogus", defaultLevel: "minimal", invalidFallback: "ack" }),
|
|
).toEqual({ level: "ack", ackEnabled: true, agentReactionsEnabled: false });
|
|
});
|
|
|
|
it("uses invalid fallback minimal", () => {
|
|
expect(
|
|
resolveReactionLevel({ value: "bogus", defaultLevel: "minimal", invalidFallback: "minimal" }),
|
|
).toEqual({
|
|
level: "minimal",
|
|
ackEnabled: false,
|
|
agentReactionsEnabled: true,
|
|
agentReactionGuidance: "minimal",
|
|
});
|
|
});
|
|
});
|