Как проверить компонент, завернутый в HOC? - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть HOC, который отображает упакованный компонент, только когда isEntityValid () имеет значение true:

export default WrappedComponent => {
  return class EntityConsumer extends Component {
    render() {
      return isEntityValid() && <WrappedComponent {...this.props} />;
    }
  };
};

оператор export default моего упакованного компонента выглядит следующим образом:

export default withEnity(SomeComponent);

SomeComponent были написаны примеры модульных тестов до того, как я добавил withEnity HOC,

  const wrapper = shallow(<SomeComponent {...props} />);
  const doneButton = wrapper.find(".footer_button");

как мне настроить тест, чтобы они все равно проходили?:

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Вы также можете экспортировать развернутый компонент

export default withEnity(SomeComponent);
export { SomeComponent as PureSomeComponent };

И затем проверить его развернутым

Import { PureSomeComponent as SomeComponent};
0 голосов
/ 26 февраля 2019

Вот как я обычно делаю свои собственные задания:

export default WrappedComponent => {
  class EntityConsumer extends Component {
    render() {
      return isEntityValid() && <WrappedComponent {...this.props} />;
    }
  };
  EntityConsumer.WrappedComponent = WrappedComponent;
  return EntityConsumer;
};

Затем, в дальнейшем, вы можете

const wrapper = shallow(<SomeComponent.WrappedComponent {...props} />);
const doneButton = wrapper.find(".footer_button");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...