test/unit/models/bank_transaction_test.rb in xeroizer-float-2.15.3.16 vs test/unit/models/bank_transaction_test.rb in xeroizer-float-2.15.5.1

- old
+ new

@@ -5,12 +5,11 @@ include Xeroizer::Record def setup fake_parent = Class.new do attr_accessor :application - def mark_dirty(*args) - end + def mark_dirty(*args); end end.new the_line_items = [ LineItem.build({:quantity => 1, :tax_amount => 0.15, :unit_amount => 1.00, :tax_amount => 0.50}, nil), LineItem.build({:quantity => 1, :tax_amount => 0.15, :unit_amount => 1.00, :tax_amount => 0.50}, nil) @@ -50,11 +49,10 @@ assert_equal "1.0", @the_bank_transaction.sub_total.to_s end end context "bank transaction totals" do - should "large-scale testing from API XML" do bank_transactions = @client.BankTransaction.all bank_transactions.each do | bank_transaction | assert(!!bank_transaction.attributes[:currency_code], "Doesn't have currency code in attributes") assert(!!bank_transaction.currency_code, "Doesn't have currency code in model") @@ -67,9 +65,19 @@ assert_equal(bank_transaction.attributes[:currency_rate], bank_transaction.currency_rate) else assert_equal(1.0, bank_transaction.currency_rate) end end + end + + should "handle bank transfers properly" do + bank_transactions = @client.BankTransaction.all + bank_transaction = bank_transactions.find { |bt| bt.attributes[:type] == "SPEND-TRANSFER" } + + assert( bank_transaction.is_transfer? ) + assert_equal( bank_transaction.attributes[:total], bank_transaction.total) + assert_equal( bank_transaction.attributes[:total], bank_transaction.sub_total) + assert_equal( 0, bank_transaction.total_tax) end end end