Module: Jets::SpecHelpers::Controllers

Included in:
Jets::SpecHelpers
Defined in:
lib/jets/spec_helpers/controllers.rb,
lib/jets/spec_helpers/controllers/params.rb,
lib/jets/spec_helpers/controllers/request.rb,
lib/jets/spec_helpers/controllers/response.rb

Defined Under Namespace

Classes: Params, Request, Response

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#requestObject (readonly)

Returns the value of attribute request.



3
4
5
# File 'lib/jets/spec_helpers/controllers.rb', line 3

def request
  @request
end

#responseObject (readonly)

Returns the value of attribute response.



3
4
5
# File 'lib/jets/spec_helpers/controllers.rb', line 3

def response
  @response
end

Instance Method Details

#http_call(method:, path:, **params) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/jets/spec_helpers/controllers.rb', line 22

def http_call(method:, path:, **params)
  request.method = method.to_sym
  request.path = path
  request.headers.deep_merge!(params.delete(:headers) || {})

  request.params.body_params = params.delete(:params) || params || {}

  request.params.query_params = params.delete(:query)
  request.params.query_params ||= params if request.method == :get
  request.params.query_params ||= {}

  request.params.path_params = params

  @response = request.dispatch!
end

#initializeObject



5
6
7
8
9
# File 'lib/jets/spec_helpers/controllers.rb', line 5

def initialize(*)
  super
  @request = Request.new(:get, '/', {}, Params.new)
  @response = nil # will be set after http_call
end