diff --git a/app/graphql/types/record_type.rb b/app/graphql/types/record_type.rb index 1d7a5e09..0f0b27df 100644 --- a/app/graphql/types/record_type.rb +++ b/app/graphql/types/record_type.rb @@ -249,7 +249,7 @@ def dois end def deprecated_identifiers(field) - @object['identifiers'].map { |id| id['value'] if id['kind'] == field }.compact + @object['identifiers']&.map { |id| id['value'] if id['kind'] == field }&.compact end end end diff --git a/test/graphql/types/record_type_test.rb b/test/graphql/types/record_type_test.rb index 0c5574be..f533e306 100644 --- a/test/graphql/types/record_type_test.rb +++ b/test/graphql/types/record_type_test.rb @@ -30,4 +30,10 @@ class RecordTypeTest < ActiveSupport::TestCase result = record_type.file_formats assert_equal %w[PDF EPUB], result, 'file_formats should return unique values' end + + test 'deprecated identifiers return nil when identifiers key is missing' do + record_type = Types::RecordType.send(:new, { 'title' => 'Test Record' }, {}) + + assert_nil record_type.isbns + end end