React - тест jest возвращает ошибку токена API

У меня есть следующий тест, но я получаю следующую ошибку: «API: невозможно получить токен API». Я пробовал использовать shallow вместо mount, но он возвращает ту же ошибку.

describe('CreateTemplateModal', () => {
  let props, el
  const modal = function () {
    if (!el) el = mount(<CreateTemplateModal {...props} />)
    return el
  }

  beforeEach(() => {
    props = {
      onSubmit: jest.fn().mockReturnValue(Promise.resolve()),
    }
    el = undefined
  })

  it('calls onSubmit when create template button is clicked', () => {
    const el = modal().setState({
      title: 'new template',
      jurisdiction: 'nsw',
      description: 'random',
    })
    el.find('#create-template-btn').simulate('submit')
    expect(props.onSubmit).toHaveBeenCalled()
  })
})

не могли бы вы добавить код для CreateTemplateModal или хотя бы ту часть, где называется onSubmit

Andreas Köberle 11.01.2019 09:32

в модульном тестировании это обычный способ имитировать все, кроме модуля, который сейчас тестируется. это также означает имитацию вызовов API. см. примеры в разделе документации Мок-функции.

skyboyer 11.01.2019 18:38
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
2
38
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Поскольку вы издеваетесь над функцией onSubmit, я полагаю, что api не вызывается в функции onSubmit или после нажатия #create-template-btn. Поскольку вы не поделились кодом CreateTemplateModal, я предлагаю проверить конструктор или функцию render() в компоненте CreateTemplateModal. Определенно был сделан вызов API токенов

Другие вопросы по теме