Привет всем, у меня проблемы с проверкой присутствия элементов формы на моем ruby на представлении рельсов.Я использую rspec и have_selector для проверки.
Вот мой тестовый код:
it "should always have like button for root entity" do
get :index
@entities[0..3].each do |entity|
response.should have_selector("form",
:method => "post", :action => "like/#{entity[:id]}") do |form|
form.should have_selector("input", :value => "Like")
end
end
end
Вот вывод моего представления для конкретной сущности:
<th>
<form method="post" action="/like/1" class="button_to">
<div>
<input type="submit" value="Like" /><input name="authenticity_token" type="hidden" value="WEJPdFzphPFz+ld6BO8c/sMlhdfm+2Trp+3n0J8H5Cs=" />
</div>
</form>
</th>
Здесьмоя ошибка rspec:
1) EntitiesController GET Существуют «индексные» объекты для неподписанных пользователей, всегда должна быть кнопка «Мне нравится» для корневого объекта Failure / Error: form.should have_selector («input»,: value => "Like") ожидается, что следующий вывод будет содержать тег .
Если я закомментирую строку "form.should have_selector (" input ",: value => "Like") ", таким образом, тестовый код:
it "should always have like button for root entity" do
get :index
@entities[0..3].each do |entity|
response.should have_selector("form",
:method => "post", :action => "like/#{entity[:id]}") do |form|
#form.should have_selector("input", :value => "Like")
end
end
end
Моя ошибка rspec:
1) EntitiesController GET сущности 'index' существуют для не-у вошедших в систему пользователей всегда должна быть кнопка «Мне нравится» для корневого объекта. Ошибка / ошибка: response.should have_selector («form», ожидаемый следующий вывод будет содержать тег :
(только релевантная часть - c / ped)
Кажется, я сталкиваюсь с большими проблемами с have_selector, когда дело касается элементов формы.Есть ли лучшая альтернатива или я упускаю что-то очевидное?
Спасибо!