@@ -22,6 +22,17 @@ vi.mock("../plugins/capability-provider-runtime.js", async () => {
|
22 | 22 | return createEmptyCapabilityProviderMockModule(); |
23 | 23 | }); |
24 | 24 | |
| 25 | +type CapabilityResult = Awaited<ReturnType<typeof runCapability>>; |
| 26 | + |
| 27 | +function requireCapabilityOutput(result: CapabilityResult, index: number) { |
| 28 | +const output = result.outputs[index]; |
| 29 | +expect(output).toBeDefined(); |
| 30 | +if (!output) { |
| 31 | +throw new Error(`expected media-understanding output at index ${index}`); |
| 32 | +} |
| 33 | +return output; |
| 34 | +} |
| 35 | + |
25 | 36 | describe("runCapability video provider wiring", () => { |
26 | 37 | it("merges video baseUrl and headers with entry precedence", async () => { |
27 | 38 | let seenBaseUrl: string | undefined; |
@@ -83,8 +94,9 @@ describe("runCapability video provider wiring", () => {
|
83 | 94 | ]), |
84 | 95 | }); |
85 | 96 | |
86 | | -expect(result.outputs[0]?.text).toBe("video ok"); |
87 | | -expect(result.outputs[0]?.provider).toBe("moonshot"); |
| 97 | +const output = requireCapabilityOutput(result, 0); |
| 98 | +expect(output.text).toBe("video ok"); |
| 99 | +expect(output.provider).toBe("moonshot"); |
88 | 100 | expect(seenBaseUrl).toBe("https://entry.example/v1"); |
89 | 101 | expect(seenHeaders).toMatchObject({ |
90 | 102 | "X-Provider": "1", |
@@ -154,8 +166,9 @@ describe("runCapability video provider wiring", () => {
|
154 | 166 | }); |
155 | 167 | |
156 | 168 | expect(result.decision.outcome).toBe("success"); |
157 | | -expect(result.outputs[0]?.provider).toBe("moonshot"); |
158 | | -expect(result.outputs[0]?.text).toBe("moonshot"); |
| 169 | +const output = requireCapabilityOutput(result, 0); |
| 170 | +expect(output.provider).toBe("moonshot"); |
| 171 | +expect(output.text).toBe("moonshot"); |
159 | 172 | }); |
160 | 173 | }, |
161 | 174 | ); |
|