Capybara отправляет параметры флажка Formtastic иначе, чем фактическое приложение

Установлено следующее поле флажка formtastic формы:

<%= semantic_form_for @store do |f| %>
  <%= f.inputs do %>
    <%= f.input :services, :as => :check_boxes, :collection => Service.all %>  
  <% end -%>
<% end -%>

отправляет плохие параметры для: services в тесте Cucumber с использованием Capybara, что приводит к сбою теста, в то время как фактическое приложение отправляет правильные, которые обрабатываются нормально:

#cucumber steps using the boiler_plate capybara web_steps.rb:
Given a "Mail Order" service
...(steps for rest of the form)...
When I check "Mail Order" 
And I press "Create Store"
Then I should see "Store was successfully created."
And I should see "Mail Order"

#params sent by cucumber
"store"=>{"services"=>["[\"4d8247ed7f5bfd2275000004\"]"]

#params sent by app on manual test
"store"=>{"services"=>["4d8247ed7f5bfd2275000004"]}

Хотя сама html-форма отображается одинаково в обоих случаях:

<input id="store_services_4d8247ed7f5bfd2275000004" name="store[services][]" type="checkbox" value="4d8247ed7f5bfd2275000004" />

Похоже, что где-то во время создания параметров запроса пары ключ / значение формы для этого поля анализируются по-разному при отправке Cucumber / Capybara.

Кто-нибудь еще сталкивался с этим?

6
задан oliverbarnes 18 June 2011 в 22:04
поделиться