Я пытаюсь запустить спецификацию запроса в форме (построенной с помощью простой формы). Форма включает в себя несколько полей выбора, созданных с использованием метода ассоциации, и, следовательно, значения базы данных для модели.
При запуске save_and_open_page это не похоже на выбор значений в раскрывающихся списках.
Я просмотрел Mocking и Stubbbing, но это новое для меня, и я все еще немного смущен концепцией, выходящей за рамки основного использования.
Есть ли способ создать коллекцию для поля выбора, чтобы Capybara могла ее подобрать?
Я использую Rails 3.1, Simple Form, Capybara и FactoryGirl.
Мой код...
Challenge_spec
describe "New Challenges" do
before(:all) do
%w["Under 13", "13 - 16"].each do |item|
FactoryGirl.create(:age, :name => item)
end
end
it "should redirect to resources after submission" do
login_valid_user
visit new_challenge_path
@challenge = Factory.build(:challenge)
fill_in "challenge_name", :with => @challenge.name
fill_in "challenge_description", :with => @challenge.description
fill_in "challenge_description", :with => @challenge.description
select "30 mins", :from => "challenge_timescale"
save_and_open_page
select 1, :from => "challenge_age_id"
select @challenge.category, :from => "challenge_category_id"
click_button "save_button"
end
end
Контроллер
def new
@challenge = Challenge.new
respond_to do |format|
format.html # new.html.haml
format.json { render json: @challenge }
end
end
Элемент формы
<%= f.association :age, :prompt => "Please select..." %>
Модели
Испытание
class Challenge < ActiveRecord::Base
belongs_to :age
end
Возраст
class Age < ActiveRecord::Base
has_many :challenges
end
select "30 mins", :from => "Challenge Timescale"
. - person nmott   schedule 30.11.2011page.html
- person Drew   schedule 29.12.2011