king_dtaus 2.0.1 → 2.0.2.pre

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,122 +8,71 @@ describe KingDta::Account do
8
8
  end
9
9
 
10
10
  it "should initialize a new account" do
11
- lambda{
12
- KingDta::Account.new(:bank_account_number => @ba.bank_account_number,
13
- :bank_number => @ba.bank_number,
14
- :owner_name => @ba.owner_name)
15
- }.should_not raise_error
11
+ lambda{ KingDta::Account.new(:account_number => @ba.account_number, :bank_number => @ba.bank_number, :client_name => @ba.client_name) }.should_not raise_error
16
12
  end
17
13
 
18
14
  it "should initialize a new dtazv account" do
19
- lambda{
15
+ lambda{
20
16
  KingDta::Account.new(sender_opts)
21
17
  }.should_not raise_error
22
18
  end
23
19
 
24
- it "should convert bank_account_number to integer" do
25
- opts = {:bank_account_number => '0123456',
26
- :bank_number => @ba.bank_number,
27
- :owner_name => @ba.owner_name}
28
- anct = KingDta::Account.new(opts)
29
- anct.bank_account_number.should == 123456
30
-
31
- anct2 = KingDta::Account.new(opts.merge(:bank_account_number=>'012 345 6'))
32
- anct2.bank_account_number.should == 123456
33
- end
34
-
35
- it "should convert bank_number to integer" do
36
- opts = {:bank_account_number => @ba.bank_account_number,
37
- :bank_number => '0123',
38
- :owner_name => @ba.owner_name}
39
- anct = KingDta::Account.new(opts)
40
- anct.bank_number.should == 123
41
-
42
- anct2 = KingDta::Account.new(opts.merge(:bank_number=>'012 34 5'))
43
- anct2.bank_number.should == 12345
44
- end
45
-
46
20
  it "should fail if bank account number is invalid" do
47
- lambda{
48
- KingDta::Account.new(:bank_account_number => 123456789011123456789011123456789011,
49
- :bank_number => @ba.bank_number,
50
- :owner_name => @ba.owner_name)
51
-
52
- }.should raise_error(ArgumentError, 'Bank account number too long, max 10 allowed')
21
+ # lambda{ KingDta::Account.new(0, @ba.bank_number, @ba.client_name) }.should raise_error(ArgumentError)
22
+ lambda{ KingDta::Account.new(:account_number => 123456789011123456789011123456789011123456789011123456789011123456789011, :bank_number => @ba.bank_number, :client_name => @ba.client_name) }.should raise_error(ArgumentError, 'Account number too long, max 35 allowed')
53
23
  end
54
24
 
55
25
  it "should fail if bank number is invalid" do
56
- lambda{
57
- KingDta::Account.new( :bank_account_number => @ba.bank_account_number,
58
- :bank_number => 0,
59
- :owner_name => @ba.owner_name)
60
- }.should raise_error(ArgumentError)
61
-
62
- lambda{
63
- KingDta::Account.new( :bank_account_number => @ba.bank_account_number,
64
- :bank_number => 123456789101112,
65
- :owner_name => @ba.owner_name)
66
- }.should raise_error(ArgumentError, 'Bank number too long, max 8 allowed')
26
+ lambda{ KingDta::Account.new(:account_number => @ba.account_number, :bank_number => 0, :client_name => @ba.client_name) }.should raise_error(ArgumentError)
27
+ lambda{ KingDta::Account.new(:account_number => @ba.account_number, :bank_number => 123456789101112, :client_name => @ba.client_name) }.should raise_error(ArgumentError, 'Bank number too long, max 11 allowed')
67
28
  end
68
29
 
69
- it "should fail if owner number is too long" do
70
- lambda{
71
- KingDta::Account.new( :bank_account_number => @ba.bank_account_number,
72
- :bank_number => @ba.bank_number,
73
- :owner_name => @ba.owner_name,
74
- :owner_number => 12345678901)
75
- }.should raise_error(ArgumentError, 'Owner number too long, max 10 allowed')
30
+ it "should fail if clent number is too long" do
31
+ lambda{ KingDta::Account.new(:account_number => @ba.account_number, :bank_number => @ba.bank_number, :client_name => @ba.client_name, :client_number => 12345678901) }.should raise_error(ArgumentError, 'Client number too long, max 10 allowed')
76
32
  end
77
33
 
78
- it "should fail if street and/or Zip Code is too long" do
34
+ it "should fail if street and/or Zip Code is too long" do
79
35
  opts = sender_opts.merge( :bank_street => "Lorem ipsum dolor sit amet, consectetur")
80
36
  lambda{
81
37
  KingDta::Account.new(opts)
82
- }.should raise_error(ArgumentError, 'Bank street too long, max 35 allowed')
38
+ }.should raise_error(ArgumentError, 'Bank Street too long, max 35 allowed')
83
39
  end
