spec/adhearsion/call_controller/input_spec.rb in adhearsion-2.0.1 vs spec/adhearsion/call_controller/input_spec.rb in adhearsion-2.1.0

- old
+ new

@@ -162,55 +162,55 @@ result.response.should be response end it "executes failure hook and returns :failure if menu fails" do menu_instance.should_receive(:should_continue?).and_return(false) - menu_instance.should_receive(:execute_failure_hook) + menu_instance.should_receive(:execute_failure_hook).once result = subject.menu sound_files result.menu.should be menu_instance result.response.should be response end it "executes invalid hook if input is invalid" do menu_instance.should_receive(:should_continue?).twice.and_return(true) menu_instance.should_receive(:continue).and_return(result_invalid, result_done) - menu_instance.should_receive(:execute_invalid_hook) - menu_instance.should_receive(:restart!) + menu_instance.should_receive(:execute_invalid_hook).once + menu_instance.should_receive(:restart!).once result = subject.menu sound_files result.menu.should be menu_instance result.response.should be response end it "plays audio, then executes timeout hook if input times out" do menu_instance.should_receive(:should_continue?).twice.and_return(true) menu_instance.should_receive(:continue).and_return(result_get_another_or_timeout, result_done) subject.should_receive(:play_sound_files_for_menu).with(menu_instance, sound_files).and_return(nil) - menu_instance.should_receive(:execute_timeout_hook) - menu_instance.should_receive(:restart!) + menu_instance.should_receive(:execute_timeout_hook).once + menu_instance.should_receive(:restart!).once subject.menu sound_files end it "plays audio, then adds digit to digit buffer if input is received" do menu_instance.should_receive(:should_continue?).twice.and_return(true) menu_instance.should_receive(:continue).and_return(result_get_another_or_timeout, result_done) subject.should_receive(:play_sound_files_for_menu).with(menu_instance, sound_files).and_return("1") - menu_instance.should_receive(:<<).with("1") + menu_instance.should_receive(:<<).with("1").once subject.menu sound_files end it "plays audio, then jumps to payload when input is finished" do menu_instance.should_receive(:should_continue?).and_return(true) menu_instance.should_receive(:continue).and_return(result_get_another_or_finish) subject.should_receive(:play_sound_files_for_menu).with(menu_instance, sound_files).and_return(nil) - subject.should_receive(:jump_to).with(:match_object, :extension => :new_extension) + subject.should_receive(:jump_to).with(:match_object, :extension => :new_extension).once subject.menu sound_files end it "jumps to payload when result is found" do menu_instance.should_receive(:should_continue?).and_return(true) menu_instance.should_receive(:continue).and_return(result_found) - subject.should_receive(:jump_to).with(:match_object, :extension => :new_extension) + subject.should_receive(:jump_to).with(:match_object, :extension => :new_extension).once result = subject.menu sound_files result.menu.should be menu_instance result.response.should be response end @@ -236,50 +236,48 @@ let(:result_invalid) { MenuDSL::Menu::MenuResultInvalid.new } let(:result_get_another_or_timeout) { MenuDSL::Menu::MenuGetAnotherDigitOrTimeout.new } let(:result_get_another_or_finish) { MenuDSL::Menu::MenuGetAnotherDigitOrFinish.new(:match_object, :new_extension) } let(:result_found) { MenuDSL::Menu::MenuResultFound.new(:match_object, :new_extension) } - let(:status) { :foo } - let(:response) { '1234' } - before do - flexmock menu_instance, :status => status, :result => response + flexmock menu_instance flexmock(MenuDSL::Menu).should_receive(:new).and_return(menu_instance) end it "exits the function if MenuResultDone" do menu_instance.should_receive(:continue).and_return(result_done) result = subject.ask sound_files result.menu.should be menu_instance - result.response.should be response + result.response.should == '' end it "exits the function if MenuTerminated" do menu_instance.should_receive(:continue).and_return(result_terminated) result = subject.ask sound_files result.menu.should be menu_instance - result.response.should be response + result.response.should == '' end it "exits the function if MenuLimitReached" do menu_instance.should_receive(:continue).and_return(result_limit_reached) result = subject.ask sound_files result.menu.should be menu_instance - result.response.should be response + result.response.should == '' end it "plays audio, then executes timeout hook if input times out" do menu_instance.should_receive(:continue).and_return(result_get_another_or_timeout, result_done) - subject.should_receive(:play_sound_files_for_menu).with(menu_instance, sound_files).and_return(nil) - menu_instance.should_receive(:execute_timeout_hook) - menu_instance.should_receive(:restart!) - subject.ask sound_files + subject.should_receive(:play_sound_files_for_menu).once.with(menu_instance, sound_files).and_return(nil) + result = subject.ask sound_files + result.menu.should be menu_instance + result.response.should be == '' + result.status.should be :timeout end it "plays audio, then adds digit to digit buffer if input is received" do menu_instance.should_receive(:continue).and_return(result_get_another_or_timeout, result_done) - subject.should_receive(:play_sound_files_for_menu).with(menu_instance, sound_files).and_return("1") - menu_instance.should_receive(:<<).with("1") + subject.should_receive(:play_sound_files_for_menu).once.with(menu_instance, sound_files).and_return("1") + menu_instance.should_receive(:<<).with("1").once subject.ask sound_files end end context "with a block passed" do