Реактивное тестирование библиотеки реагирует обновление компонента тестирования - PullRequest
0 голосов
/ 23 декабря 2018

Новый, чтобы реагировать.Какой правильный подход для тестирования обновления значения компонента, который зависит от действия в другом компоненте?Использование jest + react-testing-library.

Представьте, что есть только 2 компонента (братья и сестры) и значение обновляется через глобальное состояние.

Вот тест:

it('updates default value on for submit click', async () => {
    const username = 'hello';

    const {getByTestId, container, rerender} = render(<App/>);

    //subscribe to DOM changes
    await waitForDomChange({container}).then(() => {
        const defaultUsername = getByTestId("username-value");
        expect(defaultUsername).toHaveTextContent(username);
    });

    //set username
    const usernameInput = getByTestId("username-input");
    usernameInput.value = username;
    expect(usernameInput.value).toBe(username);

    const submitBtn = getByTestId("btn-submit");
    // console.log(prettyDOM(submitBtn));
    fireEvent.click(submitBtn, {button: 0});
});

Форма находится в одном компоненте, а значение отображается в другом.Они отображаются одновременно.В этом тесте значение во втором компоненте никогда не обновляется.Какой правильный подход для проверки?Если это правильный подход - что может пойти не так?

...