Показать сообщение отдельно
  #5 (permalink)  
Старый 24.07.2022, 14:58
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

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» лучше создать в одном месте, а во все другие места где она нужна просто её импортировать.

Последний раз редактировалось Nexus, 24.07.2022 в 15:07.
Ответить с цитированием