Доступ к свойствам элемента semanti c -ui в тесте jest-энзимов - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть React Component с именем SavedVariants, который отображает semantic-ui-react Pagination компонент, и я пытаюсь проверить, имеет ли Pagination правильное число totalPages:

https://github.com/Semantic-Org/Semantic-UI-React/blob/2c7134128925dd831de85011e3eb0ec382ba7f73/src/addons/Pagination/Pagination.js#L64

Вот как выглядят мои jest-enzyme тесты:

describe('Testing SavedVariants pagination and search', () => {
  let wrapper
  beforeEach(() => {
    const store = configureStore()(STATE1)
    wrapper = mount(<SavedVariants store={store} match={{ params: {} }} />)
  })  

  // Testing of the backend - based variant search functionality
  test('number of pages is correctly rendered in pagination', () => {
    const paginationComponent = wrapper.find('Pagination')
    console.log(paginationComponent.props.totalPages)
    expect(paginationComponent.props.totalPages).toEqual(1)
    wrapper.setProps({ 'totalPages': 3 })
    expect(paginationComponent.props.totalPages).toEqual(3)
  })  
})

paginationComponent.props.totalPages оказывается undefined. Если я запускаю console.log(paginationComponent), он печатает ReactWrapper { length: 0 }. Итак, как я могу получить доступ к semantic-ui-react Pagination в тестах?

Интересно, что при запуске wrapper.setState({ 'totalPages': 3 }) выдается ошибка:

TypeError: Невозможно прочитать свойство 'setState' из null

Итак, теперь мне интересно, смонтирован ли мой SavedVariants компонент ... Но это было бы очень неправильно, поскольку в противном случае ошибки не отображаются.

...