blob: fa94209889ee32409ac5f9891dd121b36e7d22c4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
require 'helper'
require 'jobs/gid_job'
require 'jobs/hello_job'
require 'models/person'
require 'json'
class JobSerializationTest < ActiveSupport::TestCase
setup do
JobBuffer.clear
@person = Person.find(5)
end
test 'serialize job with gid' do
GidJob.perform_later @person
assert_equal "Person with ID: 5", JobBuffer.last_value
end
test 'serialize includes current locale' do
assert_equal 'en', HelloJob.new.serialize['locale']
end
test 'serialize and deserialize are symmetric' do
# Round trip a job in memory only
h1 = HelloJob.new
h1.deserialize(h1.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
end
test 'deserialize sets locale' do
job = HelloJob.new
job.deserialize 'locale' => 'es'
assert_equal 'es', job.locale
end
test 'deserialize sets default locale' do
job = HelloJob.new
job.deserialize({})
assert_equal 'en', job.locale
end
end
|