84
40
 
85
41
  it "should fail if city is too long" do
86
42
  opts = sender_opts.merge( :bank_city => "Lorem ipsum dolor sit amet, consecte")
87
- lambda{
43
+ lambda{
88
44
  KingDta::Account.new opts
89
- }.should raise_error(ArgumentError, 'Bank city too long, max 35 allowed')
45
+ }.should raise_error(ArgumentError, 'Bank City too long, max 35 allowed')
90
46
  end
91
47
 
92
48
  it "should fail if bank name is too long" do
93
49
  opts = sender_opts.merge( :bank_name => "Lorem ipsum dolor sit amet, consecte")
94
50
  lambda{
95
51
  KingDta::Account.new opts
96
- }.should raise_error(ArgumentError, 'Bank name too long, max 35 allowed')
52
+ }.should raise_error(ArgumentError, 'Bank Name too long, max 35 allowed')
97
53
  end
98
54
 
99
55
  it "should fail if client street is too long" do
100
- opts = sender_opts.merge( :owner_street => "Lorem ipsum dolor sit amet, consecte")
56
+ opts = sender_opts.merge( :client_street => "Lorem ipsum dolor sit amet, consecte")
101
57
  lambda{
102
58
  KingDta::Account.new opts
103
- }.should raise_error(ArgumentError, 'Owner street too long, max 35 allowed')
59
+ }.should raise_error(ArgumentError, 'Client Street too long, max 35 allowed')
104
60
  end
105
61
 
106
62
  it "should fail if city is too long" do
107
- opts = sender_opts.merge( :owner_city => "Lorem ipsum dolor sit amet, consecte")
63
+ opts = sender_opts.merge( :client_city => "Lorem ipsum dolor sit amet, consecte")
108
64
  lambda{
109
65
  KingDta::Account.new opts
110
- }.should raise_error(ArgumentError, 'Owner city too long, max 35 allowed')
66
+ }.should raise_error(ArgumentError, 'Client City too long, max 35 allowed')
111
67
  end
112
68
 
113
69
  it "should return account street and zip" do
114
- acnt = KingDta::Account.new( sender_opts )
115
- acnt.bank_zip_city.should == "51063 BANK KOELN"
70
+ konto = KingDta::Account.new( sender_opts )
71
+ konto.zip_city.should == "51063 BANK KOELN"
116
72
  end
117
73
 
118
74
  it "should return sender street and zip" do
119
- acnt = KingDta::Account.new( sender_opts )
120
- acnt.owner_zip_city.should == "51063 MEINE KOELN"
121
- end
122
-
123
- it "should set owner country code from iban" do
124
- opts = receiver_opts
125
- opts[:owner_country_code] = nil
126
- acnt = KingDta::Account.new( opts )
127
- acnt.owner_country_code.should == "PL"
75
+ konto = KingDta::Account.new( sender_opts )
76
+ konto.client_zip_city.should == "51063 MEINE KOELN"
128
77
  end
129
78
  end
@@ -8,9 +8,9 @@ describe KingDta::Dtaus do
8
8
  @dtaus_gk = KingDta::Dtaus.new('GK', Date.today)
9
9
  @kto1 = test_kto1
10
10
  @kto2 = test_kto2
