czwartek, 5 stycznia 2012

Capybara i Devise - mock logowania

Piszemy request spec-i dla naszej aplikacji.

No i problem! Jak zalogować użytkownika?

Możemy użyć metody "brute force" ;) i po prostu wejść na stronę logowania i wypełnić formularz

Albo zrobić to sprytniej i użyć helperów Warden-a (na którym oparte jest Devise) Utwórzmy plik /spec/support/devise.rb

Teraz w spec-ach możemy używać metody #sign_in

Takie rozwiązanie potrzebne jest tylko przy request spec-ach używających driver-a capybary, który obsługuje javascript (capybara-webkit, capybara-selenium). Przy spec-ach używających Rack driver wystarczy*:


*Wydaje mi się jednak, że wersja używająca Warden-a jest szybsza. Ale możliwe że to tylko subiektywne wrażenie

Brak komentarzy:

Prześlij komentarz