Реагируйте на всплывающую подсказку, вызывающую проблемы с ферментами и сборниками рассказов - PullRequest
0 голосов
/ 19 марта 2020

Я отображаю подсказку библиотеки реагирования осколками в моем приложении, и она отлично работает. Однако это вызывает проблемы с моим сборником рассказов и тестовыми файлами. Использование выглядит примерно так:

import {ButtonGroup, Button, Tooltip} from 'shards-react';
...
const [showEditTooltip, setEditTooltip] = useState(false);
...
<ButtonGroup>
  <Button
    id='editBtn-1233455'
  >
    <Icon icon={pencil} />
  </Button>
  <Tooltip
    open={showEditTooltip}
    target='#editBtn-1233455'
    toggle={()=> setEditTooltip(!showEditTooltip)}
  >
    Edit Application
  </Tooltip>
</ButtonGroup>

Теперь, когда я запускаю свои тесты, я получаю эту ошибку в файле сборника рассказов:

FAIL  src/views/Dashboard/index.stories.js (6.221s)
● standard

  No DOM elements were found for #editBtn-1233455.

    20 |     ReactDOM.createPortal = jest.fn((element)=> element);
    21 |     const renderer = require('react-test-renderer');
  > 22 |     const tree = renderer.create(story).toJSON();
       |                           ^
    23 |     expect(tree).toMatchSnapshot();
    24 |   });
    25 | };

    at getDOMElements (node_modules/shards-react/components/utils.js:38:11)
    at getTarget (node_modules/shards-react/components/utils.js:45:19)
    at Tooltip.componentDidMount (node_modules/shards-react/components/tooltip/Tooltip.js:34:20)
    ...

Я также получаю ошибку от тест фермента, который у меня есть для кнопки, к которой прикреплена всплывающая подсказка (которая, по сути, просто отображает элементы, нажимает кнопку и проверяет, был ли вызван onClick):

 FAIL  src/components/TableActions/index.test.js
  ● <TableActions /> › calls goTo with value appId when edit button clicked

    TypeError: button.props is not a function

      19 | 
      20 |     const button = wrapper.find(Button).first();
    > 21 |     button.props().onClick();

Похоже, это попытка отобразить всплывающую подсказку, когда кнопка на самом деле не существует, поэтому «цель» всплывающей подсказки равна нулю. Но первоначальная open опора для всплывающей подсказки неверна, поэтому я не уверен, почему она вызывает эту проблему, когда сборник рассказов просто отображает ее как есть.

Это определенно всплывающая подсказка, вызывающая проблему, удаление означает, что все снова работает Я думал, что проблема с ферментом была в том, что я использовал mount вместо render, но это было не так. Любое понимание будет высоко ценится, спасибо.

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