diff --git a/src/secrets/runtime-config-collectors-plugins.test.ts b/src/secrets/runtime-config-collectors-plugins.test.ts index 34a6d29d5b3..a6c582e3e6b 100644 --- a/src/secrets/runtime-config-collectors-plugins.test.ts +++ b/src/secrets/runtime-config-collectors-plugins.test.ts @@ -40,6 +40,17 @@ function loadablePluginOrigins(entries: Array<[string, PluginOrigin]>) { return new Map(entries); } +type RuntimeConfigAssignment = ResolverContext["assignments"][number]; + +function requireAssignment(context: ResolverContext, index: number): RuntimeConfigAssignment { + const assignment = context.assignments[index]; + expect(assignment).toBeDefined(); + if (!assignment) { + throw new Error(`expected runtime config assignment ${index}`); + } + return assignment; +} + function createAcpxMcpSecretConfig(params: { plugins?: Record; entry?: Record; @@ -141,10 +152,9 @@ describe("collectPluginConfigAssignments", () => { }); expect(context.assignments).toHaveLength(1); - expect(context.assignments[0]?.path).toBe( - "plugins.entries.acpx.config.mcpServers.github.env.GITHUB_TOKEN", - ); - expect(context.assignments[0]?.expected).toBe("string"); + const assignment = requireAssignment(context, 0); + expect(assignment.path).toBe("plugins.entries.acpx.config.mcpServers.github.env.GITHUB_TOKEN"); + expect(assignment.expected).toBe("string"); }); it("resolves assignments via apply callback", () => { @@ -177,7 +187,7 @@ describe("collectPluginConfigAssignments", () => { }); expect(context.assignments).toHaveLength(1); - context.assignments[0]?.apply("resolved-key-value"); + requireAssignment(context, 0).apply("resolved-key-value"); const entries = config.plugins?.entries as Record>; const mcpServers = (entries?.acpx?.config as Record)?.mcpServers as Record< @@ -185,7 +195,11 @@ describe("collectPluginConfigAssignments", () => { Record >; const env = mcpServers?.mcp1?.env as Record; - expect(env?.API_KEY).toBe("resolved-key-value"); + expect(env).toBeDefined(); + if (!env) { + throw new Error("expected acpx mcp env config"); + } + expect(env.API_KEY).toBe("resolved-key-value"); }); it("collects across multiple acpx servers only", () => { @@ -382,10 +396,10 @@ describe("collectPluginConfigAssignments", () => { }); expect(context.assignments).toHaveLength(2); - expect(context.assignments[0]?.path).toBe( + expect(requireAssignment(context, 0).path).toBe( "plugins.entries.acpx.config.mcpServers.s1.env.INLINE", ); - expect(context.assignments[1]?.path).toBe( + expect(requireAssignment(context, 1).path).toBe( "plugins.entries.acpx.config.mcpServers.s1.env.SECOND", ); });