diff --git a/graphql_devise.gemspec b/graphql_devise.gemspec index 2a177117..49e0303e 100644 --- a/graphql_devise.gemspec +++ b/graphql_devise.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'zeitwerk' spec.add_development_dependency 'appraisal' - spec.add_development_dependency 'coveralls-ruby', '~> 0.2' + spec.add_development_dependency 'coveralls_reborn' spec.add_development_dependency 'factory_bot' spec.add_development_dependency 'faker' spec.add_development_dependency 'generator_spec' diff --git a/spec/services/resource_loader_spec.rb b/spec/services/resource_loader_spec.rb index 6275def5..f4bc860c 100644 --- a/spec/services/resource_loader_spec.rb +++ b/spec/services/resource_loader_spec.rb @@ -91,5 +91,44 @@ end end end + + context 'when argument errors are raised when field is set' do + context 'when mutation raises an argument error' do + before { allow(mutation).to receive(:field).and_raise(ArgumentError, 'mutation error') } + + if Gem::Version.new(GraphQL::VERSION) < Gem::Version.new('2.0') + it 'raises the same argument error' do + expect { loader }.to raise_error( + ArgumentError, + 'mutation error' + ) + end + else + it 'raises a GraphqlDevise::Error error' do + expect { loader }.to raise_error(GraphqlDevise::Error) + end + end + end + + context 'when query raises an argument error' do + before do + allow(mutation).to receive(:field) + allow(query).to receive(:field).and_raise(ArgumentError, 'query error') + end + + if Gem::Version.new(GraphQL::VERSION) < Gem::Version.new('2.0') + it 'raises the same argument error' do + expect { loader }.to raise_error( + ArgumentError, + 'query error' + ) + end + else + it 'raises a GraphqlDevise::Error error' do + expect { loader }.to raise_error(GraphqlDevise::Error) + end + end + end + end end end