payment_dta 0.0.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.document +5 -0
- data/.gitignore +9 -0
- data/.travis.yml +6 -0
- data/CHANGELOG +20 -0
- data/Gemfile +4 -0
- data/Rakefile +23 -0
- data/lib/payment_dta.rb +2 -1
- data/lib/payment_dta/character_conversion.rb +3 -4
- data/lib/payment_dta/character_conversion_hash.rb +15 -0
- data/lib/payment_dta/dta_file.rb +19 -12
- data/lib/payment_dta/payments/bank_cheque_payment.rb +1 -1
- data/lib/payment_dta/payments/base.rb +33 -33
- data/lib/payment_dta/payments/financial_institution_payment.rb +1 -1
- data/lib/payment_dta/payments/iban_payment.rb +1 -1
- data/lib/payment_dta/payments/special_financial_institution_payment.rb +1 -1
- data/lib/payment_dta/payments/total_record.rb +9 -8
- data/lib/payment_dta/version.rb +3 -0
- data/payment_dta.gemspec +29 -0
- data/spec/factory.rb +3 -2
- data/spec/lib/bank_cheque_payment_spec.rb +1 -1
- data/spec/lib/character_conversion_spec.rb +5 -9
- data/spec/lib/domestic_chf_payment_spec.rb +6 -1
- data/spec/lib/dta_file_spec.rb +16 -3
- data/spec/lib/esr_payment_spec.rb +2 -2
- data/spec/lib/financial_institution_payment_spec.rb +1 -1
- data/spec/lib/iban_payment_spec.rb +13 -1
- data/spec/lib/payment_header_spec.rb +57 -57
- data/spec/lib/payment_spec.rb +2 -1
- data/spec/lib/special_financial_institution_payment_spec.rb +1 -1
- data/spec/spec_helper.rb +8 -4
- data/test/test_generator_helper.rb +29 -0
- data/test/test_payment_generator.rb +46 -0
- data/tmp/.gitkeep +0 -0
- metadata +126 -58
- data/VERSION +0 -1
data/payment_dta.gemspec
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'payment_dta/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "payment_dta"
|
8
|
+
spec.version = DTA::VERSION
|
9
|
+
spec.require_paths = ["lib"]
|
10
|
+
spec.authors = ["Patrick Huesler"]
|
11
|
+
spec.description = "Generate Swiss DTA payment files to extract payments from your existing application"
|
12
|
+
spec.summary = "Ruby library to generate Swiss DTA payment files"
|
13
|
+
spec.email = "patrick.huesler@gmail.com"
|
14
|
+
spec.extra_rdoc_files = [
|
15
|
+
"LICENSE",
|
16
|
+
"README.rdoc"
|
17
|
+
]
|
18
|
+
spec.license = "MIT"
|
19
|
+
spec.files = `git ls-files`.split($/)
|
20
|
+
spec.homepage = "http://github.com/phuesler/payment_dta"
|
21
|
+
|
22
|
+
spec.add_development_dependency "bundler", "~> 1.2"
|
23
|
+
spec.add_development_dependency "rubigen"
|
24
|
+
spec.add_development_dependency "rdoc"
|
25
|
+
spec.add_development_dependency "rspec"
|
26
|
+
spec.add_development_dependency "simplecov"
|
27
|
+
spec.add_development_dependency "rake"
|
28
|
+
end
|
29
|
+
|
data/spec/factory.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
require 'payment_dta/payments/esr_payment'
|
2
3
|
require 'payment_dta/payments/total_record'
|
3
4
|
class Factory
|
@@ -75,8 +76,8 @@ class Factory
|
|
75
76
|
:payment_amount_currency => 'CHF',
|
76
77
|
:issuer_identification => 'ABC01',
|
77
78
|
:transaction_number => rand(100000000000).to_s,
|
78
|
-
:output_sequence_number =>
|
79
|
+
:output_sequence_number => 0,
|
79
80
|
:payment_amount_value_date => Date.today.strftime('%y%m%d')
|
80
81
|
}.merge(attributes)
|
81
82
|
end
|
82
|
-
end
|
83
|
+
end
|
@@ -32,7 +32,7 @@ describe BankChequePayment do
|
|
32
32
|
end
|
33
33
|
|
34
34
|
it 'should have a payment amount justified left filled with blanks' do
|
35
|
-
Factory.create_bank_cheque_payment(:payment_amount => '3949.75').segment1[102,15].should == '3949
|
35
|
+
Factory.create_bank_cheque_payment(:payment_amount => '3949.75').segment1[102,15].should == '3949,75'.ljust(15)
|
36
36
|
end
|
37
37
|
|
38
38
|
it 'should have a reserve field' do
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
3
|
require 'character_conversion'
|
3
4
|
|
@@ -237,7 +238,7 @@ def create_character_from_ut8_decimal_code(code)
|
|
237
238
|
if code < 128
|
238
239
|
code.chr
|
239
240
|
else
|
240
|
-
[code.to_s[0,3].to_i,code.to_s[3,3].to_i].pack("C*")
|
241
|
+
[code.to_s[0,3].to_i,code.to_s[3,3].to_i].pack("C*").force_encoding('utf-8')
|
241
242
|
end
|
242
243
|
end
|
243
244
|
describe "dta character conversion and encoding" do
|
@@ -249,7 +250,7 @@ describe "dta character conversion and encoding" do
|
|
249
250
|
end
|
250
251
|
|
251
252
|
it "should encode the strings" do
|
252
|
-
Converter.should_receive(:encode_characters).with("AEoeue").and_return(
|
253
|
+
Converter.should_receive(:encode_characters).with("AEoeue").and_return("Äöü".encode('iso-8859-1'))
|
253
254
|
Converter.dta_string("Äöü")
|
254
255
|
end
|
255
256
|
|
@@ -267,14 +268,9 @@ describe "dta character conversion and encoding" do
|
|
267
268
|
end
|
268
269
|
|
269
270
|
describe 'DTA character encoding' do
|
270
|
-
|
271
|
-
it "should have a default system encoding of utf8" do
|
272
|
-
$KCODE.should == 'UTF8'
|
273
|
-
end
|
274
|
-
|
275
271
|
it "should convert the encoding from UTF8 to ISO Latincode 8859-1" do
|
276
272
|
encoded_string = Converter.encode_characters("Ä")
|
277
|
-
encoded_string.size.should == 1
|
273
|
+
encoded_string.bytes.to_a.size.should == 1
|
278
274
|
end
|
279
275
|
end
|
280
|
-
end
|
276
|
+
end
|
@@ -33,7 +33,12 @@ describe DomesticCHFPayment do
|
|
33
33
|
end
|
34
34
|
|
35
35
|
it 'should have a payment amount justified left filled with blanks' do
|
36
|
-
Factory.create_domestic_chf_payment(:payment_amount => '3949
|
36
|
+
Factory.create_domestic_chf_payment(:payment_amount => '3949,75').segment1[102,12].should == '3949,75 '
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'should use the swift convention to format the amount' do
|
40
|
+
Factory.create_domestic_chf_payment(:payment_amount => '110.45').segment1[102,12].should == '110,45 '
|
41
|
+
Factory.create_domestic_chf_payment(:payment_amount => 237.05).segment1[102,12].should == '237,05 '
|
37
42
|
end
|
38
43
|
|
39
44
|
it 'should have a reserve field' do
|
data/spec/lib/dta_file_spec.rb
CHANGED
@@ -25,8 +25,8 @@ describe DTAFile do
|
|
25
25
|
file << Factory.create_esr_payment
|
26
26
|
file << Factory.create_esr_payment
|
27
27
|
|
28
|
-
file.records.to_a.first.
|
29
|
-
file.records.to_a[1].
|
28
|
+
file.records.to_a.first.entry_sequence_number.should == "00001"
|
29
|
+
file.records.to_a[1].entry_sequence_number.should == "00002"
|
30
30
|
end
|
31
31
|
|
32
32
|
it "should calculate the total amount" do
|
@@ -36,6 +36,12 @@ describe DTAFile do
|
|
36
36
|
file.total.should == (420.50 + 320.20)
|
37
37
|
end
|
38
38
|
|
39
|
+
it 'should correctly sum up floats' do
|
40
|
+
file = DTAFile.new nil
|
41
|
+
3.times { file << Factory.create_esr_payment(:payment_amount => 0.1) }
|
42
|
+
file.total.should eq 0.3
|
43
|
+
end
|
44
|
+
|
39
45
|
describe DTAFile, "file records" do
|
40
46
|
before(:each) do
|
41
47
|
@record1 = Factory.create_esr_payment(:payment_amount => 2222.22)
|
@@ -53,7 +59,14 @@ describe DTAFile do
|
|
53
59
|
end
|
54
60
|
|
55
61
|
it "should add a total record" do
|
56
|
-
@file_records.last.should include(Factory.create_total_record(
|
62
|
+
@file_records.last.should include(Factory.create_total_record(
|
63
|
+
:entry_sequence_number => 3, :total_amount => 6666.66).to_dta)
|
64
|
+
end
|
65
|
+
|
66
|
+
describe '#dta_string' do
|
67
|
+
it 'equals file contents' do
|
68
|
+
@dta_file.dta_string.size.should == IO.read(@path).size
|
69
|
+
end
|
57
70
|
end
|
58
71
|
end
|
59
72
|
|
@@ -32,7 +32,7 @@ describe 'ESRPayment' do
|
|
32
32
|
end
|
33
33
|
|
34
34
|
it 'should have a payment amount justified left filled with blanks' do
|
35
|
-
Factory.create_esr_payment(:payment_amount => '3949.75').segment1[102,12].should == '3949
|
35
|
+
Factory.create_esr_payment(:payment_amount => '3949.75').segment1[102,12].should == '3949,75 '
|
36
36
|
end
|
37
37
|
|
38
38
|
it 'should have a reserve field' do
|
@@ -154,4 +154,4 @@ describe 'ESRPayment' do
|
|
154
154
|
(@record1 < @record2).should be_true
|
155
155
|
end
|
156
156
|
end
|
157
|
-
end
|
157
|
+
end
|
@@ -33,7 +33,7 @@ describe FinancialInstitutionPayment do
|
|
33
33
|
end
|
34
34
|
|
35
35
|
it 'should have a payment amount justified left filled with blanks' do
|
36
|
-
Factory.create_financial_institution_payment(:payment_amount => '3949.75').segment1[102,15].should == '3949
|
36
|
+
Factory.create_financial_institution_payment(:payment_amount => '3949.75').segment1[102,15].should == '3949,75'.ljust(15)
|
37
37
|
end
|
38
38
|
|
39
39
|
it 'should have a reserve field' do
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# encoding: utf-8
|
1
2
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
3
|
require 'payments/iban_payment'
|
3
4
|
|
@@ -32,7 +33,7 @@ describe IBANPayment do
|
|
32
33
|
end
|
33
34
|
|
34
35
|
it 'should have a payment amount justified left filled with blanks' do
|
35
|
-
Factory.create_iban_payment(:payment_amount => '3949.75').segment1[102,15].should == '3949
|
36
|
+
Factory.create_iban_payment(:payment_amount => '3949.75').segment1[102,15].should == '3949,75'.ljust(15)
|
36
37
|
end
|
37
38
|
|
38
39
|
it 'should have a reserve field' do
|
@@ -64,6 +65,11 @@ describe IBANPayment do
|
|
64
65
|
Factory.create_iban_payment(:ordering_partys_address_line3 => '8000 Zurich').segment2[84,35].should == '8000 Zurich'.ljust(35)
|
65
66
|
end
|
66
67
|
|
68
|
+
it 'should have the correct length when containing umlauts' do
|
69
|
+
Factory.create_iban_payment(:ordering_partys_address_line3 => '8000 Zürich').
|
70
|
+
segment2[84,35].should == '8000 Zuerich'.ljust(35)
|
71
|
+
end
|
72
|
+
|
67
73
|
it 'should have a reserve field' do
|
68
74
|
Factory.create_iban_payment.segment2[114,9].should == ' '.ljust(9)
|
69
75
|
end
|
@@ -124,6 +130,12 @@ describe IBANPayment do
|
|
124
130
|
Factory.create_iban_payment(:beneficiary_address_line1 => 'Michael Recipient').segment4[2,35].should == 'Michael Recipient'.ljust(35)
|
125
131
|
end
|
126
132
|
|
133
|
+
it 'should truncate input longer than 35 characters' do
|
134
|
+
name = 'Joannes Chrysostomus Wolfgangus Theophilus Mozart'
|
135
|
+
Factory.create_iban_payment(:beneficiary_address_line1 => name).
|
136
|
+
beneficiary_address_line1(35).should == name[0, 35]
|
137
|
+
end
|
138
|
+
|
127
139
|
it 'should have a beneficiary address line 2' do
|
128
140
|
Factory.create_iban_payment(:beneficiary_address_line2 => 'Empfaengerstrasse 1').segment4[37,35].should == 'Empfaengerstrasse 1'.ljust(35)
|
129
141
|
end
|
@@ -7,25 +7,25 @@ shared_examples_for "all headers" do
|
|
7
7
|
it 'should have a total length of 51 characters' do
|
8
8
|
Factory.create_payment(@type).header.size.should == 51
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
11
|
it 'should fill out a blank output sequence number' do
|
12
12
|
Factory.create_payment(@type).header[18,5].should == '00000'
|
13
13
|
end
|
14
|
-
|
14
|
+
|
15
15
|
it 'should set the creation date' do
|
16
16
|
Factory.create_payment(@type).header[23,6].should == Date.today.strftime('%y%m%d')
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
19
|
it 'should set the data file sender identification' do
|
20
20
|
Factory.create_payment(@type,:data_file_sender_identification => 'ABC12').header[36,5].should == 'ABC12'
|
21
21
|
end
|
22
|
-
|
22
|
+
|
23
23
|
it 'should should set the entry sequence number' do
|
24
24
|
Factory.create_payment(@type,:entry_sequence_number => 1).header[41,5].should == '00001'
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
it 'should set the processing flag to 0' do
|
28
|
-
Factory.create_payment(@type).header[50,1].should == '0'
|
28
|
+
Factory.create_payment(@type).header[50,1].should == '0'
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
@@ -33,27 +33,27 @@ describe ESRPayment, 'header' do
|
|
33
33
|
before(:each) do
|
34
34
|
@type = :esr
|
35
35
|
end
|
36
|
-
|
36
|
+
|
37
37
|
it_should_behave_like 'all headers'
|
38
|
-
|
38
|
+
|
39
39
|
it 'should set a the correct processing date' do
|
40
40
|
Factory.create_esr_payment(:requested_processing_date => '051021').header[0,6].should == '051021'
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
it 'should fill the beneficiarys bank clearing number with blanks' do
|
44
44
|
Factory.create_esr_payment.header[6,12].should == ''.ljust(12,' ')
|
45
45
|
end
|
46
46
|
|
47
47
|
it 'should set the ordering party bank clearing number' do
|
48
|
-
Factory.create_esr_payment(:ordering_party_bank_clearing_number => '254').header[29,7].should == '
|
48
|
+
Factory.create_esr_payment(:ordering_party_bank_clearing_number => '254').header[29,7].should == '254 '
|
49
49
|
end
|
50
50
|
|
51
51
|
it 'should should set the transaction type to 826' do
|
52
|
-
Factory.create_esr_payment.header[46,3].should == '826'
|
52
|
+
Factory.create_esr_payment.header[46,3].should == '826'
|
53
53
|
end
|
54
54
|
|
55
55
|
it 'should set the payment type to 0' do
|
56
|
-
Factory.create_esr_payment.header[49,1].should == '0'
|
56
|
+
Factory.create_esr_payment.header[49,1].should == '0'
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
@@ -62,25 +62,25 @@ describe DomesticCHFPayment, 'header' do
|
|
62
62
|
@type = :domestic_chf
|
63
63
|
end
|
64
64
|
it_should_behave_like 'all headers'
|
65
|
-
|
65
|
+
|
66
66
|
it 'should set a the correct processing date' do
|
67
67
|
Factory.create_domestic_chf_payment(:requested_processing_date => '051021').header[0,6].should == '051021'
|
68
68
|
end
|
69
|
-
|
69
|
+
|
70
70
|
it 'should fill the beneficiarys bank clearing number with blanks' do
|
71
71
|
Factory.create_domestic_chf_payment(:beneficiary_bank_clearing_number => "99999").header[6,12].should == '99999'.ljust(12,' ')
|
72
72
|
end
|
73
|
-
|
73
|
+
|
74
74
|
it 'should set the ordering party bank clearing number' do
|
75
|
-
Factory.create_domestic_chf_payment(:ordering_party_bank_clearing_number => '254').header[29,7].should == '
|
75
|
+
Factory.create_domestic_chf_payment(:ordering_party_bank_clearing_number => '254').header[29,7].should == '254 '
|
76
76
|
end
|
77
|
-
|
77
|
+
|
78
78
|
it 'should should set the transaction type to 827' do
|
79
|
-
Factory.create_domestic_chf_payment.header[46,3].should == '827'
|
79
|
+
Factory.create_domestic_chf_payment.header[46,3].should == '827'
|
80
80
|
end
|
81
81
|
|
82
82
|
it 'should set the payment type to 0' do
|
83
|
-
Factory.create_domestic_chf_payment.header[49,1].should == '0'
|
83
|
+
Factory.create_domestic_chf_payment.header[49,1].should == '0'
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
@@ -88,27 +88,27 @@ describe FinancialInstitutionPayment, 'header' do
|
|
88
88
|
before(:each) do
|
89
89
|
@type = :financial_institution
|
90
90
|
end
|
91
|
-
|
91
|
+
|
92
92
|
it_should_behave_like 'all headers'
|
93
|
-
|
93
|
+
|
94
94
|
it 'should fill the requested processing date with zeros' do
|
95
95
|
Factory.create_financial_institution_payment.header[0,6].should == '000000'
|
96
96
|
end
|
97
|
-
|
97
|
+
|
98
98
|
it 'should fill the beneficiarys bank clearing number with blanks' do
|
99
99
|
Factory.create_financial_institution_payment.header[6,12].should == ''.ljust(12,' ')
|
100
100
|
end
|
101
|
-
|
101
|
+
|
102
102
|
it 'should set the ordering party bank clearing number' do
|
103
|
-
Factory.create_financial_institution_payment(:ordering_party_bank_clearing_number => '254').header[29,7].should == '
|
103
|
+
Factory.create_financial_institution_payment(:ordering_party_bank_clearing_number => '254').header[29,7].should == '254 '
|
104
104
|
end
|
105
105
|
|
106
106
|
it 'should should set the transaction type to 830' do
|
107
|
-
Factory.create_financial_institution_payment.header[46,3].should == '830'
|
107
|
+
Factory.create_financial_institution_payment.header[46,3].should == '830'
|
108
108
|
end
|
109
109
|
|
110
110
|
it 'should set the payment type to 0' do
|
111
|
-
Factory.create_financial_institution_payment.header[49,1].should == '0'
|
111
|
+
Factory.create_financial_institution_payment.header[49,1].should == '0'
|
112
112
|
end
|
113
113
|
end
|
114
114
|
|
@@ -116,27 +116,27 @@ describe BankChequePayment, 'header' do
|
|
116
116
|
before(:each) do
|
117
117
|
@type = :bank_cheque
|
118
118
|
end
|
119
|
-
|
119
|
+
|
120
120
|
it_should_behave_like 'all headers'
|
121
|
-
|
121
|
+
|
122
122
|
it 'should fill the requested processing date with zeros' do
|
123
123
|
Factory.create_bank_cheque_payment.header[0,6].should == '000000'
|
124
124
|
end
|
125
|
-
|
125
|
+
|
126
126
|
it 'should fill the beneficiarys bank clearing number with blanks' do
|
127
127
|
Factory.create_bank_cheque_payment.header[6,12].should == ''.ljust(12,' ')
|
128
128
|
end
|
129
|
-
|
129
|
+
|
130
130
|
it 'should set the ordering party bank clearing number' do
|
131
|
-
Factory.create_bank_cheque_payment(:ordering_party_bank_clearing_number => '254').header[29,7].should == '
|
131
|
+
Factory.create_bank_cheque_payment(:ordering_party_bank_clearing_number => '254').header[29,7].should == '254 '
|
132
132
|
end
|
133
|
-
|
133
|
+
|
134
134
|
it 'should should set the transaction type to 832' do
|
135
|
-
Factory.create_bank_cheque_payment.header[46,3].should == '832'
|
135
|
+
Factory.create_bank_cheque_payment.header[46,3].should == '832'
|
136
136
|
end
|
137
137
|
|
138
138
|
it 'should set the payment type to 0' do
|
139
|
-
Factory.create_bank_cheque_payment.header[49,1].should == '0'
|
139
|
+
Factory.create_bank_cheque_payment.header[49,1].should == '0'
|
140
140
|
end
|
141
141
|
end
|
142
142
|
|
@@ -144,27 +144,27 @@ describe IBANPayment, 'header' do
|
|
144
144
|
before(:each) do
|
145
145
|
@type = :iban
|
146
146
|
end
|
147
|
-
|
147
|
+
|
148
148
|
it_should_behave_like 'all headers'
|
149
|
-
|
149
|
+
|
150
150
|
it 'should fill the requested processing date with zeros' do
|
151
151
|
Factory.create_iban_payment.header[0,6].should == '000000'
|
152
152
|
end
|
153
|
-
|
153
|
+
|
154
154
|
it 'should fill the beneficiarys bank clearing number with blanks' do
|
155
155
|
Factory.create_iban_payment.header[6,12].should == ''.ljust(12,' ')
|
156
156
|
end
|
157
|
-
|
157
|
+
|
158
158
|
it 'should set the ordering party bank clearing number' do
|
159
|
-
Factory.create_iban_payment(:ordering_party_bank_clearing_number => '254').header[29,7].should == '
|
159
|
+
Factory.create_iban_payment(:ordering_party_bank_clearing_number => '254').header[29,7].should == '254 '
|
160
160
|
end
|
161
|
-
|
161
|
+
|
162
162
|
it 'should should set the transaction type to 836' do
|
163
|
-
Factory.create_iban_payment.header[46,3].should == '836'
|
163
|
+
Factory.create_iban_payment.header[46,3].should == '836'
|
164
164
|
end
|
165
165
|
|
166
166
|
it 'should set the payment type to 1' do
|
167
|
-
Factory.create_iban_payment.header[49,1].should == '1'
|
167
|
+
Factory.create_iban_payment.header[49,1].should == '1'
|
168
168
|
end
|
169
169
|
end
|
170
170
|
|
@@ -172,27 +172,27 @@ describe SpecialFinancialInstitutionPayment, 'header' do
|
|
172
172
|
before(:each) do
|
173
173
|
@type = :special_financial_institution
|
174
174
|
end
|
175
|
-
|
175
|
+
|
176
176
|
it_should_behave_like 'all headers'
|
177
|
-
|
177
|
+
|
178
178
|
it 'should fill the requested processing date with zeros' do
|
179
179
|
Factory.create_special_financial_institution_payment.header[0,6].should == '000000'
|
180
180
|
end
|
181
|
-
|
181
|
+
|
182
182
|
it 'should fill the beneficiarys bank clearing number with blanks' do
|
183
183
|
Factory.create_special_financial_institution_payment.header[6,12].should == ''.ljust(12,' ')
|
184
184
|
end
|
185
|
-
|
185
|
+
|
186
186
|
it 'should set the ordering party bank clearing number' do
|
187
|
-
Factory.create_special_financial_institution_payment(:ordering_party_bank_clearing_number => '254').header[29,7].should == '
|
187
|
+
Factory.create_special_financial_institution_payment(:ordering_party_bank_clearing_number => '254').header[29,7].should == '254 '
|
188
188
|
end
|
189
189
|
|
190
190
|
it 'should should set the transaction type to 837' do
|
191
|
-
Factory.create_special_financial_institution_payment.header[46,3].should == '837'
|
191
|
+
Factory.create_special_financial_institution_payment.header[46,3].should == '837'
|
192
192
|
end
|
193
193
|
|
194
194
|
it 'should set the payment type to 1' do
|
195
|
-
Factory.create_special_financial_institution_payment.header[49,1].should == '1'
|
195
|
+
Factory.create_special_financial_institution_payment.header[49,1].should == '1'
|
196
196
|
end
|
197
197
|
end
|
198
198
|
|
@@ -200,22 +200,22 @@ describe TotalRecord, 'header' do
|
|
200
200
|
before(:each) do
|
201
201
|
@type = :total
|
202
202
|
end
|
203
|
-
|
203
|
+
|
204
204
|
it_should_behave_like 'all headers'
|
205
|
-
|
205
|
+
|
206
206
|
it 'should fill the ordering party bank clearing number with blanks' do
|
207
207
|
Factory.create_total_payment.header[29,7].should == ' '
|
208
208
|
end
|
209
|
-
|
209
|
+
|
210
210
|
it 'should should set the transaction type to 890' do
|
211
|
-
Factory.create_total_payment.header[46,3].should == '890'
|
211
|
+
Factory.create_total_payment.header[46,3].should == '890'
|
212
212
|
end
|
213
|
-
|
213
|
+
|
214
214
|
it 'should set the payment type to 0' do
|
215
|
-
Factory.create_total_payment.header[49,1].should == '0'
|
215
|
+
Factory.create_total_payment.header[49,1].should == '0'
|
216
216
|
end
|
217
|
-
|
217
|
+
|
218
218
|
it 'should set a the correct processing date' do
|
219
219
|
Factory.create_total_payment.header[0,6].should == '000000'
|
220
220
|
end
|
221
|
-
end
|
221
|
+
end
|