mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-09 05:37:41 +00:00
refactor(reactions): share reaction level resolver
This commit is contained in:
53
src/utils/reaction-level.test.ts
Normal file
53
src/utils/reaction-level.test.ts
Normal file
@@ -0,0 +1,53 @@
|
||||
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",
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user