mirror of
https://github.com/ditkrg/rswag.git
synced 2026-01-23 06:16:42 +00:00
yield entire response instead of only the body
This commit is contained in:
parent
37f86f6d94
commit
f195c82759
@ -108,7 +108,7 @@ If you want to do additional validation on the response, pass a block to the __r
|
||||
```ruby
|
||||
response '201', 'blog created' do
|
||||
run_test! do |response|
|
||||
data = JSON.parse(response)
|
||||
data = JSON.parse(response.body)
|
||||
expect(data['title']).to eq('foo')
|
||||
end
|
||||
end
|
||||
|
||||
@ -16,6 +16,7 @@ module Rswag
|
||||
validate_code!(response.code)
|
||||
validate_headers!(response.headers)
|
||||
validate_body!(response.body, &block)
|
||||
block.call(response) if block_given?
|
||||
end
|
||||
|
||||
private
|
||||
@ -35,7 +36,7 @@ module Rswag
|
||||
end
|
||||
end
|
||||
|
||||
def validate_body!(body, &block)
|
||||
def validate_body!(body)
|
||||
response_schema = @api_metadata[:response][:schema]
|
||||
return if response_schema.nil?
|
||||
|
||||
@ -47,8 +48,6 @@ module Rswag
|
||||
rescue JSON::Schema::ValidationError => ex
|
||||
raise UnexpectedResponse, "Expected response body to match schema: #{ex.message}"
|
||||
end
|
||||
|
||||
block.call(body) if block_given?
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -45,8 +45,8 @@ module Rswag
|
||||
|
||||
context "'block' provided" do
|
||||
let(:call) do
|
||||
subject.validate!(response) do |body|
|
||||
data = JSON.parse(body)
|
||||
subject.validate!(response) do |response|
|
||||
data = JSON.parse(response.body)
|
||||
expect(data['text']).to eq('Some comment')
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
Reference in New Issue
Block a user