0
Est-il possible de se déconnecter et de se connecter à un autre utilisateur lors d'un test avec Authlogic?Authlogic: connexion deux fois sur le même test
Le cas de test suivant ne vient
class MessagesControllerTest < ActionController::TestCase
setup :activate_authlogic
should "sender send a message and recipient delete it" do
@sender = Factory(:user, :login => 'sender')
@recipient = Factory(:user, :login => 'recipient')
UserSession.create(@sender)
post :create, :user_id => @recipient.id, :message => Factory.attributes_for(:message)
assert_equal @sender, assigns(:current_user)
UserSession.create(@recipient)
post :destroy, :user_id => @recipient.id, :message => @message
assert_equal @recipient, assigns(:current_user)
end
end
Ce qui est fou est que params session de demande ... ok regarder
# UserSession.create(@sender)
"user_credentials"=> "605a73e0f1b4dcecf5495d549b9d33eb6d3197f3a1fdb033c86bca456a0a0c75a42b63c924edb5d071f6d748aea3870f312a908eb501e6814c69abdab9bbf387",
"user_credentials_id"=>1
# UserSession.create(@recipient)
"user_credentials"=> "e14363b2065b7202e766205e807d6b531e230a136c70ea13c0853c7c0f275fb95f0185b9f17a934483cadda693e50956d1bfda8c820895f574a06861479af18c",
"flash"=>{:notice=>"Message was successfully created."},
"user_credentials_id"=>2
échoue toujours ...: S il y a beaucoup de problèmes ici, d'abord Factory (: user) est automatiquement connecté à l'utilisateur, donc 'UserSession.create (@sender)' est inutile. La seconde est la façon dont l'authentification se fonde sur la demande, la première fonctionne mais pas la seconde. – knoopx
En y jetant un second coup d'œil, cela devrait être un test d'intégration et non fonctionnel. Vous n'auriez pas ce problème dans un test d'intégration si vous simulez tout le processus de connexion/déconnexion en tant que demandes. Un test élémentaire fonctionnel ne doit contenir qu'une seule requête imo. – Leventix