From 83e9c453b91e47de2d24a0a4f884d6740b31fd1f Mon Sep 17 00:00:00 2001 From: wuxiaoyi Date: Wed, 27 Jan 2016 11:13:58 +0800 Subject: [PATCH 1/3] ValidationErrors initialize check args[:errors] is present --- lib/grape/exceptions/validation.rb | 2 +- lib/grape/exceptions/validation_errors.rb | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/grape/exceptions/validation.rb b/lib/grape/exceptions/validation.rb index def15de8b..b8fba622b 100644 --- a/lib/grape/exceptions/validation.rb +++ b/lib/grape/exceptions/validation.rb @@ -7,7 +7,7 @@ class Validation < Grape::Exceptions::Base attr_accessor :message_key def initialize(args = {}) - fail 'Params are missing:' unless args.key? :params + fail 'Params are missing: params' unless args.key? :params @params = args[:params] @message_key = args[:message_key] args[:message] = translate_message(args[:message_key]) if args.key? :message_key diff --git a/lib/grape/exceptions/validation_errors.rb b/lib/grape/exceptions/validation_errors.rb index 3a39602d5..c23bb40bd 100644 --- a/lib/grape/exceptions/validation_errors.rb +++ b/lib/grape/exceptions/validation_errors.rb @@ -8,6 +8,7 @@ class ValidationErrors < Grape::Exceptions::Base attr_reader :errors def initialize(args = {}) + fail 'Params are missing: errors' unless args.key? :errors @errors = {} args[:errors].each do |validation_error| @errors[validation_error.params] ||= [] From 85ae17aa4a96b2bf331077bd2a0d693e181bb8f5 Mon Sep 17 00:00:00 2001 From: wuxiaoyi Date: Fri, 29 Jan 2016 10:50:56 +0800 Subject: [PATCH 2/3] Add ValidationErrors test, restore error description --- lib/grape/exceptions/validation.rb | 2 +- lib/grape/exceptions/validation_errors.rb | 2 +- spec/grape/exceptions/validation_errors_spec.rb | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/grape/exceptions/validation.rb b/lib/grape/exceptions/validation.rb index b8fba622b..def15de8b 100644 --- a/lib/grape/exceptions/validation.rb +++ b/lib/grape/exceptions/validation.rb @@ -7,7 +7,7 @@ class Validation < Grape::Exceptions::Base attr_accessor :message_key def initialize(args = {}) - fail 'Params are missing: params' unless args.key? :params + fail 'Params are missing:' unless args.key? :params @params = args[:params] @message_key = args[:message_key] args[:message] = translate_message(args[:message_key]) if args.key? :message_key diff --git a/lib/grape/exceptions/validation_errors.rb b/lib/grape/exceptions/validation_errors.rb index c23bb40bd..c8db153ee 100644 --- a/lib/grape/exceptions/validation_errors.rb +++ b/lib/grape/exceptions/validation_errors.rb @@ -8,7 +8,7 @@ class ValidationErrors < Grape::Exceptions::Base attr_reader :errors def initialize(args = {}) - fail 'Params are missing: errors' unless args.key? :errors + fail 'Errors are missing:' unless args.key? :errors @errors = {} args[:errors].each do |validation_error| @errors[validation_error.params] ||= [] diff --git a/spec/grape/exceptions/validation_errors_spec.rb b/spec/grape/exceptions/validation_errors_spec.rb index 31b1ef0c3..413d60758 100644 --- a/spec/grape/exceptions/validation_errors_spec.rb +++ b/spec/grape/exceptions/validation_errors_spec.rb @@ -19,6 +19,10 @@ it 'should assign headers through base class' do expect(subject.headers).to eq(headers) end + + it 'fails when errors are missing' do + expect { described_class.new(headers: headers) }.to raise_error(RuntimeError, 'Errors are missing:') + end end context 'message' do From 0f720e3c1a6994d96a0969afd2a2f336af16c130 Mon Sep 17 00:00:00 2001 From: wuxiaoyi Date: Fri, 29 Jan 2016 11:35:05 +0800 Subject: [PATCH 3/3] fix fail description --- lib/grape/exceptions/validation_errors.rb | 2 +- spec/grape/exceptions/validation_errors_spec.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/grape/exceptions/validation_errors.rb b/lib/grape/exceptions/validation_errors.rb index c8db153ee..b9a7ae8f2 100644 --- a/lib/grape/exceptions/validation_errors.rb +++ b/lib/grape/exceptions/validation_errors.rb @@ -8,7 +8,7 @@ class ValidationErrors < Grape::Exceptions::Base attr_reader :errors def initialize(args = {}) - fail 'Errors are missing:' unless args.key? :errors + fail 'Params are missing:' unless args.key? :errors @errors = {} args[:errors].each do |validation_error| @errors[validation_error.params] ||= [] diff --git a/spec/grape/exceptions/validation_errors_spec.rb b/spec/grape/exceptions/validation_errors_spec.rb index 413d60758..5575c8c5f 100644 --- a/spec/grape/exceptions/validation_errors_spec.rb +++ b/spec/grape/exceptions/validation_errors_spec.rb @@ -20,8 +20,8 @@ expect(subject.headers).to eq(headers) end - it 'fails when errors are missing' do - expect { described_class.new(headers: headers) }.to raise_error(RuntimeError, 'Errors are missing:') + it 'fails when params are missing' do + expect { described_class.new(headers: headers) }.to raise_error(RuntimeError, 'Params are missing:') end end