提交 702ef377 编写于 作者: M Mike Perham

Job payload should be symmetric across JSON dump/load

Placing non-native JSON data types, like symbols, in the hash to serialize means that the deserialize method will return something different from what was serialized, a common bug and source of frustration for devs.
上级 5cd2beb0
...@@ -79,7 +79,7 @@ def serialize ...@@ -79,7 +79,7 @@ def serialize
'queue_name' => queue_name, 'queue_name' => queue_name,
'priority' => priority, 'priority' => priority,
'arguments' => serialize_arguments(arguments), 'arguments' => serialize_arguments(arguments),
'locale' => I18n.locale 'locale' => I18n.locale.to_s
} }
end end
......
...@@ -15,13 +15,13 @@ class JobSerializationTest < ActiveSupport::TestCase ...@@ -15,13 +15,13 @@ class JobSerializationTest < ActiveSupport::TestCase
end end
test 'serialize includes current locale' do test 'serialize includes current locale' do
assert_equal :en, HelloJob.new.serialize['locale'] assert_equal 'en', HelloJob.new.serialize['locale']
end end
test 'deserialize sets locale' do test 'deserialize sets locale' do
job = HelloJob.new job = HelloJob.new
job.deserialize 'locale' => :es job.deserialize 'locale' => 'es'
assert_equal :es, job.locale assert_equal 'es', job.locale
end end
test 'deserialize sets default locale' do test 'deserialize sets default locale' do
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册