Namespace
Methods
T
Included Modules
Instance Public methods
teardown()
# File actionpack/test/controller/params_wrapper_test.rb, line 36
def teardown
  UsersController.last_parameters = nil
end
test_derived_name_from_controller()
# File actionpack/test/controller/params_wrapper_test.rb, line 48
def test_derived_name_from_controller
  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, { '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 157
def test_derived_wrapped_keys_from_matching_model
  User.expects(:respond_to?).with(:attribute_names).returns(true)
  User.expects(:attribute_names).twice.returns(["username"])

  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, { 'username' => 'sikachu', 'title' => 'Developer' }
    assert_parameters({ 'username' => 'sikachu', 'title' => 'Developer', 'user' => { 'username' => 'sikachu' }})
  end
end
test_derived_wrapped_keys_from_specified_model()
# File actionpack/test/controller/params_wrapper_test.rb, line 168
def test_derived_wrapped_keys_from_specified_model
  with_default_wrapper_options do
    Person.expects(:respond_to?).with(:attribute_names).returns(true)
    Person.expects(:attribute_names).twice.returns(["username"])

    UsersController.wrap_parameters Person

    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, { 'username' => 'sikachu', 'title' => 'Developer' }
    assert_parameters({ 'username' => 'sikachu', 'title' => 'Developer', 'person' => { 'username' => 'sikachu' }})
  end
end
test_empty_parameter_set()
# File actionpack/test/controller/params_wrapper_test.rb, line 202
def test_empty_parameter_set
  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, {}
    assert_parameters(
      {'user' => { } }
    )
  end
end
test_filtered_parameters()
# File actionpack/test/controller/params_wrapper_test.rb, line 40
def test_filtered_parameters
  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, { '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 149
def test_nested_params
  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, { '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 141
def test_no_double_wrap_if_key_exists
  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, { 'user' => { 'username' => 'sikachu' }}
    assert_parameters({ 'user' => { 'username' => 'sikachu' }})
  end
end
test_not_enabled_format()
# File actionpack/test/controller/params_wrapper_test.rb, line 106
def test_not_enabled_format
  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/xml'
    post :parse, { '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 133
def test_not_wrap_reserved_parameters
  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, { '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 181
def test_not_wrapping_abstract_model
  User.expects(:respond_to?).with(:attribute_names).returns(true)
  User.expects(:attribute_names).returns([])

  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, { '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 192
def test_preserves_query_string_params
  with_default_wrapper_options do
    @request.env['CONTENT_TYPE'] = 'application/json'
    get :parse, { '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 96
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, { '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 86
def test_specify_exclude_option
  with_default_wrapper_options do
    UsersController.wrap_parameters :exclude => :title

    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, { '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 123
def test_specify_format
  with_default_wrapper_options do
    UsersController.wrap_parameters :format => :xml

    @request.env['CONTENT_TYPE'] = 'application/xml'
    post :parse, { '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 76
def test_specify_include_option
  with_default_wrapper_options do
    UsersController.wrap_parameters :include => :username

    @request.env['CONTENT_TYPE'] = 'application/json'
    post :parse, { '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 66
def test_specify_wrapper_model
  with_default_wrapper_options do
    UsersController.wrap_parameters Person

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

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