Avoir quelques difficultés avec mes tests Capybara RSPEC où j'ai une ressource imbriquée. Voici l'erreur que je reçois:Capybara + Rspec Route imbriquée
1) Photo pages visit photo path Photo can be visited after FactoryGirl create records ←[31mFailure/Error:←[0m ←[31mvisit mountain_photo_path(mountain, photo)←[0m
←[31mActiveRecord::RecordNotFound:←[0m ←[31mCouldn't find Photo with id=1 [WHERE "photos"."mountain_id" = 1]←[0m
←[36m # C:in
find'←[0m ←[36m # ./app/controllers/photos_controller.rb:14:in
show'←[0m ←[36m # ./spec/requests/photo_pages_spec.rb:34:in `block (3 levels) in '←[0m
Mon parcours imbriquée est la suivante:
resources :mountains do
resources :photos
end
Et je teste les éléments suivants dans mon test Rspec:
require 'spec_helper'
describe "Photo pages" do
let(:user) { FactoryGirl.create(:user)}
let(:region) { FactoryGirl.create(:region)}
let(:mountain) {FactoryGirl.create(:mountain)}
let(:photo) {FactoryGirl.create(:photo)}
before { sign_in user }
describe "visit mountain path" do
it "can be visited after FactoryGirl create" do
visit mountain_path(mountain)
page.should have_selector('h1', text: "Breck Test")
end
it "has the correct region associated to it" do
visit mountain_path(mountain)
page.should have_selector('h4', text: "Rockies")
end
end
describe "visit photo path" do
it "Photo can be visited after FactoryGirl create records" do
visit mountain_photo_path(mountain, photo)
page.should have_selector('title', text: photo.name)
end
end
end
Je crois factorygirl est créer tous les enregistrements avec succès. La pièce jointe sur Photo est effectuée via CarrierWave et après le débogage, elle est considérée comme correctement chargée. J'apprécie énormément la sagesse du groupe ici, merci d'avance pour votre aide. Passé plusieurs heures frustrantes avec ce code rspec aujourd'hui, en espérant que cela devienne plus facile dans le futur.
Merci pour votre réponse. J'ai essayé le code ci-dessus, mais cela ne fonctionne pas, il ne semble pas réellement créer une photo dans les paramètres FactoryGirl. Le fichier FactoryGirl actuel je pensais relier ces deux enregistrements, il le fait avec succès entre Région et Montagne, qui a été testé avec succès avec le code que j'ai ajouté à la description ci-dessus –
semble que j'ai lu vos usines trop vite, édité juste ma réponse – apneadiving
il! Merci beaucoup :) –