aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller/api/params_wrapper_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/test/controller/api/params_wrapper_test.rb')
-rw-r--r--actionpack/test/controller/api/params_wrapper_test.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/actionpack/test/controller/api/params_wrapper_test.rb b/actionpack/test/controller/api/params_wrapper_test.rb
new file mode 100644
index 0000000000..a1da852040
--- /dev/null
+++ b/actionpack/test/controller/api/params_wrapper_test.rb
@@ -0,0 +1,26 @@
+require "abstract_unit"
+
+class ParamsWrapperForApiTest < ActionController::TestCase
+ class UsersController < ActionController::API
+ attr_accessor :last_parameters
+
+ wrap_parameters :person, format: [:json]
+
+ def test
+ self.last_parameters = params.except(:controller, :action).to_unsafe_h
+ head :ok
+ end
+ end
+
+ class Person; end
+
+ tests UsersController
+
+ def test_specify_wrapper_name
+ @request.env["CONTENT_TYPE"] = "application/json"
+ post :test, params: { "username" => "sikachu" }
+
+ expected = { "username" => "sikachu", "person" => { "username" => "sikachu" } }
+ assert_equal expected, @controller.last_parameters
+ end
+end