Piszę sobie testy w “ogórku”. Moja aplikacja korzysta z OAuth Blipa, dlatego też do zalogowania/rejestracji potrzebne jest wysłanie jednego formularza na zewnętrznej stronie.
W jednym z plików *_steps.rb napisałem taki kod:
[code “Ruby”]Given /^I am logged in$/ do
get ‘http://m.blip.pl’
fill_in(‘login’, :with => BLIP_LOGIN[:username])
fill_in(‘hasło’, :with => BLIP_LOGIN[:password])
click_button
get ‘/login’
click_button “Zaloguj się używając OAuth” # button na mojej stronie, po kliknięciu następuje przekierowanie
click_button “Zapisz zmiany” # button na stronie Blipa
end
[/code]
Jednak wygląda na to, że Webrat nie odwiedza nawet m.blip.pl, bo wyrzuca błąd:
Could not find field: "login" (Webrat::NotFoundError)
Spróbowałem z GitHubem - to samo. Próbowałem również bezskutecznie użyć metody host!. Mógłbym zresztą od razu wysłać zapytanie pod m.blip.pl/sessions z odpowiednimi parametrami, ale oczywiście najpierw Webrat musiałby widzieć te zewnętrzne domeny.
Istnieje jakiś sposób, żeby posiadać zalogowanego użytkownika na Blipie w tej sesji Webrata czy pozostaje mi po prostu wklepanie @current_user = User.create(…)?