@@ -17,26 +17,27 @@ def setup
17
17
@first_post . blog = @blog
18
18
@second_post . blog = nil
19
19
20
- @serializer = ArraySerializer . new ( [ @first_post , @second_post ] )
21
- @adapter = ActiveModel ::Serializer ::Adapter ::Json . new ( @serializer )
22
20
ActionController ::Base . cache_store . clear
23
21
end
24
22
25
23
def test_with_serializer_option
26
24
@blog . special_attribute = "Special"
27
25
@blog . articles = [ @first_post , @second_post ]
28
- @ serializer = ArraySerializer . new ( [ @blog ] , serializer : CustomBlogSerializer )
29
- @ adapter = ActiveModel ::Serializer ::Adapter ::Json . new ( @ serializer)
26
+ serializer = ArraySerializer . new ( [ @blog ] , serializer : CustomBlogSerializer )
27
+ adapter = ActiveModel ::Serializer ::Adapter ::Json . new ( serializer )
30
28
31
29
expected = { blogs :[ {
32
30
id : 1 ,
33
31
special_attribute : "Special" ,
34
32
articles : [ { id : 1 , title : "Hello!!" , body : "Hello, world!!" } , { id : 2 , title : "New Post" , body : "Body" } ]
35
33
} ] }
36
- assert_equal expected , @ adapter. serializable_hash
34
+ assert_equal expected , adapter . serializable_hash
37
35
end
38
36
39
37
def test_include_multiple_posts
38
+ serializer = ArraySerializer . new ( [ @first_post , @second_post ] )
39
+ adapter = ActiveModel ::Serializer ::Adapter ::Json . new ( serializer )
40
+
40
41
expected = { posts : [ {
41
42
title : "Hello!!" ,
42
43
body : "Hello, world!!" ,
@@ -64,7 +65,15 @@ def test_include_multiple_posts
64
65
name : "Custom blog"
65
66
}
66
67
} ] }
67
- assert_equal expected , @adapter . serializable_hash
68
+ assert_equal expected , adapter . serializable_hash
69
+ end
70
+
71
+ def test_root_is_underscored
72
+ virtual_value = VirtualValue . new ( id : 1 )
73
+ serializer = ArraySerializer . new ( [ virtual_value ] )
74
+ adapter = ActiveModel ::Serializer ::Adapter ::Json . new ( serializer )
75
+
76
+ assert_equal 1 , adapter . serializable_hash [ :virtual_values ] . length
68
77
end
69
78
end
70
79
end
0 commit comments