У меня есть выборка, которая получает файл с сервера, и я пытаюсь смоделировать выборку для своих тестов с помощью fetch-mock
.
Используя этот код, я могу смоделировать конечную точку и поместить большой объект в тело:
const blob = new Blob(['a', 'b', 'c', 'd']);
fetchMock.once('*', {body: blob}, {sendAsJson: false});
Код, который тестируется:
fetch(url).then( ( response ) => {
console.log(response);
return response.blob();
} ).then( ( blob ) => {
console.log(blob);
} )
Я вижу, что BLOB-объект находится в теле запроса
Body {
url: '/mock/url',
status: 200,
statusText: 'OK',
headers: Headers { _headers: {} },
ok: true,
body: Blob {},
bodyUsed: false,
size: 0,
timeout: 0,
_raw: [],
_abort: false }
Но выполняетсяtest выдает ошибку:
TypeError: response.blob is not a function
Выполнение кода с сервером возвращает действительный BLOB-объект в финал .then
.