Mon contrôle UsersControllerTest échoue actuellement car j'utilise verify_recaptcha dans UsersController # create. Comment puis-je écrire mes tests de manière à ce qu'une bonne réponse CAPTCHA soit passée avec params [: user]? J'utilise reCAPTCHA, mais je suppose que la question s'appliquerait à n'importe quelle implémentation de CAPTCHA.Test fonctionnel Rails en utilisant Recaptcha
Voici mon UtilisateursController # créer
def create
@user = User.new(params[:user])
if verify_recaptcha(@user) && @user.save
flash[:notice] = "Account registered!"
redirect_to new_order_url
else
flash.now[:error] = "Account not registered!"
render :action => :new
end
end
et voici mon test fonctionnel
test "should create user" do
assert_difference('User.count') do
post :create, :user => { :login => "jdoe",
:password => "secret",
:password_confirmation => "secret",
:first_name => 'john',
:last_name => 'doe',
:address1 => '123 Main St.',
:city => 'Anytown',
:state => 'XY',
:zip => '99999',
:country => 'United States',
:email => '[email protected]' }
end
end
Ce test échoue comme suit
4) Failure:
test_should_create_user(UsersControllerTest)
[(eval):3:in `each_with_index'
/test/functional/users_controller_test.rb:15:in `test_should_create_user']:
"User.count" didn't change by 1.
<3> expected but was
<2>.