2016-08-06 12:54:50 -04:00
|
|
|
require "abstract_unit"
|
|
|
|
require "action_controller/metal/strong_parameters"
|
2014-06-27 16:08:40 -04:00
|
|
|
|
|
|
|
class AlwaysPermittedParametersTest < ActiveSupport::TestCase
|
|
|
|
def setup
|
|
|
|
ActionController::Parameters.action_on_unpermitted_parameters = :raise
|
|
|
|
ActionController::Parameters.always_permitted_parameters = %w( controller action format )
|
|
|
|
end
|
|
|
|
|
|
|
|
def teardown
|
|
|
|
ActionController::Parameters.action_on_unpermitted_parameters = false
|
|
|
|
ActionController::Parameters.always_permitted_parameters = %w( controller action )
|
|
|
|
end
|
|
|
|
|
2015-03-27 02:41:05 -04:00
|
|
|
test "returns super on missing constant other than NEVER_UNPERMITTED_PARAMS" do
|
|
|
|
ActionController::Parameters.superclass.stub :const_missing, "super" do
|
|
|
|
assert_equal "super", ActionController::Parameters::NON_EXISTING_CONSTANT
|
2014-06-27 16:08:40 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
test "permits parameters that are whitelisted" do
|
2016-08-09 17:36:39 -04:00
|
|
|
params = ActionController::Parameters.new(
|
|
|
|
book: { pages: 65 },
|
2016-08-06 13:44:11 -04:00
|
|
|
format: "json")
|
2014-06-27 16:08:40 -04:00
|
|
|
permitted = params.permit book: [:pages]
|
|
|
|
assert permitted.permitted?
|
|
|
|
end
|
|
|
|
end
|