Skip to content

Commit 49e2358

Browse files
committed
Don't raise nil error when inspecting validated response
1 parent 90a2dde commit 49e2358

2 files changed

Lines changed: 25 additions & 6 deletions

File tree

lib/openapi_first/validated_response.rb

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,16 @@ def initialize(original_response, error:, parsed_values: nil, response_definitio
2424
attr_reader :response_definition
2525

2626
# The parsed headers
27-
# @!method parsed_headers
28-
# @return [Hash<String,anything>]
29-
def_delegator :@parsed_values, :headers, :parsed_headers
27+
# @return [Hash<String,anything>, nil]
28+
def parsed_headers
29+
@parsed_values&.headers
30+
end
3031

3132
# The parsed body
32-
# @!method parsed_body
33-
# @return [Hash<String,anything>]
34-
def_delegator :@parsed_values, :body, :parsed_body
33+
# @return [Hash<String,anything>, nil]
34+
def parsed_body
35+
@parsed_values&.body
36+
end
3537

3638
# Checks if the response is valid.
3739
# @return [Boolean] true if the response is valid, false otherwise.

spec/validated_response_spec.rb

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# frozen_string_literal: true
2+
3+
RSpec.describe OpenapiFirst::ValidatedResponse do
4+
describe '#parsed_body' do
5+
it 'returns nil without parsed values' do
6+
validated = described_class.new(double(:request), error: double(:error))
7+
expect(validated.parsed_body).to be_nil
8+
end
9+
end
10+
11+
describe '#parsed_headers' do
12+
it 'returns nil without parsed values' do
13+
validated = described_class.new(double(:request), error: double(:error))
14+
expect(validated.parsed_headers).to be_nil
15+
end
16+
end
17+
end

0 commit comments

Comments
 (0)