Files
pleno-vue/tests/unit/vite-api-proxy.spec.js
T

35 lines
1.2 KiB
JavaScript

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("http://localhost");
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();
});
});