Forum: Rails France Tests avec Restful Authentication

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
4f81c4625f783336298267bb2dcfc8e3?d=identicon&s=25 Tranquiliste (Guest)
on 2008-11-13 18:36
(Received via mailing list)
Bonjour,

Je me remet aux tests et je réactive ce post qui a plus de 60
jours :http://groups.google.com/group/railsfrance/browse_...
b90fa16bda22794d/77b84263bee2f415?
lnk=gst&q=integration#77b84263bee2f415

Michel Belleville m'avait répondu mais en relisant je réalise que je
ne comprends pas sa réponse.

En résumé :
J'utilise Restful_autentication et sa méthode current_user
exemple :     @role = Role.new(:user_id =>
current_user.id, :role_type_id => Role::ADMIN, :validated => true )

Cela marche très bien, mais quand je veux mettre en place mes tests il
y a une erreur à cette ligne pour current_user (voir le post précédent
pour la trace conplète). Le code de mes tests est :
    post buildings_path, {:building => {:name => "test"},
                          :address => {:number => '1', :way => '19',
                                       :address1 => "", :address2 =>
"", :address3 => "",
                                       :zipcode => "", :city => "" },
                          :country => {:id => '67'},
                          :live_here => ""
                          },
                          {:user_id => users(:admin_crussol).id}
    assert :success
    assert_select("div", "#{MessagesLoad.custom_message
(:error_a_city)}")

Outre le fait que je ne comprends pas la réponse de Michel, ne trouvez
vous pas bizarre que je sois obligé de modifier un code qui marche
pour faire fonctionner des tests?
Comment font ceux qui utilisent Restful_authentication?

Merci de votre aide
Nicolas
E8ea895a56fb370bd3f678f774fe290a?d=identicon&s=25 Julien Biard (brasco)
on 2008-11-13 18:51
(Received via mailing list)
Tranquiliste wrote:
> En résumé :
> "", :address3 => "",
> vous pas bizarre que je sois obligé de modifier un code qui marche
> pour faire fonctionner des tests?
> Comment font ceux qui utilisent Restful_authentication?
>
> Merci de votre aide
> Nicolas
> >

avec restful_auth tu as normalement des tests générés et des helpers qui
peuvent t'aider.
sinon personnelemen,t, j'utilise le helper :

login_as :symbole_du_user

qui fait référence à la fixture de ton user correspondant, et permet le
remplissage en session de user_id, valeur lue par current_user.

en espéarant que ça puisse t'aider...
4f81c4625f783336298267bb2dcfc8e3?d=identicon&s=25 Tranquiliste (Guest)
on 2008-11-13 19:00
(Received via mailing list)
Merci de ta réponse en fait j'ai découvert login_as après avoir
démarré l'écriture de mes tests et je remplis mes valeur de session
dans le "post"  avec {:user_id => users(:admin_crussol).id}
mais même avec login_as j'ai l'erreur.

Mais pour toi ça marche? et dans ton controlleur tu utilises la
méthode current_user de la même façon que moi?
E8ea895a56fb370bd3f678f774fe290a?d=identicon&s=25 Julien Biard (brasco)
on 2008-11-13 19:15
(Received via mailing list)
Tranquiliste wrote:
> Merci de ta réponse en fait j'ai découvert login_as après avoir
> démarré l'écriture de mes tests et je remplis mes valeur de session
> dans le "post"  avec {:user_id => users(:admin_crussol).id}
> mais même avec login_as j'ai l'erreur.
>
> Mais pour toi ça marche? et dans ton controlleur tu utilises la
> méthode current_user de la même façon que moi?
> >

as-tu mis en before filter login_required ?

en fait, je n'utilise pas directement current_user, car dans
authenticated_system, la lib générée par restful_auth, current_user
retourne :false s'il n'y a pas de user_id dans la session (ceci n'est
plus le cas depuis la version pour RoR 2).
4f81c4625f783336298267bb2dcfc8e3?d=identicon&s=25 Tranquiliste (Guest)
on 2008-11-13 19:32
(Received via mailing list)
En fait je crois que je viens de trouver mon erreur grace à toi (et
Michel Belleville l'avait déjà suggéré), current_user n'est pas
initialisé dans cette action mais dans une action qui précède et donc
quand dans mes tests je l'appelais en direct, ça plantait.

Mon erreur a été de croire que parce que ça marchait en réél ça devait
marcher avec les tests automatiques alors que en fait cela voulait
simplement dire que mes tests réels n'étaient pas complet (d'ou
l'importance d'écrire les tests)

En tout cas merci de ton aide

Nicolas
047a4fc673336a70a6b58338bc6d677d?d=identicon&s=25 Michel Belleville (Guest)
on 2008-11-13 21:14
(Received via mailing list)
Désolé d'avoir été un chouilla mou à la détente, je ne me rappelais plus
où
tout ça avait commencé.

Heureux de savoir que tu as pu débloquer ton soucis.

Bonne soirée.

--
Michel Belleville
This topic is locked and can not be replied to.