mirror of
https://github.com/heartcombo/devise.git
synced 2026-04-06 03:01:21 -04:00
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:
35
test/controllers/custom_registrations_controller_test.rb
Normal file
35
test/controllers/custom_registrations_controller_test.rb
Normal 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
|
||||
Reference in New Issue
Block a user