blob: 66bc8155c87eddb27703034042efa759c47d2ab7 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
require 'abstract_unit'
require 'action_controller/metal/strong_parameters'
class ParametersDupTest < ActiveSupport::TestCase
setup do
ActionController::Parameters.permit_all_parameters = false
@params = ActionController::Parameters.new(
person: {
age: '32',
name: {
first: 'David',
last: 'Heinemeier Hansson'
},
addresses: [{city: 'Chicago', state: 'Illinois'}]
}
)
end
test "a duplicate maintains the original's permitted status" do
@params.permit!
dupped_params = @params.dup
assert dupped_params.permitted?
end
test "a duplicate maintains the original's parameters" do
@params.permit!
dupped_params = @params.dup
assert_equal @params.to_h, dupped_params.to_h
end
test "changes to a duplicate's parameters do not affect the original" do
dupped_params = @params.dup
dupped_params.delete(:person)
assert_not_equal @params, dupped_params
end
test "changes to a duplicate's permitted status do not affect the original" do
dupped_params = @params.dup
dupped_params.permit!
assert_not_equal @params, dupped_params
end
end
|