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)
309309 if type_resource . nil?
310310 fail JSONAPI ::Exceptions ::InvalidResource . new ( type , error_object_overrides )
311311 else
312+ verify_type ( type , type_resource )
312313 unless values . nil?
313314 valid_fields = type_resource . fields . collect { |key | format_key ( key ) }
314315 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
171171 assert_equal 'iso_currency is not a valid includable relationship of expense-entries' , request . errors [ 0 ] . detail
172172 end
173173
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+
174198 def test_parse_fields_underscored
175199 params = ActionController ::Parameters . new (
176200 {
You can’t perform that action at this time.
0 commit comments