document.querySelector CHANGE событие? - PullRequest
0 голосов
/ 26 апреля 2019

Можно ли протестировать событие onChange, используя document.querySelector внутри модального

Использование jest и энзима для реакции на файл js

  <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-body'>
       <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}/>

Вот мой тестовый файл Я сделал до сих пор с событиями кликов, но не с Onchange Попытка получить следующее событие onChange для передачи

it('Test click event on Modal : Save Button', () => {
   baseProps.onClick.mockClear();
   ReactModal.setAppElement('body');
   wrapper = mount(
     <ReactModal isOpen>
         <div className="fullmodal">
         some content
         </div>
     </ReactModal>,
    {attachTo: mountingDiv}
    );
   wrapper.setState({
    quickFilterModalOpen:true,
    advancedFilter:'test'

})
wrapper.update()
expect(wrapper.find('.fullmodal').exists()).toEqual(false);
expect(!!document.body.querySelector('.fullmodal')).toEqual(true);
document.querySelector("#first-name-filter").change(); //wrong

1 Ответ

0 голосов
/ 26 апреля 2019

Вы можете использовать Имитация фермента ()

wrapper.find('.fullmodal').simulate('change', { ...optionalMockEventDataToPass });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...