require File.dirname(__FILE__) + '/../test_helper'

class GetPaymentsTest < Test::Unit::TestCase
  include TestHelper
  
  def setup
    @gateway = XeroGateway::Gateway.new(CONSUMER_KEY, CONSUMER_SECRET)
    
    if STUB_XERO_CALLS
      @gateway.xero_url = "DUMMY_URL"
      
      @gateway.stubs(:http_get).with {|client, url, params| url =~ /Payments$/ }.returns(get_file_as_string("payments.xml"))          
    end
  end
  
  def test_get_payments
    result = @gateway.get_payments
    assert result.success?
    assert !result.request_params.nil?
    assert !result.response_xml.nil?
    assert result.payments.length == 57
    assert result.payments.collect {|c| c.payment_id}.include?("4c955477-b582-4d5e-898a-86fa14e461fb")
  end  
  
  # Make sure that a reference to gateway is passed when the get_contacts response is parsed.
  def test_get_payments_gateway_reference
    result = @gateway.get_payments
    assert(result.success?)
    assert_not_equal(0, result.payments.size)
    
    result.payments.each do | payment |
      assert(payment.gateway === @gateway)
    end
  end
  
end