bankserv 0.2.3 → 0.2.4
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.
- data/lib/bankserv.rb +1 -1
- data/lib/bankserv/account_holder_verification.rb +3 -9
- data/lib/bankserv/credit.rb +13 -2
- data/lib/bankserv/debit.rb +12 -2
- data/lib/bankserv/eft.rb +0 -8
- data/lib/bankserv/engine.rb +11 -12
- data/lib/bankserv/request.rb +1 -0
- data/lib/bankserv/service.rb +88 -0
- data/lib/bankserv/transmission/input_document.rb +18 -16
- data/lib/bankserv/transmission/set/account_holder_verification.rb +22 -2
- data/lib/bankserv/transmission/set/credit.rb +8 -0
- data/lib/bankserv/transmission/set/debit.rb +11 -0
- data/lib/bankserv/transmission/set/document.rb +2 -2
- data/lib/bankserv/transmission/set/eft.rb +9 -8
- data/lib/bankserv/version.rb +1 -1
- data/lib/generators/active_record/templates/migration.rb +17 -11
- data/spec/examples/INPUT.120411110604.txt +1 -1
- data/spec/examples/INPUT.120411124123.txt +8 -0
- data/spec/factories.rb +0 -15
- data/spec/internal/db/schema.rb +4 -11
- data/spec/lib/bankserv/account_holder_verification_spec.rb +8 -7
- data/spec/lib/bankserv/credit_spec.rb +8 -4
- data/spec/lib/bankserv/debit_spec.rb +8 -6
- data/spec/lib/bankserv/engine/engine_spec.rb +35 -28
- data/spec/lib/bankserv/service_spec.rb +27 -0
- data/spec/lib/bankserv/transmission/input_document_spec.rb +13 -37
- data/spec/lib/bankserv/transmission/output_document_spec.rb +4 -3
- data/spec/lib/bankserv/transmission/reply_document_spec.rb +3 -3
- data/spec/lib/bankserv/transmission/set/account_holder_verification_spec.rb +11 -11
- data/spec/lib/bankserv/transmission/set/credit_spec.rb +10 -10
- data/spec/lib/bankserv/transmission/set/debit_spec.rb +2 -2
- data/spec/lib/bankserv/transmission/statement_spec.rb +1 -1
- data/spec/support/helpers.rb +32 -13
- metadata +19 -17
- data/lib/bankserv/configuration.rb +0 -83
- data/spec/lib/bankserv/configuration_spec.rb +0 -34
data/lib/bankserv/version.rb
CHANGED
@@ -16,20 +16,26 @@ class CreateBankservTables < ActiveRecord::Migration
|
|
16
16
|
t.timestamps
|
17
17
|
end
|
18
18
|
|
19
|
-
create_table :
|
19
|
+
create_table :bankserv_services, :force => true do |t|
|
20
20
|
t.boolean :active, :default => false
|
21
|
+
t.string :service_type
|
21
22
|
t.string :client_code
|
22
|
-
t.
|
23
|
-
t.string :client_abbreviated_name
|
24
|
-
t.string :user_code
|
25
|
-
t.string :department_code
|
26
|
-
t.integer :transmission_number
|
27
|
-
t.integer :user_generation_number
|
28
|
-
t.string :internal_branch_code
|
29
|
-
t.boolean :live_env, :default => false
|
23
|
+
t.text :config
|
30
24
|
t.timestamps
|
31
|
-
|
32
|
-
|
25
|
+
#
|
26
|
+
# t.boolean :active, :default => false
|
27
|
+
# t.string :client_code
|
28
|
+
# t.string :client_name
|
29
|
+
# t.string :client_abbreviated_name
|
30
|
+
# t.string :user_code
|
31
|
+
# t.string :department_code
|
32
|
+
# t.integer :transmission_number
|
33
|
+
# t.integer :user_generation_number
|
34
|
+
# t.string :internal_branch_code
|
35
|
+
# t.boolean :live_env, :default => false
|
36
|
+
# t.timestamps
|
37
|
+
# t.integer :eft_sequence_number
|
38
|
+
# t.datetime :eft_sequence_number_updated_at #refactor later
|
33
39
|
end
|
34
40
|
|
35
41
|
create_table :bankserv_requests do |t|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
000L2012041012346TESTTEST 000000100000
|
2
2
|
001L0499991204101204111204111204110000010001TWO DAY
|
3
3
|
001L5025025504530495834999900000125065562097363670100000301400120411440 TESTTEST 544 DOUGLAS ANDERSON 00000000000000000000 21
|
4
4
|
001L5025025504530495834999900000263200509076546281200000315000120411440 TESTTEST 545 JEFFREY VAN ASWEGEN 00000000000000000000 21
|
@@ -0,0 +1,8 @@
|
|
1
|
+
000L2012041012347TESTTEST 000000100000
|
2
|
+
020L0499991204101204111204111204110000010001BATCH
|
3
|
+
020L1025025504530495834999900000125065562097363670100000406700120411880 TESTTEST 260 DOUGLAS ANDERSON 00000000000000000000 21
|
4
|
+
020L1025025504530495834999900000263200509076546281200000427300120411880 TESTTEST 261 JEFFREY VAN ASWEGEN 00000000000000000000 21
|
5
|
+
020L1025025504530495834999900000302000900070440213100000418000120411880 TESTTEST 262 PETER DE VILLIERS 00000000000000000000 21
|
6
|
+
020L1225025504530495834999900000425025504530495834100001252000120411100000TESTTEST CONTRA03493
|
7
|
+
020L929999000001000004120411120411000001000003000001000001252000000001252000075774845998
|
8
|
+
999L000000008
|
data/spec/factories.rb
CHANGED
@@ -1,20 +1,5 @@
|
|
1
1
|
FactoryGirl.define do
|
2
2
|
|
3
|
-
Bankserv::Configuration.create! active: true, client_code: "234234", client_name: "RENTCONN", user_code: "054324", department_code: "A12345", user_generation_number: 10
|
4
|
-
|
5
|
-
factory :configuration, :class => "Bankserv::Configuration" do
|
6
|
-
active true
|
7
|
-
client_code { Faker::Base::numerify('#####') }
|
8
|
-
client_name { Faker::Base::letterify('???????????????') }
|
9
|
-
user_code { Faker::Base::letterify('????') }
|
10
|
-
department_code { Faker::Base::letterify('??????') }
|
11
|
-
transmission_number { Faker::Base::numerify('####')}
|
12
|
-
user_generation_number { Faker::Base::numerify('####')}
|
13
|
-
internal_branch_code '632005'
|
14
|
-
eft_sequence_number 1
|
15
|
-
eft_sequence_number_updated_at Time.now
|
16
|
-
end
|
17
|
-
|
18
3
|
factory :bank_account, :class => "Bankserv::BankAccount" do
|
19
4
|
branch_code { Faker::Base::numerify('######') }
|
20
5
|
account_number { Faker::Base::numerify('############') }
|
data/spec/internal/db/schema.rb
CHANGED
@@ -15,23 +15,16 @@ ActiveRecord::Schema.define do
|
|
15
15
|
t.timestamps
|
16
16
|
end
|
17
17
|
|
18
|
-
create_table :
|
18
|
+
create_table :bankserv_services, :force => true do |t|
|
19
19
|
t.boolean :active, :default => false
|
20
|
+
t.string :type
|
20
21
|
t.string :client_code
|
21
|
-
t.
|
22
|
-
t.string :client_abbreviated_name
|
23
|
-
t.string :user_code
|
24
|
-
t.integer :transmission_number
|
25
|
-
t.integer :user_generation_number
|
26
|
-
t.string :department_code
|
27
|
-
t.string :internal_branch_code
|
28
|
-
t.boolean :live_env, :default => false
|
22
|
+
t.text :config
|
29
23
|
t.timestamps
|
30
|
-
t.integer :eft_sequence_number
|
31
|
-
t.datetime :eft_sequence_number_updated_at
|
32
24
|
end
|
33
25
|
|
34
26
|
create_table :bankserv_requests, :force => true do |t|
|
27
|
+
t.integer :service_id
|
35
28
|
t.string :type
|
36
29
|
t.text :data
|
37
30
|
t.boolean :processed, :default => false
|
@@ -5,7 +5,8 @@ describe Bankserv::AccountHolderVerification do
|
|
5
5
|
|
6
6
|
before(:each) do
|
7
7
|
tear_it_down
|
8
|
-
|
8
|
+
|
9
|
+
@ahv_service = Bankserv::AHVService.register(client_code: 12345, internal_branch_code: '632005', transmission_status: "L", transmission_number: "1")
|
9
10
|
|
10
11
|
@hash = attributes_for(:ahv_bankserv_request)
|
11
12
|
@hash[:data][:bank_account] = attributes_for(:bank_account)
|
@@ -14,7 +15,7 @@ describe Bankserv::AccountHolderVerification do
|
|
14
15
|
context "requesting an account holder verification" do
|
15
16
|
|
16
17
|
it "should be able to queue a request for an account holder verification" do
|
17
|
-
|
18
|
+
@ahv_service.request(@hash).should be_true
|
18
19
|
|
19
20
|
request = Bankserv::Request.last
|
20
21
|
request.type.should == "ahv"
|
@@ -26,12 +27,12 @@ describe Bankserv::AccountHolderVerification do
|
|
26
27
|
context "when creating a new account holder verification" do
|
27
28
|
|
28
29
|
it "should be marked as new" do
|
29
|
-
|
30
|
+
@ahv_service.request(@hash)
|
30
31
|
Bankserv::AccountHolderVerification.last.new?.should be_true
|
31
32
|
end
|
32
33
|
|
33
34
|
it "should create an account holder verification record, with associated bank account" do
|
34
|
-
|
35
|
+
@ahv_service.request(@hash).should be_true
|
35
36
|
|
36
37
|
ahv = Bankserv::AccountHolderVerification.for_reference(@hash[:data][:user_ref]).first
|
37
38
|
ahv.new?.should be_true
|
@@ -41,7 +42,7 @@ describe Bankserv::AccountHolderVerification do
|
|
41
42
|
|
42
43
|
it "should mark verifications with an absa branch code as internal" do
|
43
44
|
@hash[:data][:bank_account].merge!(attributes_for(:internal_bank_account))
|
44
|
-
|
45
|
+
@ahv_service.request(@hash).should be_true
|
45
46
|
|
46
47
|
ahv = Bankserv::AccountHolderVerification.for_reference(@hash[:data][:user_ref]).first
|
47
48
|
ahv.should be_internal
|
@@ -49,14 +50,14 @@ describe Bankserv::AccountHolderVerification do
|
|
49
50
|
|
50
51
|
it "should mark verifications with a non-absa branch code as external" do
|
51
52
|
@hash[:data][:bank_account].merge!(attributes_for(:external_bank_account))
|
52
|
-
|
53
|
+
@ahv_service.request(@hash).should be_true
|
53
54
|
|
54
55
|
ahv = Bankserv::AccountHolderVerification.for_reference(@hash[:data][:user_ref]).first
|
55
56
|
ahv.should be_external
|
56
57
|
end
|
57
58
|
|
58
59
|
it "should generate a unique internal reference" do
|
59
|
-
|
60
|
+
@ahv_service.request(@hash)
|
60
61
|
Bankserv::AccountHolderVerification.last.internal_user_ref.should match /AHV[0-9]+/
|
61
62
|
end
|
62
63
|
|
@@ -37,16 +37,18 @@ describe Bankserv::Debit do
|
|
37
37
|
type: 'credit',
|
38
38
|
data: { batches: @data, type_of_service: "SAMEDAY"}
|
39
39
|
}
|
40
|
+
|
41
|
+
@credit_service = Bankserv::CreditService.register(client_code: '12345', client_name: "RCTEST", client_abbreviated_name: 'RCTEST', user_code: "9534", transmission_status: "L", transmission_number: "1")
|
40
42
|
end
|
41
43
|
|
42
44
|
it "should be able to queue a request of credit orders" do
|
43
|
-
|
45
|
+
@credit_service.request(@hash).should be_true
|
44
46
|
Bankserv::Credit.all.each {|db| db.completed?.should be_false }
|
45
47
|
Bankserv::Credit.all.each {|db| db.new?.should be_true }
|
46
48
|
end
|
47
49
|
|
48
50
|
it "should link all debit order to the credit record" do
|
49
|
-
|
51
|
+
@credit_service.request(@hash)
|
50
52
|
Bankserv::Credit.all.map(&:batch_id).uniq.length.should == 1
|
51
53
|
end
|
52
54
|
|
@@ -54,6 +56,8 @@ describe Bankserv::Debit do
|
|
54
56
|
|
55
57
|
context "queuing a batch of batched credit orders" do
|
56
58
|
before(:each) do
|
59
|
+
@credit_service = Bankserv::CreditService.register(client_code: '12345', client_name: "RCTEST", client_abbreviated_name: 'RCTEST', user_code: "9534", transmission_status: "L", transmission_number: "1")
|
60
|
+
|
57
61
|
@data = [{
|
58
62
|
debit: {
|
59
63
|
account_number: "907654321", branch_code: "632005", account_type: 'savings', id_number: '8207205263083', initials: "RC", account_name: "Rawson Milnerton", amount: 1000000, user_ref: 234, action_date: Date.today },
|
@@ -79,13 +83,13 @@ describe Bankserv::Debit do
|
|
79
83
|
end
|
80
84
|
|
81
85
|
it "should be able to queue a batched request of credit orders" do
|
82
|
-
|
86
|
+
@credit_service.request(@hash).should be_true
|
83
87
|
Bankserv::Credit.all.each {|db| db.completed?.should be_false }
|
84
88
|
Bankserv::Credit.all.each {|db| db.new?.should be_true }
|
85
89
|
end
|
86
90
|
|
87
91
|
it "should link all debit order to their respective credit record" do
|
88
|
-
|
92
|
+
@credit_service.request(@hash)
|
89
93
|
Bankserv::Credit.all.map(&:batch_id).uniq.length.should == 2
|
90
94
|
end
|
91
95
|
end
|
@@ -14,8 +14,6 @@ describe Bankserv::Debit do
|
|
14
14
|
context "queuing a batch of debit orders" do
|
15
15
|
|
16
16
|
before(:all) do
|
17
|
-
|
18
|
-
create(:configuration, client_code: "10", client_name: "LDC USER 10 AFRICA (PTY)", user_code: "9534", client_abbreviated_name: "ALIMITTST")
|
19
17
|
@data = [{
|
20
18
|
credit: {
|
21
19
|
account_number: "907654321",
|
@@ -39,16 +37,18 @@ describe Bankserv::Debit do
|
|
39
37
|
type: 'debit',
|
40
38
|
data: { type_of_service: "SAMEDAY", batches: @data }
|
41
39
|
}
|
40
|
+
|
41
|
+
@debit_service = Bankserv::DebitService.register(client_code: '12346', client_name: "TESTTEST", client_abbreviated_name: 'TESTTEST', user_code: "9999", generation_number: 1, transmission_status: "L", transmission_number: "1")
|
42
42
|
end
|
43
43
|
|
44
44
|
it "should be able to queue a request of debit orders" do
|
45
|
-
|
45
|
+
@debit_service.request(@hash).should be_true
|
46
46
|
Bankserv::Debit.all.each {|db| db.completed?.should be_false }
|
47
47
|
Bankserv::Debit.all.each {|db| db.new?.should be_true }
|
48
48
|
end
|
49
49
|
|
50
50
|
it "should link all debit order to the credit record" do
|
51
|
-
|
51
|
+
@debit_service.request(@hash)
|
52
52
|
Bankserv::Debit.all.map(&:batch_id).uniq.length.should == 1
|
53
53
|
end
|
54
54
|
|
@@ -78,16 +78,18 @@ describe Bankserv::Debit do
|
|
78
78
|
type: 'debit',
|
79
79
|
data: {type_of_service: "ONE DAY", batches: @data}
|
80
80
|
}
|
81
|
+
|
82
|
+
@debit_service = Bankserv::DebitService.register(client_code: '12346', client_name: "TESTTEST", client_abbreviated_name: 'TESTTEST', user_code: "9999", generation_number: 1, transmission_status: "L", transmission_number: "1")
|
81
83
|
end
|
82
84
|
|
83
85
|
it "should be able to queue a batched request of debit orders" do
|
84
|
-
|
86
|
+
@debit_service.request(@hash).should be_true
|
85
87
|
Bankserv::Debit.all.each {|db| db.completed?.should be_false }
|
86
88
|
Bankserv::Credit.all.each {|db| db.new?.should be_true }
|
87
89
|
end
|
88
90
|
|
89
91
|
it "should link all debit order to their respective credit record" do
|
90
|
-
|
92
|
+
@debit_service.request(@hash)
|
91
93
|
Bankserv::Debit.all.map(&:batch_id).uniq.length.should == 2
|
92
94
|
end
|
93
95
|
|
@@ -18,6 +18,7 @@ describe Bankserv::Engine do
|
|
18
18
|
FileUtils.rm_rf(Dir.pwd + "/spec/examples/host2host/archives", secure: true)
|
19
19
|
File.delete(Dir.pwd + "/spec/tmp/harry.txt")
|
20
20
|
File.delete(Dir.pwd + "/spec/tmp/sally.txt")
|
21
|
+
File.delete(Dir.pwd + "/spec/tmp/molly.txt")
|
21
22
|
end
|
22
23
|
|
23
24
|
context "Prepare engine" do
|
@@ -42,7 +43,7 @@ describe Bankserv::Engine do
|
|
42
43
|
context "Testing individual methods of engine" do
|
43
44
|
|
44
45
|
before(:all) do
|
45
|
-
|
46
|
+
Bankserv::DebitService.register(client_code: '12345', client_name: "RCTEST", client_abbreviated_name: 'RCTEST', user_code: "9534", transmission_status: "L", transmission_number: "1")
|
46
47
|
t = Time.local(2012, 1, 23, 10, 5, 0)
|
47
48
|
Timecop.travel(t)
|
48
49
|
file_contents = File.open("./spec/examples/eft_input_with_2_sets.txt", "rb").read
|
@@ -54,19 +55,19 @@ describe Bankserv::Engine do
|
|
54
55
|
Bankserv::Engine.input_directory = Dir.pwd + "/spec/examples/host2host"
|
55
56
|
Bankserv::Engine.archive_directory = Dir.pwd + "/spec/examples/host2host/archives"
|
56
57
|
|
57
|
-
@
|
58
|
+
@engine = Bankserv::Engine.new
|
58
59
|
end
|
59
60
|
|
60
61
|
it "should be able to start processing work" do
|
61
|
-
@
|
62
|
+
@engine.start!.should be_true
|
62
63
|
end
|
63
64
|
|
64
65
|
it "should be set to running" do
|
65
|
-
@
|
66
|
+
@engine.running?.should be_true
|
66
67
|
end
|
67
68
|
|
68
69
|
it "should be expecting a reply file" do
|
69
|
-
@
|
70
|
+
@engine.expecting_reply_file?.should be_true
|
70
71
|
end
|
71
72
|
|
72
73
|
it "should be able to return a list of reply files" do
|
@@ -78,19 +79,19 @@ describe Bankserv::Engine do
|
|
78
79
|
end
|
79
80
|
|
80
81
|
it "should be able to process reply files" do
|
81
|
-
@
|
82
|
+
@engine.process_reply_files
|
82
83
|
Bankserv::Document.first.reply_status.should == "ACCEPTED"
|
83
|
-
@
|
84
|
+
@engine.expecting_reply_file?.should be_false
|
84
85
|
end
|
85
86
|
|
86
87
|
it "should be able to process output files" do
|
87
|
-
@
|
88
|
+
@engine.process_output_files
|
88
89
|
end
|
89
90
|
|
90
91
|
it "should be able to set the process to finished" do
|
91
|
-
@
|
92
|
-
@
|
93
|
-
@
|
92
|
+
@engine.finish!.should be_true
|
93
|
+
@engine.running?.should be_false
|
94
|
+
@engine.process.success.should be_true
|
94
95
|
end
|
95
96
|
|
96
97
|
it "should not have any processes running" do
|
@@ -106,27 +107,23 @@ describe Bankserv::Engine do
|
|
106
107
|
|
107
108
|
Timecop.travel(Time.local(2008, 8, 8, 10, 5, 0))
|
108
109
|
Bankserv::EngineConfiguration.create!(interval_in_minutes: 15, input_directory: "/tmp", output_directory: "/tmp", archive_directory: "/tmp")
|
109
|
-
|
110
|
+
@service = Bankserv::CreditService.register(client_code: '12345', client_name: "RCTEST", client_abbreviated_name: 'RCTEST', user_code: "9534", transmission_status: "L", transmission_number: "1")
|
110
111
|
|
111
|
-
create_credit_request
|
112
|
-
|
113
|
-
Bankserv::Configuration.stub!(:live_env?).and_return(true)
|
114
|
-
Bankserv::InputDocument.stub!(:fetch_next_transmission_number).and_return("846")
|
115
|
-
Bankserv::Transmission::UserSet::Eft.stub!(:last_sequence_number_today).and_return(77)
|
112
|
+
create_credit_request(@service)
|
116
113
|
|
117
114
|
Bankserv::Engine.output_directory = Dir.pwd + "/spec/examples/host2host"
|
118
115
|
Bankserv::Engine.input_directory = Dir.pwd + "/spec/examples/host2host"
|
119
116
|
Bankserv::Engine.archive_directory = Dir.pwd + "/spec/examples/host2host/archives"
|
120
117
|
|
121
|
-
@
|
122
|
-
@
|
118
|
+
@engine = Bankserv::Engine.new
|
119
|
+
@engine.start! # create a process
|
123
120
|
end
|
124
121
|
|
125
122
|
it "should process the document" do
|
126
|
-
@
|
123
|
+
@engine.process_input_files
|
127
124
|
@document = Bankserv::Document.last
|
128
125
|
@document.processed.should be_true
|
129
|
-
@
|
126
|
+
@engine.expecting_reply_file?.should be_true
|
130
127
|
end
|
131
128
|
|
132
129
|
it "should write a file to the input directory" do
|
@@ -137,17 +134,19 @@ describe Bankserv::Engine do
|
|
137
134
|
|
138
135
|
context "integration testing" do
|
139
136
|
|
140
|
-
before(:
|
137
|
+
before(:all) do
|
138
|
+
tear_it_down
|
141
139
|
Timecop.travel(Time.local(2012, 4, 10, 10, 5, 0))
|
142
140
|
@tmpdir = Dir.pwd + "/spec/tmp"
|
143
|
-
|
144
|
-
|
141
|
+
@ahv_service = Bankserv::AHVService.register(client_code: '12345', internal_branch_code: '632005', department_code: "506", client_name: "TESTTEST", client_abbreviated_name: 'TESTTEST', generation_number: 1, transmission_status: "L", transmission_number: "1")
|
142
|
+
@debit_service = Bankserv::DebitService.register(client_code: '12346', client_name: "TESTTEST", client_abbreviated_name: 'TESTTEST', user_code: "9999", generation_number: 1, transmission_status: "L", transmission_number: "1")
|
143
|
+
@credit_service = Bankserv::CreditService.register(client_code: '12347', client_name: "TESTTEST", client_abbreviated_name: 'TESTTEST', user_code: "9999", generation_number: 1, transmission_status: "L", transmission_number: "1")
|
145
144
|
Bankserv::EngineConfiguration.create!(interval_in_minutes: 15, input_directory: @tmpdir, output_directory: @tmpdir, archive_directory: @tmpdir)
|
146
145
|
end
|
147
146
|
|
148
147
|
it "should process ahv requests" do
|
149
148
|
Bankserv::AccountHolderVerification.should_receive(:generate_reference_number).exactly(8).times.and_return("AHV67","AHV68","AHV69","AHV70","AHV71","AHV72","AHV73","AHV74")
|
150
|
-
create_ahv_requests_scenario
|
149
|
+
create_ahv_requests_scenario(@ahv_service)
|
151
150
|
e = Bankserv::Engine.new
|
152
151
|
e.should_receive(:generate_input_file_name).and_return("harry.txt")
|
153
152
|
e.process!
|
@@ -159,12 +158,11 @@ describe Bankserv::Engine do
|
|
159
158
|
end
|
160
159
|
|
161
160
|
it "should process debit requests" do
|
162
|
-
create_debit_requests_scenario
|
161
|
+
create_debit_requests_scenario(@debit_service)
|
163
162
|
|
164
163
|
e = Bankserv::Engine.new
|
165
164
|
e.should_receive(:generate_input_file_name).and_return("sally.txt")
|
166
165
|
e.process!
|
167
|
-
puts e.inspect
|
168
166
|
|
169
167
|
expected_string = File.open("./spec/examples/INPUT.120411110604.txt", "rb").read
|
170
168
|
got_string = File.open(@tmpdir + '/sally.txt', "rb").read
|
@@ -173,7 +171,16 @@ describe Bankserv::Engine do
|
|
173
171
|
end
|
174
172
|
|
175
173
|
it "should process credit requests" do
|
176
|
-
|
174
|
+
create_credit_requests_scenario(@credit_service)
|
175
|
+
|
176
|
+
e = Bankserv::Engine.new
|
177
|
+
e.should_receive(:generate_input_file_name).and_return("molly.txt")
|
178
|
+
e.process!
|
179
|
+
|
180
|
+
expected_string = File.open("./spec/examples/INPUT.120411124123.txt", "rb").read
|
181
|
+
got_string = File.open(@tmpdir + '/molly.txt', "rb").read
|
182
|
+
|
183
|
+
got_string.should == expected_string
|
177
184
|
end
|
178
185
|
|
179
186
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Bankserv::Service do
|
4
|
+
include Helpers
|
5
|
+
|
6
|
+
before(:each) do
|
7
|
+
tear_it_down
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should allow a service to be registered" do
|
11
|
+
params = {
|
12
|
+
client_code: '1234',
|
13
|
+
client_name: 'RCTEST',
|
14
|
+
transmission_status: "L",
|
15
|
+
transmission_number: "1"
|
16
|
+
}
|
17
|
+
|
18
|
+
bankserv_service = Bankserv::AHVService.register(params)
|
19
|
+
|
20
|
+
bankserv_service.is_a?(Bankserv::AHVService).should be_true
|
21
|
+
bankserv_service.client_code.should == '1234'
|
22
|
+
bankserv_service.config[:client_name].should == 'RCTEST'
|
23
|
+
bankserv_service.config[:transmission_status].should == "L"
|
24
|
+
bankserv_service.config[:transmission_number].should == "1"
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|