11
- @dtaus.account = KingDta::Account.new(:bank_account_number => @kto1.bank_account_number, :bank_number => @kto1.bank_number, :owner_name => @kto1.owner_name, :bank_name => @kto1.bank_name)
12
- @dtaus_gk.account = KingDta::Account.new(:bank_account_number => @kto1.bank_account_number, :bank_number => @kto1.bank_number, :owner_name => @kto1.owner_name, :bank_name => @kto1.bank_name)
13
- @booking = KingDta::Booking.new(KingDta::Account.new(:bank_account_number => @kto2.bank_account_number, :bank_number => @kto2.bank_number, :owner_name => @kto2.owner_name, :bank_name => @kto2.bank_name), 220.25 )
11
+ @dtaus.account = KingDta::Account.new(:account_number => @kto1.account_number, :bank_number => @kto1.bank_number, :client_name => @kto1.client_name, :bank_name => @kto1.bank_name)
12
+ @dtaus_gk.account = KingDta::Account.new(:account_number => @kto1.account_number, :bank_number => @kto1.bank_number, :client_name => @kto1.client_name, :bank_name => @kto1.bank_name)
13
+ @booking = KingDta::Booking.new(KingDta::Account.new(:account_number => @kto2.account_number, :bank_number => @kto2.bank_number, :client_name => @kto2.client_name, :bank_name => @kto2.bank_name), 220.25 )
14
14
  end
15
15
 
16
16
  it "should not init without values" do
@@ -41,7 +41,7 @@ describe KingDta::Dtaus do
41
41
 
42
42
  it "should not add a booking if closed" do
43
43
  @dtaus.add(@booking)
44
- negative_booking = KingDta::Booking.new(KingDta::Account.new(:bank_account_number => @kto2.bank_account_number, :bank_number => @kto2.bank_number, :owner_name => @kto2.owner_name, :bank_name => @kto2.bank_name ), -120.25 )
44
+ negative_booking = KingDta::Booking.new(KingDta::Account.new(:account_number => @kto2.account_number, :bank_number => @kto2.bank_number, :client_name => @kto2.client_name, :bank_name => @kto2.bank_name ), -120.25 )
45
45
  lambda{ @dtaus.add(negative_booking) }.should raise_error(KingDta::Exception)
46
46
  end
47
47
 
@@ -55,7 +55,7 @@ describe KingDta::Dtaus do
55
55
  out = "0128ALK3704004400000000GIMME YOUR MONEY AG #{Date.today.strftime("%d%m%y")} 78289700370000000000 #{Date.today.strftime("%d%m%Y")} 1"
56
56
  str.should == out
57
57
  #60-70 kontonummer mit nullen aufgefüllt - hier nicht da ktnr == 10 stellen
58
- str[60...70].should == "#{test_kto1.bank_account_number}"
58
+ str[60...70].should == "#{test_kto1.account_number}"
59
59
  str.should include(test_kto1.bank_number)
60
60
  end
61
61
 
@@ -85,31 +85,17 @@ describe KingDta::Dtaus do
85
85
  @dtaus.add_c(@booking)
86
86
  str = @dtaus.dta_string
87
87
  str.length.should == 256
88
- str.should include(@kto2.owner_name.upcase)
88
+ str.should include(@kto2.client_name.upcase)
89
89
  out = "0216C00000000370400440002787777000000000000005000 0000000000037040044782897003700000022025 PETER & MAY GMBH GIMME YOUR MONEY AGSALESKING MONATSBEITRAG 08/1 010210 FREELANCER VERSION "
90
90
  str.should == out
91
91
  end
92
92
 
93
- it "should create c-sektion with long account owner name in extension" do
94
- @dtaus.account = KingDta::Account.new(:bank_account_number => @kto1.bank_account_number, :bank_number => @kto1.bank_number,
95
- :owner_name => 'A very long name exeeding 27 characters even longer 54 chars', :bank_name => @kto1.bank_name)
96
-
97
- @dtaus.add(@booking)
98
- @dtaus.bookings.first.text = 'SalesKing Monatsbeitrag 08/10 Freelancer Version'
99
- @dtaus.add_c(@booking)
100
- str = @dtaus.dta_string
101
- str.length.should == 256
102
- str.should include(@kto2.owner_name.upcase)
103
- out = "0245C00000000370400440002787777000000000000005000 0000000000037040044782897003700000022025 PETER & MAY GMBH A VERY LONG NAME EXEEDING 2SALESKING MONATSBEITRAG 08/1 020210 FREELANCER VERSION 037 CHARACTERS EVEN LONGER 54 "
104
- str.should == out
105
- end
106
-
107
93
  it "should create c-sektion with default booking text" do
