Sha256: 1476fca0d95a51de3fff14faa2ba7b85acf7d6320c868fd326a33ff3eae94f8f
Contents?: true
Size: 1.84 KB
Versions: 7
Compression:
Stored size: 1.84 KB
Contents
# encoding: utf-8 require 'spec_helper' module Punchblock module Translator class Asterisk module Component describe StopByRedirect do class MockComponent < Component include StopByRedirect def set_complete @complete = true end end let(:mock_call) { mock 'Call', :id => 'foo' } subject { MockComponent.new Hash.new, mock_call } describe "#execute_command" do context "with a command it does not understand" do let(:command) { Punchblock::Component::Output::Pause.new } before { command.request! } it "returns a ProtocolError response" do subject.execute_command command command.response(0.1).should be_a ProtocolError end end context "with a Stop command" do let(:command) { Punchblock::Component::Stop.new } before do command.request! end it "sets the command response to true" do mock_call.expects(:redirect_back!) mock_call.expects(:register_handler).with do |type, *guards| type.should be == :ami guards.should have(2).guards guards[0].should be_a Proc guards[1].should be == {:name => 'AsyncAGI'} end subject.execute_command command command.response(0.1).should be == true end it "returns an error if the component is already complete" do subject.set_complete subject.execute_command command command.response(0.1).should be_a ProtocolError end end end end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems