Witam
Do niedawna używałem Webrata i RSpeca, ale jako, że chcę też testować JS, zainstalowałem Capybarę. W 1. konfiguracji poniższy kod działał bez problemu:
before(:each) do
@user = Factory(:user, :admin => true, :email => "testadmin@example.com")
visit root_path
fill_in "Adres e-mail", :with => @user.email
fill_in "Hasło", :with => @user.password
click_button "Zaloguj mnie"
end
describe "GET" do
it "/admin/ powinno zwrócić stronę główną panelu administracyjnego" do
get admin_root_path
response.should have_selector(:title, :content => "Zarządzanie")
end
...
end
end
Natomiast Capybara rzuca mi błędami:
[code]Failures:
- AdminLayoutLinks GET /admin/ powinno zwrócić stronę główną panelu administracyjnego
Failure/Error: response.should have_selector(:title, :content => “Zarządzanie”)
expected following output to contain a Zarządzanie tag: You are being redirected. # ./spec/requests/admin_layout_spec.rb:15:in `block (3 levels) in '[/code]
Na powyższych stronach nie używam JS. Kiedy zmodyfikuję blok before iżby wyglądał on tak:
@user = Factory(:user, :admin => true, :email => "testadmin@example.com")
visit root_path
fill_in "Adres e-mail", :with => @user.email
fill_in "Hasło", :with => @user.password
click_button "Zaloguj mnie"
save_and_open_page
oczom moim ukazuję się strona po poprawnym zalogowaniu. Get /admin zatem powinno się udać.
Wie ktoś co to się podziało?