aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/test
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2018-05-01 13:33:50 -0400
committerRafael Mendonça França <rafaelmfranca@gmail.com>2018-05-01 13:33:50 -0400
commit5b9cd1a57992a47f323cefc9dd785a45468759b0 (patch)
tree662584a67ac1b6dd84abc54f3ba0dc10ac078f5e /activejob/test
parentac2bc00482c1cf47a57477edb6ab1426a3ba593c (diff)
downloadrails-5b9cd1a57992a47f323cefc9dd785a45468759b0.tar.gz
rails-5b9cd1a57992a47f323cefc9dd785a45468759b0.tar.bz2
rails-5b9cd1a57992a47f323cefc9dd785a45468759b0.zip
Make sure that when serialing an just deserialized job arguments are there
When a job was just deserialized `arguments` is `nil` and the serialized arguments are in the `@serialized_arguments` variable. If we try to serialize this job again the arguments are going to be `nil` instead of what was serialized. The test we had was not checking this case because it was deserializing the job in the same object that had the arguments. To fix this, when the `@serialized_arguments` are present we return it instead of the result of the `arguments` serialized.
Diffstat (limited to 'activejob/test')
-rw-r--r--activejob/test/cases/job_serialization_test.rb12
1 files changed, 6 insertions, 6 deletions
diff --git a/activejob/test/cases/job_serialization_test.rb b/activejob/test/cases/job_serialization_test.rb
index 5c9994508e..86f3651564 100644
--- a/activejob/test/cases/job_serialization_test.rb
+++ b/activejob/test/cases/job_serialization_test.rb
@@ -23,16 +23,16 @@ class JobSerializationTest < ActiveSupport::TestCase
test "serialize and deserialize are symmetric" do
# Round trip a job in memory only
- h1 = HelloJob.new
- h1.deserialize(h1.serialize)
+ h1 = HelloJob.new("Rafael")
+ h2 = HelloJob.deserialize(h1.serialize)
+ assert_equal h1.serialize, h2.serialize
# Now verify it's identical to a JSON round trip.
# We don't want any non-native JSON elements in the job hash,
# like symbols.
- payload = JSON.dump(h1.serialize)
- h2 = HelloJob.new
- h2.deserialize(JSON.load(payload))
- assert_equal h1.serialize, h2.serialize
+ payload = JSON.dump(h2.serialize)
+ h3 = HelloJob.deserialize(JSON.load(payload))
+ assert_equal h2.serialize, h3.serialize
end
test "deserialize sets locale" do