Sha256: 50fe634c6866ab59a58a4210e13a229835115f3bceea75f210b2764eeea29c7e

Contents?: true

Size: 660 Bytes

Versions: 1

Compression:

Stored size: 660 Bytes

Contents

RSpec::Matchers.define :publish_event do |name, data = {}|

  match do |block|
    defaults = {:actor => anything}
    Reactor::Event.should_receive(:publish).with(name, hash_including(defaults.merge(data)))
    block.call
  end
end

RSpec::Matchers.define :publish_events do |*args|

  match do |block|
    defaults = {:actor => anything}

    args.each do |event|
      case event
        when Symbol
          Reactor::Event.should_receive(:publish).with(event, anything)
        when Hash
          Reactor::Event.should_receive(:publish).with(event.keys.first, hash_including(defaults.merge(event.values.first)))
      end
    end
    block.call
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
reactor-0.2.9 lib/reactor/testing/matchers.rb