У меня есть модель группы, которую я тестирую, используя спецификации запросов с Capybara и генерируя данные с помощью Factory Girl
В моей фабрике groups.rb ...
FactoryGirl.define do
factory :group do
sequence :name do |n|
"Group#{n}"
end
expiry Date.today + 2.weeks
end
end
И используюэто в моем groups_spec.rb ...
describe "Groups" do
describe "GET /groups" do
it "an admin user can create a new group" do
user = Factory.create(:user, :is_admin => true )
group = Factory.build(:group)
visit root_url
fill_in "Email", :with => user.email
fill_in "Password", :with => user.password
click_button "Login"
click_link "Groups"
click_link "New Group"
fill_in "Name", :with => group.name
# need to change the below to use the Factory eg select Date.new(group.expiry)
select "2014", :from => "group_expiry_1i"
select "June", :from => "group_expiry_2i"
select "1", :from => "group_expiry_3i"
click_button "Create Group"
page.should have_content("Group was successfully created.")
page.should have_content(group.name)
end
end
end
Итак, вы видите, что это плохой способ выполнить тест, поскольку я не использую фабрично сгенерированный срок действия.Кто-нибудь знает, как правильно ввести в форму дату истечения срока действия?