Sha256: 042a31f99a85846586880b6f137deba744378dcb14eaa989593a34ec357b2a90

Contents?: true

Size: 1.69 KB

Versions: 23

Compression:

Stored size: 1.69 KB

Contents

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

class GetInvoiceTest < 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 =~ /Invoices(\/[0-9a-z\-]+)?$/i }.returns(get_file_as_string("invoice.xml"))              
      @gateway.stubs(:http_put).with {|client, url, body, params| url =~ /Invoices$/ }.returns(get_file_as_string("create_invoice.xml"))          
    end
  end
  
  def test_get_invoice
    # Make sure there is an invoice in Xero to retrieve
    invoice = @gateway.create_invoice(dummy_invoice).invoice

    result = @gateway.get_invoice(invoice.invoice_id)
    assert result.success?
    assert !result.request_params.nil?
    assert !result.response_xml.nil?    
    assert_equal result.invoice.invoice_number, invoice.invoice_number

    result = @gateway.get_invoice(invoice.invoice_number)
    assert result.success?
    assert !result.request_params.nil?
    assert !result.response_xml.nil?    
    assert_equal result.invoice.invoice_id, invoice.invoice_id
  end
  
  def test_line_items_downloaded_set_correctly
    # Make sure there is an invoice in Xero to retrieve.
    example_invoice = @gateway.create_invoice(dummy_invoice).invoice
    
    # No line items.
    response = @gateway.get_invoice(example_invoice.invoice_id)
    assert_equal(true, response.success?)
    
    invoice = response.invoice
    assert_kind_of(XeroGateway::LineItem, invoice.line_items.first)
    assert_kind_of(XeroGateway::Invoice, invoice)
    assert_equal(true, invoice.line_items_downloaded?)
  end
  
end

Version data entries

23 entries across 23 versions & 3 rubygems

Version Path
xero_gateway-float-2.0.18 test/integration/get_invoice_test.rb
xero_gateway-float-2.0.17 test/integration/get_invoice_test.rb
xero_gateway-float-2.0.16 test/integration/get_invoice_test.rb
xero_gateway-float-2.0.15 test/integration/get_invoice_test.rb
xero_gateway-n8vision-2.0.20 test/integration/get_invoice_test.rb
xero_gateway-2.0.19 test/integration/get_invoice_test.rb
xero_gateway-2.0.18 test/integration/get_invoice_test.rb
xero_gateway-2.0.17 test/integration/get_invoice_test.rb
xero_gateway-2.0.16 test/integration/get_invoice_test.rb
xero_gateway-2.0.15 test/integration/get_invoice_test.rb
xero_gateway-2.0.14 test/integration/get_invoice_test.rb
xero_gateway-2.0.13 test/integration/get_invoice_test.rb
xero_gateway-2.0.12 test/integration/get_invoice_test.rb
xero_gateway-2.0.11 test/integration/get_invoice_test.rb
xero_gateway-2.0.10 test/integration/get_invoice_test.rb
xero_gateway-2.0.9 test/integration/get_invoice_test.rb
xero_gateway-2.0.8 test/integration/get_invoice_test.rb
xero_gateway-2.0.7 test/integration/get_invoice_test.rb
xero_gateway-2.0.6 test/integration/get_invoice_test.rb
xero_gateway-2.0.5 test/integration/get_invoice_test.rb