Sha256: 1a39fa786d67337aceab4aae5b834fd5f808b9f4c02646a4cf86971238ed209e

Contents?: true

Size: 688 Bytes

Versions: 1

Compression:

Stored size: 688 Bytes

Contents

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

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

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

  match do |block|
    defaults = {:actor => anything, :target => anything, at: nil}

    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, 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.8 lib/reactor/testing/matchers.rb