在MODAL内部未调用onChange-测试

时间:2019-04-12 15:21:49

标签: jestjs onchange enzyme

运行以下测试以使用Jest和酶反应Js。 尝试在模式内部测试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}/>  

这是我的测试,我尝试通过标签和ID模拟节点。 错误:找不到节点。不知道为什么,因为Modal内部的所有setState都等于true。

 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'}} )

0 个答案:

没有答案