Module: RSpecApi::RespondWith

Includes:
Metadata, Request, Valid
Included in:
Requests
Defined in:
lib/rspec-api/respond_with.rb,
lib/rspec-api/respond_with/valid.rb,
lib/rspec-api/respond_with/request.rb,
lib/rspec-api/respond_with/metadata.rb

Defined Under Namespace

Modules: Metadata, Request, Valid

Instance Method Summary collapse

Methods included from Request

#request

Methods included from Valid

#valid?

Methods included from Metadata

#rspec_api_params

Instance Method Details

#respond_with(status, values = {}, &block) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/rspec-api/respond_with.rb', line 11

def respond_with(status, values = {}, &block)
  request_params = build_request_params
  result = request status, request_params, values, &block

  other_requests(request_params).map do |extra_request|
    body = values.merge extra_request.fetch(:params, {})
    params = request_params.merge extra_request.fetch(:expect, {})
    result = [*result] << request(status, params, body, &block)
  end

  result
end