108
94
  @dtaus.default_text = 'Default verwendungszweck'
109
95
  @dtaus.add_c(@booking)
110
96
  str = @dtaus.dta_string
111
97
  str.length.should == 256
112
- str.should include(@kto2.owner_name.upcase)
98
+ str.should include(@kto2.client_name.upcase)
113
99
  out = "0187C00000000370400440002787777000000000000005000 0000000000037040044782897003700000022025 PETER & MAY GMBH GIMME YOUR MONEY AGDEFAULT VERWENDUNGSZWECK 1 00 "
114
100
  str.should == out
115
101
  end
@@ -119,8 +105,8 @@ describe KingDta::Dtaus do
119
105
  @dtaus.add(@booking)
120
106
  str = @dtaus.create
121
107
  str.length.should == 512
122
- str.should include(@kto1.owner_name.upcase)
123
- str.should include(@kto2.owner_name.upcase)
108
+ str.should include(@kto1.client_name.upcase)
109
+ str.should include(@kto2.client_name.upcase)
124
110
  str.should include(@dtaus.default_text.upcase)
125
111
  out = "0128ALK3704004400000000GIMME YOUR MONEY AG #{Date.today.strftime("%d%m%y")} 78289700370000000000 #{Date.today.strftime("%d%m%Y")} 1"+
126
112
  "0187C00000000370400440002787777000000000000005000 0000000000037040044782897003700000022025 PETER & MAY GMBH GIMME YOUR MONEY AGDEFAULT VERWENDUNGSZWECK 1 00 "+
@@ -128,21 +114,12 @@ describe KingDta::Dtaus do
128
114
  str.should == out
129
115
  end
130
116
 
131
- it "should create whole dta string with long texts exeeding extension" do
132
- @dtaus.account = KingDta::Account.new(:bank_account_number => @kto1.bank_account_number, :bank_number => @kto1.bank_number,
133
- :owner_name => 'A very long name exeeding 27 characters even longer 54 chars', :bank_name => @kto1.bank_name)
134
- @dtaus.add(@booking)
135
- @dtaus.bookings.first.text = 'Rgn R-3456-0102220 Monatsbeitrag 08/10 Freelancer Version Vielen Dank Ihre SalesKing GmbH' * 20
136
- @dtaus.bookings.first.account.owner_name = 'A very long name exeeding 27 characters even longer 54 chars'
137
- str = @dtaus.create ## should not raise error
138
- end
139
-
140
117
  it "should create whole dta string with long booking text in extension" do
141
118
  @dtaus.add(@booking)
142
119
  @dtaus.bookings.first.text = 'Rgn R-3456-0102220 Monatsbeitrag 08/10 Freelancer Version Vielen Dank Ihre SalesKing GmbH'
143
120
  str = @dtaus.create
144
121
  str.length.should == 640
145
- str.should include(@kto2.owner_name.upcase)
122
+ str.should include(@kto2.client_name.upcase)
146
123
  out = "0128ALK3704004400000000GIMME YOUR MONEY AG #{Date.today.strftime("%d%m%y")} 78289700370000000000 #{Date.today.strftime("%d%m%Y")} 1"+
147
124
  "0274C00000000370400440002787777000000000000005000 0000000000037040044782897003700000022025 PETER & MAY GMBH GIMME YOUR MONEY AGRGN R-3456-0102220 MONATSBE1 0302ITRAG 08/10 FREELANCER VERS02ION VIELEN DANK IHRE SALESK 02ING GMBH "+
148
125
  "0128E 0000001000000000000000000000002787777000000000370400440000000022025 "
@@ -154,8 +131,8 @@ describe KingDta::Dtaus do
154
131
  6.times { @dtaus.add(@booking) }
155
132
  str = @dtaus.create
156
133
  str.length.should == 1792
157
- str.should include(@kto1.owner_name.upcase)
158
- str.should include(@kto2.owner_name.upcase)
134
+ str.should include(@kto1.client_name.upcase)
135
+ str.should include(@kto2.client_name.upcase)
159
136
  str.should include(@dtaus.default_text.upcase)
