@@ -12,84 +12,51 @@ def setup
1212 end
1313
1414 def test_links_is_present_with_root
15- serializer = AlternateBlogSerializer . new ( @blog , :links => { " self" => "/blogs/1" } )
16- adapter = ActiveModel ::Serializer ::Adapter ::Json . new ( serializer )
15+ serializer = AlternateBlogSerializer . new ( @blog , :links => { : self => "/blogs/1" } )
16+ adapter = ActiveModel ::Serializer ::Adapter ::JsonApi . new ( serializer )
1717 expected = {
18- blog : {
19- id : 1 ,
20- title : "AMS Hints"
18+ data : {
19+ id : "1" ,
20+ type : "blogs" ,
21+ attributes : {
22+ title : "AMS Hints"
23+ }
2124 } ,
22- " links" => {
23- " self" => "/blogs/1"
25+ links : {
26+ self : "/blogs/1"
2427 }
2528 }
2629 assert_equal expected , adapter . as_json
2730 end
2831
29- def test_links_is_not_included_when_root_is_missing
30- # load_adapter uses FlattenJson Adapter
31- adapter = load_adapter ( links : { "self" => "/blogs/1" } )
32+ def test_links_is_not_present_when_not_declared
33+ serializer = AlternateBlogSerializer . new ( @blog )
34+ adapter = ActiveModel :: Serializer :: Adapter :: JsonApi . new ( serializer )
3235 expected = {
33- id : 1 ,
34- title : "AMS Hints"
36+ data : {
37+ id : "1" ,
38+ type : "blogs" ,
39+ attributes : {
40+ title : "AMS Hints"
41+ }
42+ }
3543 }
3644 assert_equal expected , adapter . as_json
3745 end
3846
39- def test_links_is_not_present_on_arrays_without_root
40- serializer = ArraySerializer . new ( [ @blog ] , links : { "self" => "/blogs/1" } )
41- # FlattenJSON doesn't have support to root
47+ def test_links_is_not_present_on_flattenjson_adapter
48+ serializer = AlternateBlogSerializer . new ( @blog , :links => { :self => "/blogs/1" } )
4249 adapter = ActiveModel ::Serializer ::Adapter ::FlattenJson . new ( serializer )
43- expected = [ {
44- id : 1 ,
45- name : "AMS Hints" ,
46- writer : {
47- id : 2 ,
48- name : "Steve"
49- } ,
50- articles : [ {
51- id : 3 ,
52- title : "AMS" ,
53- body : nil
54- } ]
55- } ]
50+ expected = { :id => 1 , :title => "AMS Hints" }
5651 assert_equal expected , adapter . as_json
5752 end
5853
59- def test_links_is_present_on_arrays_with_root
60- serializer = ArraySerializer . new ( [ @blog ] , links : { "self" => "/blogs/1" } )
61- # JSON adapter adds root by default
54+ def test_links_is_not_present_on_json_adapter
55+ serializer = AlternateBlogSerializer . new ( @blog , :links => { :self => "/blogs/1" } )
6256 adapter = ActiveModel ::Serializer ::Adapter ::Json . new ( serializer )
63- expected = {
64- blogs : [ {
65- id : 1 ,
66- name : "AMS Hints" ,
67- writer : {
68- id : 2 ,
69- name : "Steve"
70- } ,
71- articles : [ {
72- id : 3 ,
73- title : "AMS" ,
74- body : nil
75- } ]
76- } ] ,
77- "links" => {
78- "self" => "/blogs/1"
79- }
80- }
57+ expected = { :blog => { :id => 1 , :title => "AMS Hints" } }
8158 assert_equal expected , adapter . as_json
8259 end
83-
84- private
85-
86- def load_adapter ( options )
87- adapter_opts , serializer_opts =
88- options . partition { |k , _ | ActionController ::Serialization ::ADAPTER_OPTION_KEYS . include? k } . map { |h | Hash [ h ] }
89-
90- serializer = AlternateBlogSerializer . new ( @blog , serializer_opts )
91- ActiveModel ::Serializer ::Adapter ::FlattenJson . new ( serializer , adapter_opts )
92- end
9360 end
9461 end
9562end
0 commit comments