mirror of
https://github.com/wagtail/wagtail.git
synced 2024-11-25 05:02:57 +01:00
59 lines
1.3 KiB
JavaScript
59 lines
1.3 KiB
JavaScript
// Mocking the global.fetch and global.Headers
|
|
global.fetch = jest.fn();
|
|
global.Headers = jest.fn();
|
|
|
|
// Helper to mock a success JSON response.
|
|
fetch.mockResponseSuccessJSON = (body) => {
|
|
fetch.mockImplementationOnce(() =>
|
|
Promise.resolve({
|
|
json: () => Promise.resolve(JSON.parse(body)),
|
|
ok: true,
|
|
status: 200,
|
|
statusText: 'OK',
|
|
}),
|
|
);
|
|
};
|
|
|
|
// Helper to mock a success text response.
|
|
fetch.mockResponseSuccessText = (body) => {
|
|
fetch.mockImplementationOnce(() =>
|
|
Promise.resolve({
|
|
text: () => Promise.resolve(body),
|
|
ok: true,
|
|
status: 200,
|
|
statusText: 'OK',
|
|
}),
|
|
);
|
|
};
|
|
|
|
// Helper to mock a failure response.
|
|
fetch.mockResponseFailure = () => {
|
|
fetch.mockImplementationOnce(() =>
|
|
Promise.resolve({
|
|
status: 500,
|
|
statusText: 'Internal Error',
|
|
}),
|
|
);
|
|
};
|
|
|
|
fetch.mockResponseCrash = () => {
|
|
fetch.mockImplementationOnce(() =>
|
|
// eslint-disable-next-line prefer-promise-reject-errors
|
|
Promise.reject({
|
|
status: 500,
|
|
statusText: 'Internal Error',
|
|
}),
|
|
);
|
|
};
|
|
|
|
// Helper to mock a timeout response.
|
|
fetch.mockResponseTimeout = () => {
|
|
fetch.mockImplementationOnce(() => {
|
|
const timeout = 1000;
|
|
|
|
return new Promise((resolve) => {
|
|
setTimeout(() => setTimeout(resolve, timeout), timeout);
|
|
});
|
|
});
|
|
};
|