require File.dirname(__FILE__) + '/spec_helper.rb' describe "Listener" do before(:all) do @trumpet = Trumpet::Base.new :username => "somedude", :password => "somepassword" FakeWeb.register_uri :post, "#{AUTHENTICATED_URI}/receivers/1/listeners", :file => "#{File.dirname(__FILE__)}/fixtures/listeners/create" FakeWeb.register_uri :get, "#{AUTHENTICATED_URI}/listeners/1", :file => "#{File.dirname(__FILE__)}/fixtures/listeners/find" FakeWeb.register_uri :get, "#{AUTHENTICATED_URI}/listeners/2", :file => "#{File.dirname(__FILE__)}/fixtures/listeners/sms" FakeWeb.register_uri :get, "#{AUTHENTICATED_URI}/listeners/3", :file => "#{File.dirname(__FILE__)}/fixtures/listeners/irc" FakeWeb.register_uri :get, "#{AUTHENTICATED_URI}/listeners/4", :file => "#{File.dirname(__FILE__)}/fixtures/listeners/im" FakeWeb.register_uri :get, "#{AUTHENTICATED_URI}/listeners/5", :file => "#{File.dirname(__FILE__)}/fixtures/listeners/twitter" FakeWeb.register_uri :delete, "#{AUTHENTICATED_URI}/listeners/1", :string => ["204", "OK"] end it "should let me create a listener" do listener = @trumpet.listeners.create :receiver_id => 1, :uri => 'mailto://someraddude@mailinator.com' listener.uri.should == 'mailto:someraddude@mailinator.com' end it "should let me find an existing listener" do listener = @trumpet.listeners.find(1) listener.uri.should == 'mailto:someraddude@mailinator.com' end it "should let me delete an existing listener" do listener = @trumpet.listeners.find(1) listener.delete.should == true end it "should be able to describe it's delivery method" do email_listener = @trumpet.listeners.find(1) email_listener.delivery_method.should == 'Email' email_listener.delivery_address.should == 'someraddude@mailinator.com' sms_listener = @trumpet.listeners.find(2) sms_listener.delivery_method.should == 'SMS' sms_listener.delivery_address.should == '15555555555' irc_listener = @trumpet.listeners.find(3) irc_listener.delivery_method.should == 'IRC' irc_listener.delivery_address.should == 'irc.trumpet.io#raddudes' im_listener = @trumpet.listeners.find(4) im_listener.delivery_method.should == 'IM' im_listener.delivery_address.should == 'somedude@mailinator.com' twitter_listener = @trumpet.listeners.find(5) twitter_listener.delivery_method.should == 'Twitter' twitter_listener.delivery_address.should == 'twitterdude' end end