Module: ActionFigure::Testing::Minitest

Defined in:
lib/action_figure/testing/minitest.rb,
sig/action_figure.rbs

Overview

Minitest assertions for action response results.

assert_* / refute_* status helpers are generated from Testing.statuses at load time; they are declared explicitly here so the signatures stay visible.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.define_status_assertions(name, status) ⇒ void

This method returns an undefined value.

Parameters:

  • name (Symbol)
  • status (Symbol)


19
20
21
22
23
24
25
26
27
# File 'lib/action_figure/testing/minitest.rb', line 19

def self.define_status_assertions(name, status)
  define_method(:"assert_#{name}") do |result, msg = nil|
    assert_status(status, result, msg)
  end

  define_method(:"refute_#{name}") do |result, msg = nil|
    refute_status(status, result, msg)
  end
end

Instance Method Details

#assert_Acceptedvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


196
# File 'sig/action_figure.rbs', line 196

def assert_Accepted: (ActionFigure::response result, ?String? msg) -> void

#assert_action_json(result, fragment, msg = nil) ⇒ void

This method returns an undefined value.

Asserts result[:json] contains the given fragment as a (possibly nested) subset. Mirrors the RSpec have_action_json matcher: nested Hashes match as subsets and Regexp values match against strings.

assert_action_json(result, status: "success", data: { name: "Jane" })

Parameters:

  • result (ActionFigure::response)
  • fragment (Hash[Symbol, untyped])
  • msg (String, nil) (defaults to: nil)


56
57
58
59
60
61
62
63
64
# File 'lib/action_figure/testing/minitest.rb', line 56

def assert_action_json(result, fragment, msg = nil)
  flunk(msg || "Expected an ActionFigure result hash, got #{result.inspect}") unless result.is_a?(Hash)
  unless result.key?(:json)
    flunk(msg || "Expected #{result.inspect} to include key :json (ActionFigure render hash)")
  end

  message = msg || "Expected result[:json] to include #{fragment.inspect}, got #{result[:json].inspect}"
  assert json_subset?(result[:json], fragment), message
end

#assert_Conflictvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


201
# File 'sig/action_figure.rbs', line 201

def assert_Conflict: (ActionFigure::response result, ?String? msg) -> void

#assert_Createdvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


195
# File 'sig/action_figure.rbs', line 195

def assert_Created: (ActionFigure::response result, ?String? msg) -> void

#assert_Forbiddenvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


200
# File 'sig/action_figure.rbs', line 200

def assert_Forbidden: (ActionFigure::response result, ?String? msg) -> void

#assert_Gonevoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


203
# File 'sig/action_figure.rbs', line 203

def assert_Gone: (ActionFigure::response result, ?String? msg) -> void

#assert_invalid_params(action_class, params, on: nil, msg: nil) ⇒ void

This method returns an undefined value.

Parameters:

  • action_class (Object)
  • params (Object)
  • on: (Symbol, nil) (defaults to: nil)
  • msg: (String, nil) (defaults to: nil)


37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/action_figure/testing/minitest.rb', line 37

def assert_invalid_params(action_class, params, on: nil, msg: nil)
  result = action_contract(action_class).call(params)

  if on.nil?
    message = msg || "Expected params to be invalid, but the contract accepted them"
    assert result.failure?, message
  else
    errored = result.errors.to_h.key?(on)
    message = msg || "Expected params to be invalid on #{on.inspect}, " \
                     "but errors were: #{result.errors.to_h.inspect}"
    assert errored, message
  end
end

#assert_Lockedvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


204
# File 'sig/action_figure.rbs', line 204

def assert_Locked: (ActionFigure::response result, ?String? msg) -> void

#assert_NoContentvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


197
# File 'sig/action_figure.rbs', line 197

def assert_NoContent: (ActionFigure::response result, ?String? msg) -> void

#assert_NotFoundvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


199
# File 'sig/action_figure.rbs', line 199

