A capivara e o selecionador de datas JavaScript

tldr; Desligue os componentes de entrada JavaScript no modo de teste para não ter que habilitar JS nos testes de integração Capybara.

Frustrado com a lentidão e a dor de configurar os testes Capybara habilitados para JavaScript em Rails / Rspec, decidi que a melhor solução para manter meus testes rápidos e minha sanidade intacta era mudar minhas entradas habilitadas para JavaScript para entradas padrão no modo de teste.

- if Rails.env.test?
= f.input :start_date, label: 'Date:'
- else
%label Date:
.input-append.date.datepicker{:data => {:"date-format" => "yyyy-mm-dd"}}

Acima, você pode ver a classe datepicker na tag div input-append que é convertida em datepicker via JavaScript. Capivara não pode preencher uma data para esse campo sem habilitar o JavaScript, então, em vez disso, estou apenas renderizando um campo de entrada de formulário simples padrão no modo de teste.

Espero realmente que isso coloque meus testes de volta nos trilhos para que eu possa lançar http://interviewsy.com/ em breve.