module MiniTest::Assertions

Public Instance Methods

assert_event_fires( klass, event ) { || ... } click to toggle source
# 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 ) { || ... } click to toggle source
# File lib/skr/core/testing/assertions.rb, line 4
def assert_logs_matching( regex, failure_message=nil, &block )
    old_logger = Skr::Core.logger
    begin
        output = ""
        Skr::Core.logger=Logger.new( StringIO.new(output) )
        yield
        assert_match( regex, output, failure_message )
    ensure
        Skr::Core.logger=old_logger
    end
end
assert_saves( model ) click to toggle source
# File lib/skr/core/testing/assertions.rb, line 17
def assert_saves( model )
    assert model.save, "#{model.class} failed to save: #{model.errors.full_messages.join(',')}"
end
last_event_results() click to toggle source
# File lib/skr/core/testing/assertions.rb, line 40
def last_event_results
    @event_results
end
refute_saves( model, *errors ) click to toggle source
# 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