enzyme change input value
input.simulate('change', { target: { value: 'Hello' } })
enzyme change input value
input.simulate('change', { target: { value: 'Hello' } })
react enzyme simulate change
// app.js
import React from 'react'
const App = (props) => {
return (
<>
<input type='text' name='username' value={props.username} onChange={props.onChange} />
<input type='email' name='email' value={props.email} onChange={props.onChange} />
</>
)
}
export default App
// App.test
import React from 'react'
import { shallow } from 'enzyme'
import App from './App'
it('change value', () => {
const state = { username: 'joe', email: '[email protected]' }
const props = {
username: state.username,
email: state.email,
onChange: (e) => {
state[e.target.name] = e.target.value
}
}
const wrapper = shallow(<App {...props} />)
expect(wrapper.find('input').at(0).prop('value')).toEqual('joe')
expect(wrapper.find('input').at(1).prop('value')).toEqual('[email protected]')
wrapper
.find('input')
.at(0)
.simulate('change', { target: { name: 'username', value: 'john doe' } })
expect(state.username).toEqual('john doe')
wrapper
.find('input')
.at(1)
.simulate('change', { target: { name: 'email', value: '[email protected]' } })
expect(state.email).toEqual('[email protected]')
console.log(wrapper.debug())
})
Copyright © 2021 Codeinu
Forgot your account's password or having trouble logging into your Account? Don't worry, we'll help you to get back your account. Enter your email address and we'll send you a recovery link to reset your password. If you are experiencing problems resetting your password contact us