Zaimplementowałem przesyłanie plików nośnych do Amazon s3 tak jak w przypadku this Railscast.Testowanie przesyłania plików Carrierwave na s3 przy użyciu Capybara i Rspec
Mam jednak problem z testowaniem tego. Mogę załączyć plik do Capybara, ale kiedy kliknę przycisk, aby go załadować, nie przekierowuję do właściwej akcji. Sprawdziłem z save_and_open_page i zamiast tego wyświetla się strona główna.
Po przetestowaniu go w przeglądarce działa poprawnie, ale informacje o przesyłaniu s3 są dodawane do adresu URL (screenshot). Nie wiem, dlaczego to nie zadziałałoby w teście.
Oto kilka istotnych plików:
example_spec.rb - https://gist.github.com/leemcalilly/1e159f1b93005b8113f2
inicjalizatory/carrierwave.rb - https://gist.github.com/leemcalilly/924e8755f7c76ecbf5cf
modele/work.rb - https://gist.github.com/leemcalilly/cfda1a7f15d87dbab731
controllers/works_controller.rb - https://gist.github.com/leemcalilly/7fca5f2c81c6cb4de6bc
Jak mogę przetestować ten typ formy z kapibarą i rspec?
Tylko uwaga dla każdego, kto utknął jak ja i miał wszystko jak ta odpowiedź. Musiałem włączyć js w teście, aby działał. – rmaspero