Module: RSpec::Rails::Api::DSL::Example
- Defined in:
- lib/rspec/rails/api/dsl/example.rb
Overview
These methods will be available in examples (i.e.: ‘for_code’)
Instance Method Summary collapse
- #defined(entity) ⇒ Object
-
#visit(example, path_params: {}, payload: {}, headers: {}) ⇒ Object
rubocop:disable Metrics/AbcSize.
Instance Method Details
#defined(entity) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/rspec/rails/api/dsl/example.rb', line 25 def defined(entity) current_resource = self.class.[:rrad].current_resource raise '@current_resource is unset' unless current_resource entities = self.class.[:rrad].resources[current_resource][:entities] out = entities[entity] raise "Unkown entity '#{entity}' in resource '#{current_resource}'" unless out out.(entities) end |
#visit(example, path_params: {}, payload: {}, headers: {}) ⇒ Object
rubocop:disable Metrics/AbcSize
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/rspec/rails/api/dsl/example.rb', line 9 def visit(example, path_params: {}, payload: {}, headers: {}) # rubocop:disable Metrics/AbcSize raise 'Missing context. Call visit with for_code context.' unless example status_code = prepare_status_code example.class.description request_params = prepare_request_params example.class.parent.description, path_params, payload, headers send(request_params[:action], request_params[:url], params: request_params[:params].to_json, headers: request_params[:headers]) check_response(response, status_code) set_request_example example.class.[:rrad], request_params, status_code, response.body end |