Bonjour à tous,
Je tente de tester une API json avec Rspec. Mais je me trouve face à un
problème que je ne comprend pas.
Voici mon controlleur :
module Api
module V1
class AlbumsController < PrivateController
respond_to :json, :xml
def show
@album = current_family.albums.find(params[:id])
respond_with @album.as_json_with_pictures
end
end
end
end
Et mon album_controller_spec.rb
require 'spec_helper'
module Api
module V1
describe AlbumsController do
before (:each) do
@user = FactoryGirl.create(:parent)
@album = FactoryGirl.create(:album, creator_id: @user.id, family_id:
@user.family_id)
end
it "should show a single album" do
get :show, :id => @album, :auth_token => @user.authentication_token,
:format => :json
response.should be_success
response.body.should == @album.as_json_with_pictures
end
end
end
end
Lorsque je lance mes tests, voici l'erreur que je reçois :
1) AlbumsController should show a single album
Failure/Error: get :show, :id => @album, :auth_token =>
@user.authentication_token, :format => :json
ActionView::MissingTemplate:
Missing template albums/show, private/show, application/show with
{:locale=>[:en, :fr], :formats=>[:json], :handlers=>[:erb, :builder, :arb,
:coffee, :haml, :rabl]}. Searched in:
*
"#<RSpec::Rails::ViewRendering::EmptyTemplatePathSetDecorator:0x007fe952c51d48>"
# ./spec/controllers/api/v1/albums_controller_spec.rb:24:in `block (2
levels) in <module:V1>'
Après avoir effectué quelques recherche, j'ai découvert que Rspec s'attendait à
trouver une vue. Cependant, je n'utilise pas de vues puisqu'un appel JSON
renvoie automatiquement le bon contenu.
Quelqu'un a-t-il déjà fait face à ce problème?
Merci d'avance
Cédric
--
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse
[email protected]