onChange не вызывается внутри MODAL - тест - PullRequest
0 голосов
/ 12 апреля 2019

Запуск следующего теста на реакцию Js с использованием Jest и энзима. Попытка проверить событие onChange внутри модального

Вот мой модальный компонент

<Modal isOpen={this.state.quickFilterModalOpen} style={descriptionModalStyle}>
  <div>
   <div className='fullmodal'>
   <div id='close-modal' className='sidemodal_addnew_x' onClick={this.closeModal}>
   <FontAwesome name='xbutton' className='fa-times' />
    </div>
    </div>  
  <div className='advanced-search-modal-inner'>
   <label>First Name</label>
   <input  id='first-name-filter'onChange={(e) => {this.setState({advancedFilter: {...this.state.advancedFilter, FirstName: e.target.value}})}}  value={this.state.advancedFilter.FirstName}/>  

Вот мой тест, я пытался смоделировать узел по метке, а также по идентификатору. ОШИБКА: узел не найден. Не понимаю почему, так как все setState равны true внутри Modal.

 beforeEach(() => wrapper = mount(<MemoryRouter keyLength={0}><Datasubjects {...baseProps} /></MemoryRouter>),

it("Test onChange event on First Name - Label",
  wrapper.find('Datasubjects').setState({
    advancedFilter:{
        City:'test1'
    },
    pageLoading:true,
    selectedQuickfilter:[],
    quickFilterModalOpen:true
    })
  wrapper.update() 
  wrapper.find('Datasubjects').find('label').find('First Name').simulate('change',{target: {value: 'test1'}} )

Также пробовал следующее:

wrapper.find('Datasubjects').find('input[id="city-filter"]').simulate('change',{target: {value: 'test1'}} )
...