Задать вопрос
@GNG999

Почему тест возвращает «error»?

Нужно сделать покрытие тестом следующего кода:

useEffect(() => {
        const listener = (event) => {
            console.log('listener');
            console.log('event', event);
            event.preventDefault();
            event.stopPropagation();
        };

        window.addEventListener('dragover', listener);
        window.addEventListener('drop', listener);

        return () => {
            window.removeEventListener('dragover', listener);
            window.removeEventListener('drop', listener);
        };
    }, []);


написал след тест:

it('should handle drag event', async function () {
        const map = {};
        window.addEventListener = jest.fn((event, callback) => {
            map[event] = callback;
        });
        const callback = jest.fn();
        render(<FileInput value={[]} onChange={callback} />);
        map.drop({ preventDefault: () => {}, stopPropagation: () => {} });
        expect(window.addEventListener).toHaveBeenCalledWith('drop');
    });


Почему данный тест возвращает

Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)

Expected: "drop"
Received
       1: "error", [Function handleWindowError]
       2: "error", [Function handleWindowError]
       3: "error", [Function handleWindowError]

Number of calls: 6

?
  • Вопрос задан
  • 51 просмотр
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