В моето приложение Rails имам следните връзки в горната част на страница:
<ul>
<li><%= link_to 'Group Chairperson', '#group_chair' %></li>
<li><%= link_to 'Group Treasurer', '#group_treasurer' %></li>
<li><%= link_to 'Group Secretary', '#group_secretary' %></li>
</ul>
По-надолу в страницата имам следния селектор на редове в таблица:
<tr id="group_chair">
Щракването върху връзката „Председател на група“ кара браузъра да превърти надолу до правилния ред на таблицата, както се очаква. Сега искам да направя спецификация, която тества тази функция. Опитах следното:
require 'spec_helper'
describe "Group officer duties page" do
before { visit group_officer_duties_path }
it "should scroll down to the right section" do
click_link "Group Chairperson"
expect(current_url).to eq "http://www.example.com/group_officer_duties#group_chair"
end
end
Очаквам този тест да премине, тъй като това е, което URL лентата на моя браузър показва след щракване върху правилната връзка. Въпреки това, всъщност получавам това:
Failures:
1) Group officer duties page should scroll down to the right section
Failure/Error: expect(current_url).to eq "http://www.example.com/group_officer_duties#group_chair"
expected: "http://www.example.com/group_officer_duties#group_chair"
got: "http://www.example.com/group_officer_duties"
(compared using ==)
# ./spec/requests/group_officer_duties_nav_spec.rb:9:in `block (2 levels) in <top (required)>'
Finished in 0.94885 seconds
1 example, 1 failure
Някаква идея какво става с това?