Module: MiniTest::Assertions
- Defined in:
- lib/skr/core/testing/assertions.rb
Instance Method Summary collapse
- #assert_event_fires(klass, event, &block) ⇒ Object
- #assert_logs_matching(regex, failure_message = nil, &block) ⇒ Object
- #assert_saves(model) ⇒ Object
- #last_event_results ⇒ Object
- #refute_saves(model, *errors) ⇒ Object
Instance Method Details
#assert_event_fires(klass, event, &block) ⇒ Object
31 32 33 34 35 36 37 38 |
# File 'lib/skr/core/testing/assertions.rb', line 31 def assert_event_fires( klass, event, &block ) @event_results = [] klass.observe(event) do | *args | @event_results = args end yield raise MiniTest::Assertion, "Event #{event} was not fired" if @event_results.empty? end |
#assert_logs_matching(regex, failure_message = nil, &block) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/skr/core/testing/assertions.rb', line 4 def assert_logs_matching( regex, =nil, &block ) old_logger = Skr::Core.logger begin output = "" Skr::Core.logger=Logger.new( StringIO.new(output) ) yield assert_match( regex, output, ) ensure Skr::Core.logger=old_logger end end |
#assert_saves(model) ⇒ Object
17 18 19 |
# File 'lib/skr/core/testing/assertions.rb', line 17 def assert_saves( model ) assert model.save, "#{model.class} failed to save: #{model.errors..join(',')}" end |
#last_event_results ⇒ Object
40 41 42 |
# File 'lib/skr/core/testing/assertions.rb', line 40 def last_event_results @event_results end |
#refute_saves(model, *errors) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/skr/core/testing/assertions.rb', line 20 def refute_saves( model, *errors ) refute model.save, "#{model.class} saved successfully when it should not have" errors.each do |error| if model.errors[error.to_sym].empty? raise MiniTest::Assertion, "expected #{model.class} to have an error on #{error}" end end end |