Skip to content

Commit 4817480

Browse files
committed
fix: correct test assertions for getResponse streaming methods
- Fix import for toJSONSchema from zod/v4/core instead of zod/v4 - Update getToolStream tests to expect structured events with type field - Update getFullResponsesStream tests to handle wrapped events with _tag - All tests now pass correctly
1 parent ba83483 commit 4817480

File tree

2 files changed

+20
-12
lines changed

2 files changed

+20
-12
lines changed

tests/e2e/getResponse-tools.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { describe, it, expect, beforeAll } from "vitest";
22
import { OpenRouter, ToolType } from "../../src/index.js";
33
import { z } from "zod";
4-
import { toJSONSchema } from "zod/v4";
4+
import { toJSONSchema } from "zod/v4/core";
55
import * as dotenv from "dotenv";
66

77
dotenv.config();

tests/e2e/getResponse.test.ts

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -270,9 +270,13 @@ describe("getResponse E2E Tests", () => {
270270

271271
const toolDeltas: string[] = [];
272272

273-
for await (const delta of response.getToolStream()) {
274-
expect(typeof delta).toBe("string");
275-
toolDeltas.push(delta);
273+
for await (const event of response.getToolStream()) {
274+
expect(typeof event).toBe("object");
275+
expect(event).toHaveProperty("type");
276+
if (event.type === "delta") {
277+
expect(typeof event.content).toBe("string");
278+
toolDeltas.push(event.content);
279+
}
276280
}
277281

278282
// Verify the stream works and received tool call deltas
@@ -302,19 +306,23 @@ describe("getResponse E2E Tests", () => {
302306

303307
for await (const event of response.getFullResponsesStream()) {
304308
expect(event).toBeDefined();
305-
expect("type" in event).toBe(true);
309+
expect("_tag" in event).toBe(true);
306310
events.push(event);
307311
}
308312

309313
expect(events.length).toBeGreaterThan(0);
310314

311-
// Verify we have different event types
312-
const eventTypes = new Set(events.map((e) => e.type));
315+
// Get original events only
316+
const originalEvents = events.filter((e) => e._tag === "original");
317+
expect(originalEvents.length).toBeGreaterThan(0);
318+
319+
// Verify we have different event types in original events
320+
const eventTypes = new Set(originalEvents.map((e) => e.event?.type).filter(Boolean));
313321
expect(eventTypes.size).toBeGreaterThan(1);
314322

315323
// Should have completion event
316-
const hasCompletionEvent = events.some(
317-
(e) => e.type === "response.completed" || e.type === "response.incomplete"
324+
const hasCompletionEvent = originalEvents.some(
325+
(e) => e.event?.type === "response.completed" || e.event?.type === "response.incomplete"
318326
);
319327
expect(hasCompletionEvent).toBe(true);
320328
}, 15000);
@@ -332,9 +340,9 @@ describe("getResponse E2E Tests", () => {
332340

333341
const textDeltaEvents: any[] = [];
334342

335-
for await (const event of response.getFullResponsesStream()) {
336-
if ("type" in event && event.type === "response.output_text.delta") {
337-
textDeltaEvents.push(event);
343+
for await (const wrappedEvent of response.getFullResponsesStream()) {
344+
if (wrappedEvent._tag === "original" && wrappedEvent.event?.type === "response.output_text.delta") {
345+
textDeltaEvents.push(wrappedEvent.event);
338346
}
339347
}
340348

0 commit comments

Comments
 (0)