Namespace
Methods
T
Included Modules
Instance Public methods
teardown()
# File actionpack/test/controller/params_wrapper_test.rb, line 45
def teardown
  UsersController.last_parameters = nil
end
test_derived_name_from_controller()
# File actionpack/test/controller/params_wrapper_test.rb, line 57
def test_derived_name_from_controller
  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, params: { 'username' => 'sikachu' }
    assert_parameters({ 'username' => 'sikachu', 'user' => { 'username' => 'sikachu' }})
  end
end
test_derived_wrapped_keys_from_matching_model()
# File actionpack/test/controller/params_wrapper_test.rb, line 166
def test_derived_wrapped_keys_from_matching_model
  assert_called(User, :attribute_names, times: 2, returns: ["username"]) do
    with_default_wrapper_options do
      @request.env['CONTENT_TYPE'] = 'application/json'
      post :parse, params: { 'username' => 'sikachu', 'title' => 'Developer' }
      assert_parameters({ 'username' => 'sikachu', 'title' => 'Developer', 'user' => { 'username' => 'sikachu' }})
    end
  end
end
test_derived_wrapped_keys_from_specified_model()
# File actionpack/test/controller/params_wrapper_test.rb, line 176
def test_derived_wrapped_keys_from_specified_model
  with_default_wrapper_options do
    assert_called(Person, :attribute_names, times: 2, returns: ["username"]) do
      UsersController.wrap_parameters Person

      @request.env['CONTENT_TYPE'] = 'application/json'
      post :parse, params: { 'username' => 'sikachu', 'title' => 'Developer' }
      assert_parameters({ 'username' => 'sikachu', 'title' => 'Developer', 'person' => { 'username' => 'sikachu' }})
    end
  end
end
test_empty_parameter_set()
# File actionpack/test/controller/params_wrapper_test.rb, line 206
def test_empty_parameter_set
  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, params: {}
    assert_parameters(
      {'user' => { } }
    )
  end
end
test_filtered_parameters()
# File actionpack/test/controller/params_wrapper_test.rb, line 49
def test_filtered_parameters
  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, params: { 'username' => 'sikachu' }
    assert_equal @request.filtered_parameters, { 'controller' => 'params_wrapper_test/users', 'action' => 'parse', 'username' => 'sikachu', 'user' => { 'username' => 'sikachu' } }
  end
end
test_nested_params()
# File actionpack/test/controller/params_wrapper_test.rb, line 158
def test_nested_params
  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, params: { 'person' => { 'username' => 'sikachu' }}
    assert_parameters({ 'person' => { 'username' => 'sikachu' }, 'user' => {'person' => { 'username' => 'sikachu' }}})
  end
end
test_no_double_wrap_if_key_exists()
# File actionpack/test/controller/params_wrapper_test.rb, line 150
def test_no_double_wrap_if_key_exists
  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, params: { 'user' => { 'username' => 'sikachu' }}
    assert_parameters({ 'user' => { 'username' => 'sikachu' }})
  end
end
test_not_enabled_format()
# File actionpack/test/controller/params_wrapper_test.rb, line 115
def test_not_enabled_format
  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/xml'
    post :parse, params: { 'username' => 'sikachu', 'title' => 'Developer' }
    assert_parameters({ 'username' => 'sikachu', 'title' => 'Developer' })
  end
end
test_not_wrap_reserved_parameters()
# File actionpack/test/controller/params_wrapper_test.rb, line 142
def test_not_wrap_reserved_parameters
  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, params: { 'authenticity_token' => 'pwned', '_method' => 'put', 'utf8' => '☃', 'username' => 'sikachu' }
    assert_parameters({ 'authenticity_token' => 'pwned', '_method' => 'put', 'utf8' => '☃', 'username' => 'sikachu', 'user' => { 'username' => 'sikachu' }})
  end
end
test_not_wrapping_abstract_model()
# File actionpack/test/controller/params_wrapper_test.rb, line 188
def test_not_wrapping_abstract_model
  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, params: { 'username' => 'sikachu', 'title' => 'Developer' }
    assert_parameters({ 'username' => 'sikachu', 'title' => 'Developer', 'user' => { 'username' => 'sikachu', 'title' => 'Developer' }})
  end
end
test_preserves_query_string_params()
# File actionpack/test/controller/params_wrapper_test.rb, line 196
def test_preserves_query_string_params
  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/json'
    get :parse, params: { 'user' => { 'username' => 'nixon' } }
    assert_parameters(
      {'user' => { 'username' => 'nixon' } }
    )
  end
end
test_specify_both_wrapper_name_and_include_option()
# File actionpack/test/controller/params_wrapper_test.rb, line 105
def test_specify_both_wrapper_name_and_include_option
  with_default_wrapper_options do
    UsersController.wrap_parameters :person, :include => :username

    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, params: { 'username' => 'sikachu', 'title' => 'Developer' }
    assert_parameters({ 'username' => 'sikachu', 'title' => 'Developer', 'person' => { 'username' => 'sikachu' }})
  end
end
test_specify_exclude_option()
# File actionpack/test/controller/params_wrapper_test.rb, line 95
def test_specify_exclude_option
  with_default_wrapper_options do
    UsersController.wrap_parameters :exclude => :title

    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, params: { 'username' => 'sikachu', 'title' => 'Developer' }
    assert_parameters({ 'username' => 'sikachu', 'title' => 'Developer', 'user' => { 'username' => 'sikachu' }})
  end
end
test_specify_format()
# File actionpack/test/controller/params_wrapper_test.rb, line 132
def test_specify_format
  with_default_wrapper_options do
    UsersController.wrap_parameters :format => :xml

    @request.env['CONTENT_TYPE'] = 'application/xml'
    post :parse, params: { 'username' => 'sikachu', 'title' => 'Developer' }
    assert_parameters({ 'username' => 'sikachu', 'title' => 'Developer', 'user' => { 'username' => 'sikachu', 'title' => 'Developer' }})
  end
end
test_specify_include_option()
# File actionpack/test/controller/params_wrapper_test.rb, line 85
def test_specify_include_option
  with_default_wrapper_options do
    UsersController.wrap_parameters :include => :username

    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, params: { 'username' => 'sikachu', 'title' => 'Developer' }
    assert_parameters({ 'username' => 'sikachu', 'title' => 'Developer', 'user' => { 'username' => 'sikachu' }})
  end
end
test_specify_wrapper_model()
# File actionpack/test/controller/params_wrapper_test.rb, line 75
def test_specify_wrapper_model
  with_default_wrapper_options do
    UsersController.wrap_parameters Person

    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, params: { 'username' => 'sikachu' }
    assert_parameters({ 'username' => 'sikachu', 'person' => { 'username' => 'sikachu' }})
  end
end
test_specify_wrapper_name()
# File actionpack/test/controller/params_wrapper_test.rb, line 65
def test_specify_wrapper_name
  with_default_wrapper_options do
    UsersController.wrap_parameters :person

    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, params: { 'username' => 'sikachu' }
    assert_parameters({ 'username' => 'sikachu', 'person' => { 'username' => 'sikachu' }})
  end
end
test_wrap_parameters_false()
# File actionpack/test/controller/params_wrapper_test.rb, line 123
def test_wrap_parameters_false
  with_default_wrapper_options do
    UsersController.wrap_parameters false
    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, params: { 'username' => 'sikachu', 'title' => 'Developer' }
    assert_parameters({ 'username' => 'sikachu', 'title' => 'Developer' })
  end
end