Al intentar testear el comportamiento de los editores in-place de Hobo, me he encontrado que las acciones habituales de los tests no funcionaban: page.find(elemento).click y luego fill_in(elemento). Capybara no se estaba enterando de que el DOM había cambiado por una llamada Ajax y que el span original había sido sustituido por un formulario y un input type text :/
La solución: utilizar execute_script
page.execute_script(' jQuery("elemento").trigger("click"); // Esto simula un clic en el elemento que hace que aparezca el formulario con el input jQuery("elemento").val("Contenido txatxi"); // Esto mete el dato en el input ') page.find('body').click # Esto hace clic fuera del input y dispara la llamada Ajax de Hobo para actualizar el dato
Salud 😉