Salut,

Je rencontre un souci pour le test d'un des contrôleurs de mon appli
(Rails 3.1, RSpec 2) :

[test]
context "when the admin saves successfully" do
 before do
   admin.stub(:save).and_return(true)
   post :create, :admin => {}
 end

 context "and the tool cannot connect to the mail server" do
   before { Notifications.stub_chain(:welcome_admin,
:deliver).and_raise(Errno::ECONNREFUSED) }

   it "sets an alert message" do
     pending "Error seems not to be raised :(" do
       flash[:alert].should_not be_empty
     end
   end
 end
end
[/test]

Le test ne passe pas parce que flash[:alert] = nil et donc l'exception
ne semble pas levée.
Ci-dessous le code concerné du contrôleur :

[code]
class AdminsController < ApplicationController
 def create
   @admin = Admin.new(params[:admin])
   if @admin.save
     begin
       Notifications.welcome_admin(@admin).deliver
     rescue Errno::ECONNREFUSED => e
       logger.error { "[ERROR][MAILER] #{e.inspect}" }
       flash[:alert] = 'flash.mailer.unknown'
     ensure
       redirect_to @admin, :notice => 'flash.actions.create.notice'
     end
   else
     render :new
   end
 end
end
[/code]

Si l'un d'entre vous a une idée ;)
Je suis bien évidemment preneur de toute remarque si quelque chose
vous choque dans ce code.

--
Alex

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