Given /^I expect to pay \$(\d+) via amazon$/ do |arg1| price = arg1.to_f mock_pipeline_request = mock('pipeline_request', :url => sekret_payment_path(:transaction_amount => price)) Remit::API.any_instance. expects(:get_recurring_use_pipeline). with{ |opts| opts[:transaction_amount] == price }. returns(mock_pipeline_request) Remit::PipelineResponse.any_instance.expects(:valid?).returns(true) Remit::PipelineResponse.any_instance.expects(:successful?).returns(true) Remit::PipelineResponse.any_instance.expects(:tokenID).returns("1234") mock_pay_result = mock('pay_result', :transaction_id => "1234", :transaction_status => "Pending", :pending? => true) mock_pay_response = mock('pay_response', :pay_result => mock_pay_result, :request_id => "5678-901", :successful? => false) Remit::API.any_instance.expects(:pay).returns(mock_pay_response) end