File tree Expand file tree Collapse file tree 2 files changed +25
-0
lines changed
test/unit/jsonapi_request Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -309,6 +309,7 @@ def parse_fields(resource_klass, fields)
309
309
if type_resource . nil?
310
310
fail JSONAPI ::Exceptions ::InvalidResource . new ( type , error_object_overrides )
311
311
else
312
+ verify_type ( type , type_resource )
312
313
unless values . nil?
313
314
valid_fields = type_resource . fields . collect { |key | format_key ( key ) }
314
315
values . each do |field |
Original file line number Diff line number Diff line change @@ -171,6 +171,30 @@ def test_parse_dasherized_with_underscored_include
171
171
assert_equal 'iso_currency is not a valid includable relationship of expense-entries' , request . errors [ 0 ] . detail
172
172
end
173
173
174
+ def test_parse_fields_singular
175
+ params = ActionController ::Parameters . new (
176
+ {
177
+ controller : 'expense_entries' ,
178
+ action : 'index' ,
179
+ fields : { expense_entry : 'iso_currency' }
180
+ }
181
+ )
182
+
183
+ request = JSONAPI ::Request . new (
184
+ params ,
185
+ {
186
+ context : nil ,
187
+ key_formatter : JSONAPI ::Formatter . formatter_for ( :underscored_key )
188
+ }
189
+ )
190
+
191
+ e = assert_raises JSONAPI ::Exceptions ::InvalidResource do
192
+ request . parse_fields ( ExpenseEntryResource , params [ :fields ] )
193
+ end
194
+ refute e . errors . empty?
195
+ assert_equal 'expense_entry is not a valid resource.' , e . errors [ 0 ] . detail
196
+ end
197
+
174
198
def test_parse_fields_underscored
175
199
params = ActionController ::Parameters . new (
176
200
{
You can’t perform that action at this time.
0 commit comments