diff --git a/lib/chargebee/errors.rb b/lib/chargebee/errors.rb index 826ebed..00dcbf5 100644 --- a/lib/chargebee/errors.rb +++ b/lib/chargebee/errors.rb @@ -19,6 +19,7 @@ class APIError < Error def initialize(http_code=nil, json_obj = nil) super json_obj[:message] + @message = json_obj[:message] @json_obj = json_obj @http_status_code = http_code @type = json_obj[:type] diff --git a/spec/errors_spec.rb b/spec/errors_spec.rb new file mode 100644 index 0000000..9638763 --- /dev/null +++ b/spec/errors_spec.rb @@ -0,0 +1,23 @@ +require 'spec_helper' + +describe 'ChargeBee::InvalidRequestError' do + let(:invalid_request_json) do + { + message: 'id: The value chargebee_account is already present.', + type: 'invalid_request', + api_error_code: 'duplicate_entry', + param: 'id', + error_code: 'param_not_unique', + error_msg: 'The value chargebee_account is already present.', + error_param: 'id', + http_status_code: 400 + } + end + + it "provide message from error api response" do + error = ChargeBee::InvalidRequestError.new(400, invalid_request_json) + error.message.should eq 'id: The value chargebee_account is already present.' + end + +end +