Jest тесты для функций
Как составить jest тест для функции
const createTask = taskData => {
return fetch(baseUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=utf-8',
},
body: JSON.stringify(taskData),
});
};
Как-то я не так делаю видимо.. Создал файл для тестов и внутри пишу:
import { createTask } from "../tasksGateway";
it("should return response", () => {
const task = createTask({ text: "abcde" });
const baseUrl =
"https://62d57413d4406e52355b320b.mockapi.io/api/v1/todo-list";
expect(
fetch(baseUrl, {
method: "POST",
headers: {
"Content-Type": "application/json;charset=utf-8",
},
body: JSON.stringify({ text: "abcde" }),
}).toEqual(response.json())
);
});
|
Цитата:
|
Цитата:
const baseUrl = 'https://62d57413d4406e52355b320b.mockapi.io/api/v1/todo-list';
export const getTasksList = () => {
return fetch(baseUrl).then(response => response.json());
};
export const createTask = taskData => {
return fetch(baseUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=utf-8',
},
body: JSON.stringify(taskData),
});
};
|
NovichokJS,
Возможно кто-то другой вам поможет... |
import {
createTask
} from "../tasksGateway";
it("should return response", () => {
const task = createTask({
text: "abcde"
});
const baseUrl = "https://62d57413d4406e52355b320b.mockapi.io/api/v1/todo-list";
expect(
fetch(baseUrl, {
method: "POST",
headers: {
"Content-Type": "application/json;charset=utf-8",
},
body: JSON.stringify({
text: "abcde"
}),
}).toEqual(response.json())
);
});
Если отформатировать код, то выявляется несколько багов: 1. неиспользуемая переменная task в 6-й строке; 2. у класса Response нет метода toEqual в строке 21; 3. неопределенная переменная response в строке 21. Предположу, что «.toEqual(response.json())» должно быть перенесено на строку ниже + «response» должно быть заменено на «task». UPD. Ну и не забывайте, что fetch возвращает не результат, а Promise<Response<any>>, т.е. в expect попадет экземпляр Promise, а не Response и тем более не ответа сервера в JSON. Тоже самое касается и переменной task. Переменную «baseUrl» лучше создать в одном месте, а во все другие места где она нужна просто её импортировать. |
| Часовой пояс GMT +3, время: 08:16. |