@kontent-ai/core-sdk
Version:
Core package with shared / common functionality for Kontent.ai SDKs
42 lines • 1.47 kB
JavaScript
import { vi } from "vitest";
import { isNotUndefined } from "../utils/core.utils.js";
import { toFetchHeaders } from "../utils/header.utils.js";
export function getFetchJsonMock({ json, status, responseHeaders, }) {
return getFetchMock({
status,
responseHeaders: responseHeaders ?? [],
blob: undefined,
json,
});
}
export function getFetchBlobMock({ blob, status, responseHeaders, }) {
return getFetchMock({
blob,
status,
responseHeaders: responseHeaders ?? [],
json: undefined,
});
}
export function getFakeBlob() {
return new Blob(["x"], { type: "text/plain" });
}
function getFetchMock({ json, blob, status, responseHeaders, }) {
return vi.fn(() => {
const contentTypeHeader = responseHeaders.find((m) => m.name.toLowerCase() === "Content-Type".toLowerCase())
? undefined
: {
name: "Content-Type",
value: "application/json",
};
return Promise.resolve({
// only implement the methods we need, ignore the rest
...{},
ok: status === 200,
headers: toFetchHeaders([...responseHeaders, contentTypeHeader].filter(isNotUndefined)),
status,
json: async () => await Promise.resolve(json),
...(blob ? { blob: async () => await Promise.resolve(blob) } : {}),
});
});
}
//# sourceMappingURL=test.utils.js.map