spec/models/concerns/subscribable_spec.rb in reactor-0.3.1 vs spec/models/concerns/subscribable_spec.rb in reactor-0.3.2

- old
+ new

@@ -3,16 +3,33 @@ class Auction < ActiveRecord::Base on_event :bid_made do |event| event.target.update_column :status, 'first_bid_made' end + + on_event :puppy_delivered, :ring_bell + on_event :any_event, -> (event) { puppies! } + + def self.ring_bell(event) + pp "ring ring! #{event}" + end end describe Reactor::Subscribable do - describe 'subscribes_to' do + describe 'on_event' do it 'binds block of code statically to event being fired' do Auction.any_instance.should_receive(:update_column).with(:status, 'first_bid_made') Reactor::Event.publish(:bid_made, target: Auction.create) + end + + it 'binds symbol to class method' do + Auction.should_receive(:ring_bell) + Reactor::Event.publish(:puppy_delivered) + end + + it 'binds proc' do + Auction.should_receive(:puppies!) + Reactor::Event.publish(:any_event) end end end \ No newline at end of file