Module: OpenapiFirst::Test::MinitestHelpers

Defined in:
lib/openapi_first/test/minitest_helpers.rb

Overview

Assertion methods for Minitest

Instance Method Summary collapse

Instance Method Details

#assert_api_conform(status: nil, api: openapi_first_default_api) ⇒ Object

:nocov:



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/openapi_first/test/minitest_helpers.rb', line 8

def assert_api_conform(status: nil, api: openapi_first_default_api)
  api = OpenapiFirst::Test[api]
  request = respond_to?(:last_request) ? last_request : @request
  response = respond_to?(:last_response) ? last_response : @response

  if status
    assert_equal status, response.status,
                 "Expected status #{status}, but got #{response.status} " \
                 "from #{request.request_method.upcase} #{request.path}."
  end

  validated_request = api.validate_request(request, raise_error: false)
  validated_response = api.validate_response(request, response, raise_error: false)

  assert validated_request.valid?, validated_request.error&.exception_message
  assert validated_response.valid?, validated_response.error&.exception_message
end