import { describe, expect, it } from "vitest"; import { createApiProxyOptions } from "../../vite.config.js"; describe("Vite API proxy", () => { it("forwards local /api requests to the working dev API by default", () => { const options = createApiProxyOptions({}); expect(options.target).toBe("https://api.truckwash.io:4433"); expect(options.changeOrigin).toBe(true); expect(options.secure).toBe(false); expect(options.rewrite("/api/ping")).toBe("/ping"); expect(options.rewrite("/api/release/runtime")).toBe("/release/runtime"); expect(options.rewrite("/api")).toBe("/"); }); it("allows a local gateway override", () => { const options = createApiProxyOptions({ VITE_API_PROXY_TARGET: "http://localhost", }); expect(options.target).toBe("http://localhost"); expect(options.rewrite("/api/ping")).toBe("/ping"); }); it("allows disabling prefix stripping for compatible local gateways", () => { const options = createApiProxyOptions({ VITE_API_PROXY_TARGET: "http://localhost", VITE_API_PROXY_STRIP_PREFIX: "false", }); expect(options.target).toBe("http://localhost"); expect(options.rewrite).toBeUndefined(); }); });