Как написать тест в Enzyme, чтобы проверить, существует ли подключенный / умный компонент? - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть следующий компонент:

import React from 'react';
import {
  Header
} from 'semantic-ui-react';
import SummaryTable from '../SummaryTable/SummaryTable';
import SummaryFilters from '../SummaryFilters/SummaryFilters';

function TabSummary() {
  return (
    <>
      <Header as="h2">
        Blah blah
      </Header>
      <SummaryFilters />
      <SummaryTable />
    </>
  );
}

export default TabSummary;

Как мне написать тест для этого компонента, чтобы проверить, существует ли компонент SummaryFilter. SummaryFilter - это подключенный / интеллектуальный компонент, и следующий тест:

it('should display <SummaryFilters /> when page is first loaded', () => {
  console.log(wrapper.debug());
  expect(wrapper.find('SummaryFilters').exists()).toBeTruthy();
});

выдает следующую ошибку:

Invariant Violation: Could not find "store" in the context of "Connect(SummaryFilters)". Either wrap the root component in a <Provider>, or pass a custom React context provider to <Provider> and the corresponding React context consumer to Connect(SummaryFilters) in connect options.

Что мне нужно добавить / изменить, чтобы успешно запустить этот тест?

Цените любые указания

1 Ответ

0 голосов
/ 06 апреля 2020

Изменение expect(wrapper.find('SummaryFilters').exists()).toBeTruthy();

на:

expect(wrapper.find('Connect(SummaryFilters)').exists()).toBeTruthy();

устранило ошибку и заставило тест работать должным образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...