Unit-Test: состояние теряется при срабатывании второго onClick - PullRequest
0 голосов
/ 31 января 2020

У меня есть функциональный компонент (родительский компонент) с

  • хуком состояния И
  • некоторыми функциональными подкомпонентами

Щелчок по подкомпоненту сохранено в родительском компоненте. Это то, что предназначено. Второй щелчок также сохраняется в родительском компоненте, без первого. Другими словами: первый щелчок теряется в этом модульном тесте. Как я могу предотвратить это?

it('should click on fields and also save it', () => {
    let wrapper = mount(<App />);
    let fields = wrapper.find(Field);

    let field0 = fields.at(0);
    let field1 = fields.at(1);

    act(() => {
        field0.props().onClick({ target: { id: 0 } });

    });
    wrapper.update();

    act(() => {
        field1.props().onClick({ target: { id: 1 } });

    });
    wrapper.update();

});

Вот код, по которому обрабатывается клик

const handleClick = (clickedField) => {
    let clickedFieldValue =
        currenGameFieldValues[parseInt(clickedField.target.id)];

    if (clickedFieldValue === null && !isGameFinished) {
        let temporaryGameFieldValuesArr = [...currenGameFieldValues];
        temporaryGameFieldValuesArr[
            parseInt(clickedField.target.id)
        ] = currentPlayer;

        setCurrentGameFieldValues(temporaryGameFieldValuesArr);
        toggleBetweenTwoPlayers();
    }
};

Заранее спасибо!

...