mirror of
https://github.com/oven-sh/bun
synced 2026-02-09 18:38:55 +00:00
31 lines
870 B
TypeScript
31 lines
870 B
TypeScript
import { afterEach, expect, test } from "bun:test";
|
|
|
|
const originalResponse = globalThis.Response;
|
|
const originalRequest = globalThis.Request;
|
|
const originalHeaders = globalThis.Headers;
|
|
afterEach(() => {
|
|
globalThis.Response = originalResponse;
|
|
globalThis.Request = originalRequest;
|
|
globalThis.Headers = originalHeaders;
|
|
globalThis.fetch = Bun.fetch;
|
|
});
|
|
|
|
test("fetch, Response, Request can be overriden", async () => {
|
|
const { Response, Request } = globalThis;
|
|
globalThis.Response = class BadResponse {};
|
|
globalThis.Request = class BadRequest {};
|
|
globalThis.fetch = function badFetch() {};
|
|
|
|
const fetch = require("node-fetch").fetch;
|
|
|
|
using server = Bun.serve({
|
|
port: 0,
|
|
async fetch(req) {
|
|
return new Response("Hello, World!");
|
|
},
|
|
});
|
|
|
|
const response = await fetch(server.url);
|
|
expect(response).toBeInstanceOf(Response);
|
|
});
|