160
137
  out = "0128ALK3704004400000000GIMME YOUR MONEY AG #{Date.today.strftime("%d%m%y")} 78289700370000000000 #{Date.today.strftime("%d%m%Y")} 1"+
161
138
  "0187C00000000370400440002787777000000000000005000 0000000000037040044782897003700000022025 PETER & MAY GMBH GIMME YOUR MONEY AGDEFAULT VERWENDUNGSZWECK 1 00 "+
@@ -9,6 +9,7 @@ describe KingDta::Dtazv do
9
9
  @dtazv = KingDta::Dtazv.new(Date.parse('2011-08-28'))
10
10
  @dtazv.account = KingDta::Account.new sender_opts
11
11
  @booking = KingDta::Booking.new( KingDta::Account.new( receiver_opts ), 220.25)
12
+
12
13
  end
13
14
 
14
15
  it "should init without values" do
@@ -34,7 +35,9 @@ describe KingDta::Dtazv do
34
35
  filename = File.join(File.dirname(__FILE__), 'test_output.dta')
35
36
  @dtazv.create_file(filename)
36
37
  str = ''
37
- File.open(filename, 'r').each { |ln| str << ln }
38
+ File.open(filename, 'r').each do |ln|
39
+ str << ln
40
+ end
38
41
  str.length.should == 5120
39
42
  #remove testfile
40
43
  File.delete(filename)
@@ -60,8 +63,8 @@ describe KingDta::Dtazv do
60
63
  @dtazv.add(@booking)
61
64
  str = @dtazv.create
62
65
  str.length.should == 1280
63
- str.should include(receiver_opts[:owner_name].upcase)
64
- out = "0256Q370502991326049634JAN KUS MEINE EINE STRASSE 2 51063 MEINE KOELN 11082801110828N0000000000 0768T37050299EUR132604963411082800000000 0000000000COBADEFF366 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /PL10105013151000002308622378 EUR00000000000220250 00000000 0013 0 000256Z000000000000220000000000000001 "
66
+ str.should include(receiver_opts[:client_name].upcase)
67
+ out = "0256Q370502991326049634JAN KUS MEINE EINE STRASSE 2 51063 MEINE KOELN 11082801110828N0000000000 0768T37050299EUR132604963411082800000000 0000000000MARKF1100 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /GR1601101250000000012300695 EUR00000000000220250 00000000 0013 0 000256Z000000000000220000000000000001 "
65
68
  str.should == out
66
69
  end
67
70
 
@@ -70,8 +73,8 @@ describe KingDta::Dtazv do
70
73
  @dtazv.bookings.first.text = 'Rgn R-3456-0102220 Monatsbeitrag 08/10 Freelancer Version Vielen Dank Ihre SalesKing GmbH'
71
74
  str = @dtazv.create
72
75
  str.length.should == 1280
73
- str.should include(receiver_opts[:owner_name].upcase)
74
- out = "0256Q370502991326049634JAN KUS MEINE EINE STRASSE 2 51063 MEINE KOELN 11082801110828N0000000000 0768T37050299EUR132604963411082800000000 0000000000COBADEFF366 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /PL10105013151000002308622378 EUR00000000000220250RGN R-3456-0102220 MONATSBEITRAG 08/10 FREELANCER VERSION VIELEN DANK IHRE SALESKING GMBH 00000000 0013 0 000256Z000000000000220000000000000001 "
76
+ str.should include(receiver_opts[:client_name].upcase)
77
+ out = "0256Q370502991326049634JAN KUS MEINE EINE STRASSE 2 51063 MEINE KOELN 11082801110828N0000000000 0768T37050299EUR132604963411082800000000 0000000000MARKF1100 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /GR1601101250000000012300695 EUR00000000000220250 RGN R-3456-0102220 MONATSBEITRAG 08/10 FREELANCER VERSION VIELEN DANK IHRE SALESKING GMBH00000000 0013 0 000256Z000000000000220000000000000001 "
75
78
  str.should == out
76
79
  end
77
80
 
@@ -79,9 +82,9 @@ describe KingDta::Dtazv do
79
82
  6.times { @dtazv.add(@booking) }
80
83
  str = @dtazv.create
81
84
  str.length.should == 5120
