test/mt940_rabobank_test.rb in mt940-0.6.6 vs test/mt940_rabobank_test.rb in mt940-0.7.0
- old
+ new
@@ -1,59 +1,128 @@
require 'helper'
class TestMt940Rabobank < Test::Unit::TestCase
- def setup
- file_name = File.dirname(__FILE__) + '/fixtures/rabobank.txt'
- @transactions = MT940::Base.transactions(file_name)
- @transaction = @transactions.first
- end
+ context 'Before SEPA' do
+ setup do
+ file_name = File.dirname(__FILE__) + '/fixtures/rabobank.txt'
+ @transactions = MT940::Parser.new(file_name).transactions
+ end
- should 'have the correct number of transactions' do
- assert_equal 3, @transactions.size
- end
-
- context 'Transaction' do
- should 'have a bank_account' do
- assert_equal '129199348', @transaction.bank_account
+ should 'have the correct number of transactions' do
+ assert_equal 3, @transactions.size
end
- context 'Contra account' do
- should 'be determined in case of a GIRO account' do
- assert_equal '121470966', @transaction.contra_account
+ context 'Transaction' do
+
+ setup do
+ @transaction = @transactions.first
end
- should 'be determined in case of a regular bank' do
- assert_equal '733959555', @transactions[1].contra_account
+ should 'have a bank_account' do
+ assert_equal '129199348', @transaction.bank_account
end
- should 'be determined in case of a NONREF' do
- assert_equal 'NONREF', @transactions.last.contra_account
+ context 'Contra account' do
+ should 'be determined in case of a GIRO account' do
+ assert_equal '121470966', @transaction.contra_account
+ end
+
+ should 'be determined in case of a regular bank' do
+ assert_equal '733959555', @transactions[1].contra_account
+ end
+
+ should 'be determined in case of a NONREF' do
+ assert_equal 'NONREF', @transactions.last.contra_account
+ end
end
- end
- should 'have an amount' do
- assert_equal -1213.28, @transaction.amount
- end
+ should 'have an amount' do
+ assert_equal -1213.28, @transaction.amount
+ end
- should 'have a currency' do
- assert_equal 'EUR', @transaction.currency
- end
+ should 'have a currency' do
+ assert_equal 'EUR', @transaction.currency
+ end
- should 'have a contra_account_owner' do
- assert_equal 'W.P. Jansen', @transaction.contra_account_owner
+ should 'have a contra_account_owner' do
+ assert_equal 'W.P. Jansen', @transaction.contra_account_owner
+ end
+
+ should 'have a description' do
+ assert_equal 'Terugboeking NIET AKKOORD MET AFSCHRIJVING KOSTEN KINDEROPVANG JUNI 20095731', @transaction.description
+ end
+
+ should 'have a date' do
+ assert_equal Date.new(2011,5,27), @transaction.date
+ end
+
+ should 'return its bank' do
+ assert_equal 'Rabobank', @transaction.bank
+ end
+
end
- should 'have a description' do
- assert_equal 'Terugboeking NIET AKKOORD MET AFSCHRIJVING KOSTEN KINDEROPVANG JUNI 20095731', @transaction.description
+ end
+
+ context 'After SEPA' do
+ setup do
+ file_name = File.dirname(__FILE__) + '/fixtures/rabobank_sepa.txt'
+ @transactions = MT940::Parser.new(file_name).transactions
end
- should 'have a date' do
- assert_equal Date.new(2011,5,27), @transaction.date
+ should 'have the correct number of transactions' do
+ assert_equal 12, @transactions.size
end
- should 'return its bank' do
- assert_equal 'Rabobank', @transaction.bank
+ context 'Transaction' do
+
+ setup do
+ @transaction = @transactions.first
+ end
+
+ should 'have a bank_account' do
+ assert_equal 'NL50RABO0123456789', @transaction.bank_account
+ end
+
+ context 'Contra account' do
+ should 'be determined in case of a GIRO account' do
+ assert_equal 'NL96RBOS0523149468', @transaction.contra_account
+ end
+
+ should 'be determined in case of a regular bank' do
+ assert_equal '0663616476', @transactions[1].contra_account
+ end
+
+ should 'be determined in case of Postbank account' do
+ assert_equal 'P004500018', @transactions[4].contra_account
+ end
+ end
+
+ should 'have an amount' do
+ assert_equal -127.50, @transaction.amount
+ end
+
+ should 'have a currency' do
+ assert_equal 'EUR', @transaction.currency
+ end
+
+ should 'not be able to determine a contra_account_owner' do
+ assert !@transaction.contra_account_owner
+ end
+
+ should 'have a description' do
+ assert_equal 'DIVV afd parkeergebouwewn Factuur 307472', @transactions[4].description
+ end
+
+ should 'have a date' do
+ assert_equal Date.new(2013,4,3), @transaction.date
+ end
+
+ should 'return its bank' do
+ assert_equal 'Rabobank', @transaction.bank
+ end
+
end
end
end