zotero-ts-api
Version:
A TypeScript API wrapper for Zotero
49 lines • 1.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.mockFetchMalformedJSON = exports.mockFetchNetworkError = exports.mockFetchError = exports.mockFetchSuccess = exports.createMockResponse = void 0;
const vitest_1 = require("vitest");
const createMockResponse = (data, options = {}) => {
return {
ok: true,
status: 200,
statusText: 'OK',
headers: new Headers(),
redirected: false,
type: 'basic',
url: '',
clone: vitest_1.vi.fn(),
body: null,
bodyUsed: false,
arrayBuffer: vitest_1.vi.fn(),
blob: vitest_1.vi.fn(),
formData: vitest_1.vi.fn(),
json: vitest_1.vi.fn().mockResolvedValue(data),
text: vitest_1.vi.fn(),
...options,
};
};
exports.createMockResponse = createMockResponse;
const mockFetchSuccess = (data) => {
vitest_1.vi.mocked(fetch).mockResolvedValueOnce((0, exports.createMockResponse)(data));
};
exports.mockFetchSuccess = mockFetchSuccess;
const mockFetchError = (status, statusText) => {
vitest_1.vi.mocked(fetch).mockResolvedValueOnce((0, exports.createMockResponse)(null, {
ok: false,
status,
statusText
}));
};
exports.mockFetchError = mockFetchError;
const mockFetchNetworkError = (message = 'Network error') => {
vitest_1.vi.mocked(fetch).mockRejectedValueOnce(new Error(message));
};
exports.mockFetchNetworkError = mockFetchNetworkError;
const mockFetchMalformedJSON = () => {
vitest_1.vi.mocked(fetch).mockResolvedValueOnce({
ok: true,
json: vitest_1.vi.fn().mockRejectedValue(new Error('Invalid JSON'))
});
};
exports.mockFetchMalformedJSON = mockFetchMalformedJSON;
//# sourceMappingURL=test-helpers.js.map