aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/test
diff options
context:
space:
mode:
authorBernie Chiu <bernie@shoplineapp.com>2018-10-05 15:26:02 +0800
committerRafael Mendonça França <rafaelmfranca@gmail.com>2018-11-19 17:38:29 -0500
commit945fdd76925c9f615bf016717c4c8db2b2955357 (patch)
tree1b628cd8aad89c3fa444862266309149dda02bad /activejob/test
parentdf9dd4801b3c8a781d53680a3f5ec7dd0f7515e3 (diff)
downloadrails-945fdd76925c9f615bf016717c4c8db2b2955357.tar.gz
rails-945fdd76925c9f615bf016717c4c8db2b2955357.tar.bz2
rails-945fdd76925c9f615bf016717c4c8db2b2955357.zip
Permit ActionController::Parameters for serializable Hash
Diffstat (limited to 'activejob/test')
-rw-r--r--activejob/test/cases/argument_serialization_test.rb10
-rw-r--r--activejob/test/support/stubs/strong_parameters.rb15
2 files changed, 25 insertions, 0 deletions
diff --git a/activejob/test/cases/argument_serialization_test.rb b/activejob/test/cases/argument_serialization_test.rb
index 8b2981926f..e4e14016d9 100644
--- a/activejob/test/cases/argument_serialization_test.rb
+++ b/activejob/test/cases/argument_serialization_test.rb
@@ -5,6 +5,7 @@ require "active_job/arguments"
require "models/person"
require "active_support/core_ext/hash/indifferent_access"
require "jobs/kwargs_job"
+require "support/stubs/strong_parameters"
class ArgumentSerializationTest < ActiveSupport::TestCase
setup do
@@ -49,6 +50,15 @@ class ArgumentSerializationTest < ActiveSupport::TestCase
assert_arguments_roundtrip([a: 1, "b" => 2])
end
+ test "serialize a ActionController::Parameters" do
+ parameters = Parameters.new(a: 1)
+
+ assert_equal(
+ { "a" => 1, "_aj_hash_with_indifferent_access" => true },
+ ActiveJob::Arguments.serialize([parameters]).first
+ )
+ end
+
test "serialize a hash" do
symbol_key = { a: 1 }
string_key = { "a" => 1 }
diff --git a/activejob/test/support/stubs/strong_parameters.rb b/activejob/test/support/stubs/strong_parameters.rb
new file mode 100644
index 0000000000..acba3a4504
--- /dev/null
+++ b/activejob/test/support/stubs/strong_parameters.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class Parameters
+ def initialize(parameters = {})
+ @parameters = parameters.with_indifferent_access
+ end
+
+ def permitted?
+ true
+ end
+
+ def to_h
+ @parameters.to_h
+ end
+end