82
- str.should include(receiver_opts[:owner_name].upcase)
83
- str.should include(sender_opts[:owner_name].upcase)
84
- out = "0256Q370502991326049634JAN KUS MEINE EINE STRASSE 2 51063 MEINE KOELN 11082801110828N0000000000 0768T37050299EUR132604963411082800000000 0000000000COBADEFF366 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /PL10105013151000002308622378 EUR00000000000220250 00000000 0013 0 000768T37050299EUR132604963411082800000000 0000000000COBADEFF366 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /PL10105013151000002308622378 EUR00000000000220250 00000000 0013 0 000768T37050299EUR132604963411082800000000 0000000000COBADEFF366 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /PL10105013151000002308622378 EUR00000000000220250 00000000 0013 0 000768T37050299EUR132604963411082800000000 0000000000COBADEFF366 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /PL10105013151000002308622378 EUR00000000000220250 00000000 0013 0 000768T37050299EUR132604963411082800000000 0000000000COBADEFF366 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /PL10105013151000002308622378 EUR00000000000220250 00000000 0013 0 000768T37050299EUR132604963411082800000000 0000000000COBADEFF366 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /PL10105013151000002308622378 EUR00000000000220250 00000000 0013 0 000256Z000000000001320000000000000006 "
85
+ str.should include(receiver_opts[:client_name].upcase)
86
+ str.should include(sender_opts[:client_name].upcase)
87
+ out = "0256Q370502991326049634JAN KUS MEINE EINE STRASSE 2 51063 MEINE KOELN 11082801110828N0000000000 0768T37050299EUR132604963411082800000000 0000000000MARKF1100 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /GR1601101250000000012300695 EUR00000000000220250 00000000 0013 0 000768T37050299EUR132604963411082800000000 0000000000MARKF1100 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /GR1601101250000000012300695 EUR00000000000220250 00000000 0013 0 000768T37050299EUR132604963411082800000000 0000000000MARKF1100 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /GR1601101250000000012300695 EUR00000000000220250 00000000 0013 0 000768T37050299EUR132604963411082800000000 0000000000MARKF1100 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /GR1601101250000000012300695 EUR00000000000220250 00000000 0013 0 000768T37050299EUR132604963411082800000000 0000000000MARKF1100 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /GR1601101250000000012300695 EUR00000000000220250 00000000 0013 0 000768T37050299EUR132604963411082800000000 0000000000MARKF1100 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /GR1601101250000000012300695 EUR00000000000220250 00000000 0013 0 000256Z000000000001320000000000000006 "
85
88
  str.should == out
86
89
  end
87
90
 
@@ -117,7 +120,7 @@ describe "KingDta::DtazvSegments" do
117
120
  end
118
121
 
119
122
  it "should return the proper T segment" do
120
- @dtazv.add_t(@booking).should == "0768T37050299EUR1326049634#{@date.strftime("%y%m%d")}00000000 0000000000COBADEFF366 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /PL10105013151000002308622378 EUR00000000000220250 00000000 0013 0 00"
123
+ @dtazv.add_t(@booking).should == "0768T37050299EUR1326049634#{@date.strftime("%y%m%d")}00000000 0000000000MARKF1100 DE DALAI LAMA BUSH-AVENUE 55 445555 INDIA /GR1601101250000000012300695 EUR00000000000220250 00000000 0013 0 00"
121
124
  end
122
125
 
123
126
  it "should return the proper length of T segment" do
