Module: MiniTest::Assertions

Defined in:
lib/skr/core/testing/assertions.rb

Instance Method Summary collapse

Instance Method Details

#assert_event_fires(klass, event, &block) ⇒ Object

Raises:

  • (MiniTest::Assertion)


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, 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) ⇒ 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.full_messages.join(',')}"
end

#last_event_resultsObject



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