Ensure registration controller block yields happen on failure in addition to success and closes #2936.

Now with 100% more unit tests.
This commit is contained in:
Daniel Pehrson
2014-03-21 10:27:23 -04:00
parent d439bc409c
commit ce3ead6b5f
4 changed files with 65 additions and 4 deletions

View File

@@ -0,0 +1,35 @@
require 'test_helper'
class CustomRegistrationsControllerTest < ActionController::TestCase
tests Custom::RegistrationsController
include Devise::TestHelpers
setup do
request.env["devise.mapping"] = Devise.mappings[:user]
@password = 'password'
@user = create_user(password: @password, password_confirmation: @password).tap(&:confirm!)
end
test "yield resource to block on create success" do
post :create, {user: {:email => "user@example.org", :password => "password", :password_confirmation => "password"}}
assert @controller.create_block_called?, "create failed to yield resource to provided block"
end
test "yield resource to block on create failure" do
post :create, {user: {}}
assert @controller.create_block_called?, "create failed to yield resource to provided block"
end
test "yield resource to block on update success" do
sign_in @user
put :update, {user: {current_password: @password}}
assert @controller.update_block_called?, "update failed to yield resource to provided block"
end
test "yield resource to block on update failure" do
sign_in @user
put :update, {user: {}}
assert @controller.update_block_called?, "update failed to yield resource to provided block"
end
end