def assert_NotFound: (ActionFigure::response result, ?String? msg) -> void

#assert_Okvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


194
# File 'sig/action_figure.rbs', line 194

def assert_Ok: (ActionFigure::response result, ?String? msg) -> void

#assert_PaymentRequiredvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


202
# File 'sig/action_figure.rbs', line 202

def assert_PaymentRequired: (ActionFigure::response result, ?String? msg) -> void

#assert_UnavailableForLegalReasonsvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


205
# File 'sig/action_figure.rbs', line 205

def assert_UnavailableForLegalReasons: (ActionFigure::response result, ?String? msg) -> void

#assert_UnprocessableContentvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


198
# File 'sig/action_figure.rbs', line 198

def assert_UnprocessableContent: (ActionFigure::response result, ?String? msg) -> void

#assert_valid_params(action_class, params, msg = nil) ⇒ void

This method returns an undefined value.

Parameters:

  • action_class (Object)
  • params (Object)
  • msg (String, nil) (defaults to: nil)


31
32
33
34
35
# File 'lib/action_figure/testing/minitest.rb', line 31

def assert_valid_params(action_class, params, msg = nil)
  result = action_contract(action_class).call(params)
  message = msg || "Expected params to be valid, but got errors: #{result.errors.to_h.inspect}"
  assert result.success?, message
end

#refute_Acceptedvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


209
# File 'sig/action_figure.rbs', line 209

def refute_Accepted: (ActionFigure::response result, ?String? msg) -> void

#refute_action_json(result, fragment, msg = nil) ⇒ void

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • fragment (Hash[Symbol, untyped])
  • msg (String, nil) (defaults to: nil)


66
67
68
69
70
# File 'lib/action_figure/testing/minitest.rb', line 66

def refute_action_json(result, fragment, msg = nil)
  json = result.is_a?(Hash) ? result[:json] : nil
  message = msg || "Expected result[:json] not to include #{fragment.inspect}"
  refute(json.is_a?(Hash) && json_subset?(json, fragment), message)
end

#refute_Conflictvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


214
# File 'sig/action_figure.rbs', line 214

def refute_Conflict: (ActionFigure::response result, ?String? msg) -> void

#refute_Createdvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


208
# File 'sig/action_figure.rbs', line 208

def refute_Created: (ActionFigure::response result, ?String? msg) -> void

#refute_Forbiddenvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


213
# File 'sig/action_figure.rbs', line 213

def refute_Forbidden: (ActionFigure::response result, ?String? msg) -> void

#refute_Gonevoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


216
# File 'sig/action_figure.rbs', line 216

def refute_Gone: (ActionFigure::response result, ?String? msg) -> void

#refute_Lockedvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


217
# File 'sig/action_figure.rbs', line 217

def refute_Locked: (ActionFigure::response result, ?String? msg) -> void

#refute_NoContentvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


210
# File 'sig/action_figure.rbs', line 210

def refute_NoContent: (ActionFigure::response result, ?String? msg) -> void

#refute_NotFoundvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


212
# File 'sig/action_figure.rbs', line 212

def refute_NotFound: (ActionFigure::response result, ?String? msg) -> void

#refute_Okvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


207
# File 'sig/action_figure.rbs', line 207

def refute_Ok: (ActionFigure::response result, ?String? msg) -> void

#refute_PaymentRequiredvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


215
# File 'sig/action_figure.rbs', line 215

def refute_PaymentRequired: (ActionFigure::response result, ?String? msg) -> void

#refute_UnavailableForLegalReasonsvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


218
# File 'sig/action_figure.rbs', line 218

def refute_UnavailableForLegalReasons: (ActionFigure::response result, ?String? msg) -> void

#refute_UnprocessableContentvoid

This method returns an undefined value.

Parameters:

  • result (ActionFigure::response)
  • msg (String, nil)


211
# File 'sig/action_figure.rbs', line 211

def refute_UnprocessableContent: (ActionFigure::response result, ?String? msg) -> void