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