mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 11:10:45 +00:00
context-engine: fix 'without config' test to actually test undefined config
This commit is contained in:
committed by
Josh Lehman
parent
20d99fad7d
commit
6ceb1b5981
@@ -765,33 +765,35 @@ describe("Factory context passing", () => {
|
||||
expect(engine.info.id).toBe(engineId);
|
||||
});
|
||||
|
||||
it("provides empty config when resolveContextEngine is called without config", async () => {
|
||||
const engineId = `factory-noconfig-${Date.now().toString(36)}`;
|
||||
it("passes undefined config when resolveContextEngine is called without config", async () => {
|
||||
let receivedCtx: ContextEngineFactoryContext | undefined;
|
||||
|
||||
registerContextEngine(engineId, (ctx?: ContextEngineFactoryContext) => {
|
||||
receivedCtx = ctx;
|
||||
return {
|
||||
info: { id: engineId, name: "NoConfig Engine" },
|
||||
async ingest() {
|
||||
return { ingested: true };
|
||||
},
|
||||
async assemble({ messages }: { messages: AgentMessage[] }) {
|
||||
return { messages, estimatedTokens: 0 };
|
||||
},
|
||||
async compact() {
|
||||
return { ok: true, compacted: false };
|
||||
},
|
||||
};
|
||||
});
|
||||
// Override the default "legacy" engine to intercept the no-config path
|
||||
registerContextEngineForOwner(
|
||||
"legacy",
|
||||
(ctx?: ContextEngineFactoryContext) => {
|
||||
receivedCtx = ctx;
|
||||
return {
|
||||
info: { id: "legacy", name: "NoConfig Engine", version: "1" },
|
||||
async ingest() {
|
||||
return { ingested: true };
|
||||
},
|
||||
async assemble({ messages }: { messages: AgentMessage[] }) {
|
||||
return { messages, estimatedTokens: 0 };
|
||||
},
|
||||
async compact() {
|
||||
return { ok: true, compacted: false };
|
||||
},
|
||||
};
|
||||
},
|
||||
"core",
|
||||
{ allowSameOwnerRefresh: true },
|
||||
);
|
||||
|
||||
// Call with undefined config — should still resolve the default engine,
|
||||
// but our engine is not the default slot so register as default temporarily.
|
||||
// Instead, just verify the factory type works as a ContextEngineFactory.
|
||||
await resolveContextEngine(configWithSlot(engineId));
|
||||
await resolveContextEngine(undefined);
|
||||
|
||||
expect(receivedCtx).toBeDefined();
|
||||
expect(receivedCtx!.config).toBeDefined();
|
||||
expect(receivedCtx!.config).toBeUndefined();
|
||||
expect(receivedCtx!.agentDir).toBeUndefined();
|
||||
expect(receivedCtx!.workspaceDir).toBeUndefined();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user