En essayant de tester mon succès crée un nouvel utilisateur après la connexion (en utilisant authlogic). J'ai ajouté quelques nouveaux champs à l'utilisateur, donc je veux juste m'assurer que l'utilisateur est enregistré correctement. Le problème est en dépit de la création d'une fabrique d'utilisateurs valide, chaque fois que j'essaye d'attraper ses attributs pour écrire à la méthode de création, le mot de passe et la confirmation de mot de passe sont omis. Je présume que c'est une méthode de sécurité qu'authlogic effectue en arrière-plan. Cela entraîne l'échec des validations et l'échec du test.Authlogic et mot de passe et mot de passe de confirmation des attributs - inaccessible?
Je me demande comment contourner ce problème? Je pourrais juste taper les attributs à la main mais cela ne semble pas très sec.
context "on POST to :create" do
context "on posting a valid user" do
setup do
@user = Factory.build(:user)
post :create, :user => @user.attributes
end
should "be valid" do
assert @user.valid?
end
should_redirect_to("users sentences index page") { sentences_path() }
should "add user to the db" do
assert User.find_by_username(@user.username)
end
end
##User factory
Factory.define :user do |f|
f.username {Factory.next(:username) }
f.email { Factory.next(:email)}
f.password_confirmation "password"
f.password "password"
f.native_language {|nl| nl.association(:language)}
f.second_language {|nl| nl.association(:language)}
end
merci de confirmer cela pour moi. mal juste les fusionner avec les attributs hash. Merci. – robodisco