@@ -0,0 +1,105 @@
1
+ $:.unshift(File.dirname(__FILE__))
2
+ $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
+
4
+ require 'rubygems'
5
+ require "king_dtaus"
6
+ require 'rspec'
7
+ require 'ostruct'
8
+ require 'date'
9
+
10
+ class Dtazv
11
+
12
+
13
+ def dudes_konto
14
+ opts = {
15
+ :account_number => '1326049634',
16
+ :bank_number => '37050299',
17
+ :bank_name => 'Kreissparkasse Köln',
18
+ :zweck => 'Monatsbeitrag',
19
+ :account_street => "Bank Eine Straße 2",
20
+ :account_city => "Bank Köln",
21
+ :account_zip_code => "51063",
22
+ :client_number => "",
23
+ :client_name =>'Jan Kus',
24
+ :client_street => "Meine Eine Straße 2",
25
+ :client_city => "Meine Köln",
26
+ :client_zip_code => "51063",
27
+ :bank_country_code => "DE",
28
+ :client_country_code => "DE"
29
+ }
30
+ TestKonto.new(opts)
31
+ end
32
+
33
+ def dalai_lamas_account
34
+ opts = {
35
+ :account_number => 'GR1601101250000000012300695',
36
+ :bank_number => 'MARKF1100',
37
+ :bank_name => 'Dalai Lamas Bank',
38
+ :zweck => 'Lama Fee',
39
+ :account_street => "5th avenue",
40
+ :account_city => "los angeles",
41
+ :account_zip_code => "55323",
42
+ :client_number => "",
43
+ :client_name =>'Dalai Lama',
44
+ :client_street => "Bush-Avenue 55",
45
+ :client_city => "India",
46
+ :client_zip_code => "066600",
47
+ :client_zip_code => "445555",
48
+ :bank_country_code => "DE",
49
+ :client_country_code => "DE"
50
+ }
51
+ TestKonto.new(opts)
52
+ end
53
+ # The DTAVZ format as string. All data is appended to it during creation
54
+ def dta_string
55
+ @dta_string ||= ''
56
+ end
57
+
58
+ def create_dtazv
59
+ @dtazv = KingDta::Dtazv.new(Date.today)
60
+ @dudes_konto = dudes_konto
61
+ @dalai_lamas_account = dalai_lamas_account
62
+
63
+ @dtazv.account = KingDta::Account.new(
64
+ :account_number => @dudes_konto.account_number,
65
+ :bank_number => @dudes_konto.bank_number,
66
+ :client_name => @dudes_konto.client_name,
67
+ :client_number => @dudes_konto.client_number,
68
+ :bank_street => @dudes_konto.account_street,
69
+ :bank_city => @dudes_konto.account_city,
70
+ :bank_zip_code => @dudes_konto.account_zip_code,
71
+ :bank_name => @dudes_konto.bank_name,
72
+ :client_street => @dudes_konto.client_street,
73
+ :client_city => @dudes_konto.client_city,
74
+ :client_zip_code => @dudes_konto.client_zip_code,
75
+ :bank_country_code => @dudes_konto.bank_country_code,
76
+ :client_country_code => @dudes_konto.client_country_code
77
+ )
78
+
79
+ @dalai_lamas_booking = KingDta::Booking.new(KingDta::Account.new(
80
+ :account_number => @dalai_lamas_account.account_number,
81
+ :bank_number => @dalai_lamas_account.bank_number,
82
+ :client_name => @dalai_lamas_account.client_name,
83
+ :client_number => @dalai_lamas_account.client_number,
84
+ :bank_street => @dalai_lamas_account.account_street,
85
+ :bank_city => @dalai_lamas_account.account_city,
86
+ :bank_zip_code => @dalai_lamas_account.account_zip_code,
87
+ :bank_name => @dalai_lamas_account.bank_name,
88
+ :client_street => @dalai_lamas_account.client_street,
89
+ :client_city => @dalai_lamas_account.client_city,
90
+ :client_zip_code => @dalai_lamas_account.client_zip_code,
91
+ :bank_country_code => @dalai_lamas_account.bank_country_code,
92
+ :client_country_code => @dalai_lamas_account.client_country_code
93
+ ), 220.25)
94
+
95
+ @dtazv.add(@dalai_lamas_booking)
96
+ puts @dtazv.create
97
+ end
98
+
99
+ # the test account responds to everything
100
+ class TestKonto < OpenStruct; end
101
+
102
+ end
103
+
104
+ d = Dtazv.new
105
+ d.create_dtazv
@@ -4,7 +4,7 @@ $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
4
 
5
5
  require 'simplecov'
6
6
  SimpleCov.start 'rails'
7
- SimpleCov.coverage_dir 'coverage'
7
+ SimpleCov.coverage_dir 'coverage/rspec'
8
8
 
9
9
  require 'rubygems'
10
10
  require "king_dtaus"
@@ -15,76 +15,75 @@ require 'date'
15
15
  RSpec.configure do |config|
