@@ -28,6 +28,11 @@ def mock_request(query_parameters={}, original_url=URI)
28
28
@options [ :context ] = context
29
29
end
30
30
31
+ def load_adapter ( paginated_collection , options = { } )
32
+ options = options . merge ( adapter : :json_api )
33
+ ActiveModel ::SerializableResource . new ( paginated_collection , options )
34
+ end
35
+
31
36
def using_kaminari
32
37
Kaminari . paginate_array ( @array ) . page ( 2 ) . per ( 1 )
33
38
end
@@ -77,33 +82,29 @@ def expected_response_with_pagination_links_and_additional_params
77
82
end
78
83
79
84
def test_pagination_links_using_kaminari
80
- serializer = ArraySerializer . new ( using_kaminari )
81
- adapter = ActiveModel ::Serializer ::Adapter ::JsonApi . new ( serializer )
85
+ adapter = load_adapter ( using_kaminari )
82
86
83
87
mock_request
84
88
assert_equal expected_response_with_pagination_links , adapter . serializable_hash ( @options )
85
89
end
86
90
87
91
def test_pagination_links_using_will_paginate
88
- serializer = ArraySerializer . new ( using_will_paginate )
89
- adapter = ActiveModel ::Serializer ::Adapter ::JsonApi . new ( serializer )
92
+ adapter = load_adapter ( using_will_paginate )
90
93
91
94
mock_request
92
95
assert_equal expected_response_with_pagination_links , adapter . serializable_hash ( @options )
93
96
end
94
97
95
98
def test_pagination_links_with_additional_params
96
- serializer = ArraySerializer . new ( using_will_paginate )
97
- adapter = ActiveModel ::Serializer ::Adapter ::JsonApi . new ( serializer )
99
+ adapter = load_adapter ( using_will_paginate )
98
100
99
101
mock_request ( { test : 'test' } )
100
102
assert_equal expected_response_with_pagination_links_and_additional_params ,
101
103
adapter . serializable_hash ( @options )
102
104
end
103
105
104
106
def test_not_showing_pagination_links
105
- serializer = ArraySerializer . new ( @array )
106
- adapter = ActiveModel ::Serializer ::Adapter ::JsonApi . new ( serializer )
107
+ adapter = load_adapter ( @array )
107
108
108
109
assert_equal expected_response_without_pagination_links , adapter . serializable_hash
109
110
end
0 commit comments