Написание модульного теста с использованием JEST JS и Enzyme.В коде есть несколько классов выбора со значением, установленным в другое состояние.
Например: я могу найти следующее:
<Select
disabled={disabled}
className={showRequired(checkRequired, this.state.AccountStatus, 'value') ? 'account-select req' : 'account-select'}
id='custodian-status'
value={this.state.AccountStatus}
onChange={(e) => {let val = e ? e.value : null; this.setState({AccountStatus: e})}}
options={this.state.AccountStatusOptions}
/>
Но не могу найти это, например:
{ type === 'add' &&
<div className='account-info-item'>
<label className='label'>Base Currency:</label>
<Select
disabled={disabled}
className={showRequired(checkRequired, this.state.BaseCurrency, 'value') ? 'account-select req' : 'account-select'}
id='custodian-status'
value={this.state.BaseCurrency}
onChange={(e) => {let val = e ? e.value : null; this.setState({BaseCurrency: e})}}
options={this.state.BaseCurrencyOptions}
/>
</div>
}
Вот мое условие beforeEach:
beforeEach(() => wrapper = mount(<MemoryRouter keyLength={0}><AccountForm {...baseProps} /></MemoryRouter>));
Вот как я пытаюсь найти его узел:
wrapper.find('AccountForm').find('Select').props('').onChange(#custodian-status)
Ошибка: метод «props» предназначен длязапускаться на 1 узле.4 найдено вместо.Выбор вызывается 9 раз, а не 4.
Также пробовал следующее:
wrapper.find('AccountForm').find('Select').find('custodian-status').simulate('change')
ошибка: метод «имитация» предназначен для запуска на 1 узле.Вместо этого найдено 0.