module EventStream::Assertions

Public Class Methods

setup_test_subscription() click to toggle source
# File lib/event_stream/test_helper.rb, line 10
def self.setup_test_subscription
  TestEventStream.events = []

  EventStream.subscribe(//) do |event|
    TestEventStream.events << event
  end
end

Public Instance Methods

assert_event_matching(message = nil, &predicate) click to toggle source
# File lib/event_stream/test_helper.rb, line 18
def assert_event_matching(message = nil, &predicate)
  if TestEventStream.events.nil?
    raise "Call EventStream::TestHelper.setup prior to using event_stream test assertions!"
  end

  assert TestEventStream.events.any?(&predicate), "Event stream did not include a matching event: #{message}"
end
assert_event_published(event_name) click to toggle source
# File lib/event_stream/test_helper.rb, line 26
def assert_event_published(event_name)
  assert_event_matching("No event with name #{event_name}") { |event| event.name == event_name }
end
find_published_event(&predicate) click to toggle source
# File lib/event_stream/test_helper.rb, line 30
def find_published_event(&predicate)
  TestEventStream.events.find(&predicate)
end