Peux tu essayer de mettre render json: @album.as_json_with_pictures au lieu
respond_with?

Le 28 novembre 2012 09:42, Cédric Bousmanne <[email protected]> a écrit :

> 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]
>

-- 
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]

Répondre à