Ошибка типа: невозможно прочитать свойство AccountToken из неопределенного - PullRequest
0 голосов
/ 27 марта 2019

Попытка запустить следующий тест для выбранного компонента, который импортируется 'response-select' У меня события click работают нормально, но событие onChange отображает ошибку:

 TypeError: Cannot read property 'Accounts' of undefined

Здесь находится ошибка, строка:

   setReport = () => {
let data = this.state.Account.accountBody;

this.setState({
  AccountToken: data.AccountToken,

Render ();

<Select
  className={'field-input-select margin-right'}
  id='accounts-id-test'
  value={this.state.Account}
  onChange={(e) => { this.setState({Account: e}, ()=>{this.setReport()}) }}

Использование mount:

it("should check button click event - Select ", () => {
 baseProps.onClick.mockClear();
wrapper.find('CLASS YOUR TESTING').setState({
    contactOptions:[],
    Account:[[""]],
    accountOptions: [{ value: 'test', label: 'label test', accountBody: "test account" }],
    showRequired: false,
    loading:false
});
wrapper.update() 


// wrapper.update() 
 wrapper.find('CLASS YOUR TESTING').find('Select').at(0).props().onChange({
    contactBody:{
        Accounts:[]
 }})

onChange работает в (0), а не в (1). Почему?

Ответы [ 2 ]

1 голос
/ 27 марта 2019

Ошибка означает, что:

let contactBody = contact.contactBody;

- это undefined, поэтому теперь вы должны попытаться отладить с помощью console.log или другими способами и посмотреть, почему это undefined, и найти решение

0 голосов
/ 27 марта 2019

В состоянии разобраться

   wrapper.find('CLASS YOUR TESTING').find('Select').at(1).props().onChange({
    accountBody:{
        LOA:{ 
             Documents:{
                 Signers:[],
             }
            }
         }
    })
...