16
16
  end
17
17
 
18
- # a full account, address infos are only needed if BIC or IBAN is unknown
18
+
19
19
  def sender_opts
20
20
  {
21
- :bank_account_number => '1326049634',
21
+ :account_number => '1326049634',
22
22
  :bank_number => '37050299',
23
23
  :bank_name => 'Kreissparkasse Köln',
24
24
  :bank_street => "Bank Eine Straße 2",
25
25
  :bank_city => "Bank Köln",
26
- :bank_zip => "51063",
26
+ :bank_zip_code => "51063",
27
+ :client_number => "",
28
+ :client_name =>'Jan Kus',
29
+ :client_street => "Meine Eine Straße 2",
30
+ :client_city => "Meine Köln",
31
+ :client_zip_code => "51063",
27
32
  :bank_country_code => "DE",
28
- :owner_number => "",
29
- :owner_name =>'Jan Kus',
30
- :owner_street => "Meine Eine Straße 2",
31
- :owner_city => "Meine Köln",
32
- :owner_zip_code => "51063",
33
- :owner_country_code => "DE"
33
+ :client_country_code => "DE"
34
34
  }
35
35
  end
36
36
 
37
37
  def receiver_opts
38
38
  {
39
- :bank_iban => 'PL10105013151000002308622378',
40
- :bank_bic => 'COBADEFF366',
41
- :owner_name =>'Dalai Lama',
42
- :owner_street => "Bush-Avenue 55",
43
- :owner_city => "India",
44
- :owner_zip_code => "445555",
45
- :owner_country_code => "DE" # actually wrong since iban is in poland
46
- # only needed if no bic present
47
- # :bank_name => 'Dalai Lamas Bank',
48
- # :bank_street => "5th avenue",
49
- # :bank_city => "Pulheim",
50
- # :bank_zip => "55323",
51
- # :owner_number => "",
52
- # :bank_country_code => "DE",
39
+ :account_number => 'GR1601101250000000012300695',
40
+ :bank_number => 'MARKF1100',
41
+ :bank_name => 'Dalai Lamas Bank',
42
+ :bank_street => "5th avenue",
43
+ :bank_city => "los angeles",
44
+ :bank_zip_code => "55323",
45
+ :client_number => "",
46
+ :client_name =>'Dalai Lama',
47
+ :client_street => "Bush-Avenue 55",
48
+ :client_city => "India",
49
+ :client_zip_code => "445555",
50
+ :bank_country_code => "DE",
51
+ :client_country_code => "DE"
53
52
  }
54
53
  end
55
54
 
56
55
  def test_kto1
57
56
  opts = {
58
- :bank_account_number => '7828970037',
57
+ :account_number => '7828970037',
59
58
  :bank_number => '37040044',
60
- :owner_name =>'Gimme your Money AG',
59
+ :client_name =>'Gimme your Money AG',
61
60
  :bank_name => 'Commerzbank Köln',
62
61
  :zweck => 'Monatsbeitrag',
63
- :owner_number => ""
62
+ :client_number => ""
64
63
  }
65
64
  TestKonto.new(opts)
66
65
  end
67
66
 
68
67
  def test_kto2
69
68
  opts = {
70
- :bank_account_number => '2787777',
69
+ :account_number => '2787777',
71
70
  :bank_number => '37040044',
72
- :owner_name =>'Peter & May GmbH',
71
+ :client_name =>'Peter & May GmbH',
73
72
  :bank_name => 'Commerzbank Köln',
74
73
  :zweck => 'Monatsbeitrag',
75
- :owner_number => ""
74
+ :client_number => ""
76
75
  }
77
76
  TestKonto.new(opts)
78
77
  end
79
78
 
80
79
  def test_kto3
81
80
  opts = {
82
- :bank_account_number => '2787777',
81
+ :account_number => '2787777',
83
82
  :bank_number => '37040044',
84
- :owner_name =>'Andrew Müller',
83
+ :client_name =>'Andrew Müller',
85
84
  :bank_name => 'Commerzbank Köln',
86
85
  :zweck => 'Monatsbeitrag',
87
- :owner_number => ""
86
+ :client_number => ""
88
87
  }
89
88
  TestKonto.new(opts)
90
89
  end