bankserv 0.2.3 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|