Открытие и закрытие модального диалога и ожидание ответа от провайдера - PullRequest
0 голосов
/ 20 сентября 2019

Использование React Testing Library для тестирования поставщика диалогов.Я могу заставить его открыться и утверждать, что он появляется, но по какой-то причине я не могу его закрыть в тесте.Нужно ли повторное рендеринг или что-то?

test('await the closing or confirming of the modal', async () => {
  const { debug, getByText, queryByText } = render(
    <DialogProvider>
      <Test />
    </DialogProvider>,
  );
  const openDialogButton = getByText(/click me/i);
  fireEvent.click(openDialogButton);
  await wait(() => getByText(/ok/i));
  fireEvent.click(getByText(/ok/i));
  debug();
});


function Test() {
  const confirm = useConfirmation();
  return (
    <button
      onClick={() => {
        confirm({ variant: 'info' });
      }}
    >
      click me
    </button>
  );
}

1 Ответ

0 голосов
/ 20 сентября 2019

Судя по всему, следующее работает

  await waitForElement(() => getByText(/ok/i));
  fireEvent.click(getByText(/ok/i));
  await waitForElementToBeRemoved(() => queryByText(/ok/i));
  expect(queryByText(/ok/i)).toBeNull();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...