Enzima: ¿cómo acceder y establecer el valor <input>?
Estoy confundido acerca de cómo acceder<input>
valor al usarmount
. Esto es lo que tengo como prueba:
it('cancels changes when user presses esc', done => {
const wrapper = mount(<EditableText defaultValue="Hello" />);
const input = wrapper.find('input');
console.log(input.render().attr('value'));
input.simulate('focus');
done();
});
La consola imprimeundefined
. Pero si modifico ligeramente el código, funciona:
it('cancels changes when user presses esc', done => {
const wrapper = render(<EditableText defaultValue="Hello" />);
const input = wrapper.find('input');
console.log(input.val());
input.simulate('focus');
done();
});
Excepto, por supuesto, elinput.simulate
la línea falla ya que estoy usandorender
ahora. Necesito que ambos funcionen correctamente. ¿Cómo puedo solucionar esto?
EDITAR:
Debo mencionar<EditableText />
No es un componente controlado. Pero cuando pasodefaultValue
dentro<input />
, parece establecer el valor. El segundo bloque de código anterior imprime el valor e igualmente si inspecciono el elemento de entrada en Chrome y escribo$0.value
en la consola, muestra el valor esperado.