| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import { describe, expect, test } from "bun:test"
- import * as OpenAIChat from "../src/protocols/openai-chat"
- import { Auth } from "../src/route"
- describe("Route.with", () => {
- test("merges endpoint query and header defaults while replacing auth and id", () => {
- const auth = Auth.headers({ "x-auth": "new" })
- const route = OpenAIChat.route
- .with({
- id: "base-chat",
- endpoint: {
- baseURL: "https://api.example.test/v1",
- query: { keep: "base", base: "1" },
- },
- headers: { "x-base": "base", "x-override": "base" },
- auth: Auth.headers({ "x-auth": "old" }),
- })
- .with({
- id: "patched-chat",
- endpoint: { query: { keep: "patch", patch: "1" } },
- headers: { "x-override": "patch", "x-patch": "patch" },
- auth,
- })
- expect(route.id).toBe("patched-chat")
- expect(route.auth).toBe(auth)
- expect(route.endpoint).toMatchObject({
- baseURL: "https://api.example.test/v1",
- path: "/chat/completions",
- query: { keep: "patch", base: "1", patch: "1" },
- })
- expect(route.defaults.headers).toEqual({
- "x-base": "base",
- "x-override": "patch",
- "x-patch": "patch",
- })
- expect(route.defaults.http?.headers).toEqual({
- "x-base": "base",
- "x-override": "patch",
- "x-patch": "patch",
- })
- })
- })
|