bankserv 0.3.6 → 0.3.7
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/bankserv.gemspec +2 -1
- data/lib/bankserv.rb +4 -1
- data/lib/bankserv/notify_me_transaction.rb +22 -0
- data/lib/bankserv/service.rb +8 -0
- data/lib/bankserv/transmission/notify_me_statement.rb +46 -0
- data/lib/bankserv/version.rb +1 -1
- data/lib/generators/active_record/templates/migration.rb +15 -1
- data/spec/examples/notify_me.xml +951 -0
- data/spec/internal/db/schema.rb +15 -0
- data/spec/lib/bankserv/transmission/notify_me_statement_spec.rb +72 -0
- metadata +32 -15
data/spec/internal/db/schema.rb
CHANGED
@@ -7,6 +7,13 @@ ActiveRecord::Schema.define do
|
|
7
7
|
t.timestamps
|
8
8
|
end
|
9
9
|
|
10
|
+
create_table :bankserv_notify_me_statements, :force => true do |t|
|
11
|
+
t.boolean :processed, :default => false
|
12
|
+
t.string :client_code
|
13
|
+
t.text :data
|
14
|
+
t.timestamps
|
15
|
+
end
|
16
|
+
|
10
17
|
create_table :bankserv_transactions, :force => true do |t|
|
11
18
|
t.boolean :processed, :default => false
|
12
19
|
t.string :client_code
|
@@ -14,6 +21,14 @@ ActiveRecord::Schema.define do
|
|
14
21
|
t.references :bankserv_statement
|
15
22
|
t.timestamps
|
16
23
|
end
|
24
|
+
|
25
|
+
create_table :bankserv_notify_me_transactions, :force => true do |t|
|
26
|
+
t.boolean :processed, :default => false
|
27
|
+
t.string :client_code
|
28
|
+
t.text :data
|
29
|
+
t.references :bankserv_notify_me_statement
|
30
|
+
t.timestamps
|
31
|
+
end
|
17
32
|
|
18
33
|
create_table :bankserv_services, :force => true do |t|
|
19
34
|
t.boolean :active, :default => false
|
@@ -0,0 +1,72 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Bankserv::NotifyMeStatement do
|
4
|
+
include Helpers
|
5
|
+
|
6
|
+
before(:each) do
|
7
|
+
tear_it_down
|
8
|
+
Bankserv::NotifyMeStatementService.register(client_code: '09876', client_name: "TESTTEST", client_abbreviated_name: 'TESTTEST', user_code: "9999", generation_number: 1, transmission_status: "L", transmission_number: "1")
|
9
|
+
|
10
|
+
@file_contents = File.open("./spec/examples/notify_me.xml", "rb").read
|
11
|
+
@statement = Bankserv::NotifyMeStatement.store(@file_contents)
|
12
|
+
end
|
13
|
+
|
14
|
+
context "storing a statement" do
|
15
|
+
|
16
|
+
it "should store the client code" do
|
17
|
+
@statement.client_code.should == "09876"
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should mark the statement as unprocessed" do
|
21
|
+
@statement.processed.should be_false
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should store the hash of information returned from the absa-notify-me gem as the statement's serialized data" do
|
25
|
+
@statement.data.should == Absa::NotifyMe::XmlStatement.string_to_hash(@file_contents)
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
context "processing a statement" do
|
31
|
+
|
32
|
+
before(:each) do
|
33
|
+
@statement.process!
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should contain the same amount of transactions that the trailer specifies" do
|
37
|
+
@statement.notify_me_transactions.count.should == @statement.data[:data][:data].last[:data][:total_recs].to_i
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should create a transaction for each recon account detail record" do
|
41
|
+
Bankserv::NotifyMeTransaction.all.each do |t|
|
42
|
+
t.notify_me_statement.should == @statement
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should set each transaction's client code to the statement's client code" do
|
47
|
+
@statement.notify_me_transactions.all?{|t| t.client_code == "09876"}
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should default the transactions to unprocessed" do
|
51
|
+
@statement.notify_me_transactions.all?{|t| t.processed == false}
|
52
|
+
end
|
53
|
+
|
54
|
+
it "should store the recon account detail record's data as the notify_me_transaction's data" do
|
55
|
+
@statement.notify_me_transactions.first.data.should == {
|
56
|
+
account_number: "170000072",
|
57
|
+
event_number: "032537937",
|
58
|
+
customer_reference: "DEP NO : 81557294",
|
59
|
+
currency: "ZAR",
|
60
|
+
amount: "5005",
|
61
|
+
account_balance_after_transaction: "8900743687",
|
62
|
+
transaction_type: "C",
|
63
|
+
transaction_processing_date: "20110509",
|
64
|
+
clearance_payment_indicator: "N",
|
65
|
+
transaction_description: "CASH DEP BRANCH",
|
66
|
+
checksum: "F6AA9A0C43A6F429DECE136893283B5A"
|
67
|
+
}
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bankserv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-06-
|
13
|
+
date: 2012-06-13 00:00:00.000000000Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
17
|
-
requirement: &
|
17
|
+
requirement: &70224754345740 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70224754345740
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: activerecord
|
28
|
-
requirement: &
|
28
|
+
requirement: &70224754345060 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '3.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70224754345060
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: i18n
|
39
|
-
requirement: &
|
39
|
+
requirement: &70224754344600 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70224754344600
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: absa-h2h
|
50
|
-
requirement: &
|
50
|
+
requirement: &70224754343960 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ~>
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: 0.1.2
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70224754343960
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: absa-esd
|
61
|
-
requirement: &
|
61
|
+
requirement: &70224754343300 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ~>
|
@@ -66,10 +66,21 @@ dependencies:
|
|
66
66
|
version: 0.0.3
|
67
67
|
type: :runtime
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *70224754343300
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: absa-notify-me
|
72
|
+
requirement: &70224754342760 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.0.1
|
78
|
+
type: :runtime
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: *70224754342760
|
70
81
|
- !ruby/object:Gem::Dependency
|
71
82
|
name: combustion
|
72
|
-
requirement: &
|
83
|
+
requirement: &70224754342100 !ruby/object:Gem::Requirement
|
73
84
|
none: false
|
74
85
|
requirements:
|
75
86
|
- - ~>
|
@@ -77,10 +88,10 @@ dependencies:
|
|
77
88
|
version: 0.3.1
|
78
89
|
type: :development
|
79
90
|
prerelease: false
|
80
|
-
version_requirements: *
|
91
|
+
version_requirements: *70224754342100
|
81
92
|
description: ! "This engine allows users to inject requests into a queue to be processed.
|
82
93
|
\n \n The queue handles bank account validations, credit payments,
|
83
|
-
debit orders\n and collecting bank statements. "
|
94
|
+
debit orders\n and collecting bank statements/notify me statements. "
|
84
95
|
email:
|
85
96
|
- jeffmess@gmail.com
|
86
97
|
- i.am.douglas.anderson@gmail.com
|
@@ -103,11 +114,13 @@ files:
|
|
103
114
|
- lib/bankserv/engine.rb
|
104
115
|
- lib/bankserv/engine/engine_configuration.rb
|
105
116
|
- lib/bankserv/engine/engine_process.rb
|
117
|
+
- lib/bankserv/notify_me_transaction.rb
|
106
118
|
- lib/bankserv/request.rb
|
107
119
|
- lib/bankserv/service.rb
|
108
120
|
- lib/bankserv/transaction.rb
|
109
121
|
- lib/bankserv/transmission/document.rb
|
110
122
|
- lib/bankserv/transmission/input_document.rb
|
123
|
+
- lib/bankserv/transmission/notify_me_statement.rb
|
111
124
|
- lib/bankserv/transmission/output_document.rb
|
112
125
|
- lib/bankserv/transmission/record.rb
|
113
126
|
- lib/bankserv/transmission/reply_document.rb
|
@@ -140,6 +153,7 @@ files:
|
|
140
153
|
- spec/examples/eft_input_with_2_sets.txt
|
141
154
|
- spec/examples/eft_output_file.txt
|
142
155
|
- spec/examples/host2host/tmp.log
|
156
|
+
- spec/examples/notify_me.xml
|
143
157
|
- spec/examples/reply/rejected_transmission.txt
|
144
158
|
- spec/examples/reply/reply_file.txt
|
145
159
|
- spec/examples/statement4_unpacked.dat
|
@@ -159,6 +173,7 @@ files:
|
|
159
173
|
- spec/lib/bankserv/service_spec.rb
|
160
174
|
- spec/lib/bankserv/transaction_spec.rb
|
161
175
|
- spec/lib/bankserv/transmission/input_document_spec.rb
|
176
|
+
- spec/lib/bankserv/transmission/notify_me_statement_spec.rb
|
162
177
|
- spec/lib/bankserv/transmission/output_document_spec.rb
|
163
178
|
- spec/lib/bankserv/transmission/reply_document_spec.rb
|
164
179
|
- spec/lib/bankserv/transmission/set/account_holder_verification_spec.rb
|
@@ -205,6 +220,7 @@ test_files:
|
|
205
220
|
- spec/examples/eft_input_with_2_sets.txt
|
206
221
|
- spec/examples/eft_output_file.txt
|
207
222
|
- spec/examples/host2host/tmp.log
|
223
|
+
- spec/examples/notify_me.xml
|
208
224
|
- spec/examples/reply/rejected_transmission.txt
|
209
225
|
- spec/examples/reply/reply_file.txt
|
210
226
|
- spec/examples/statement4_unpacked.dat
|
@@ -224,6 +240,7 @@ test_files:
|
|
224
240
|
- spec/lib/bankserv/service_spec.rb
|
225
241
|
- spec/lib/bankserv/transaction_spec.rb
|
226
242
|
- spec/lib/bankserv/transmission/input_document_spec.rb
|
243
|
+
- spec/lib/bankserv/transmission/notify_me_statement_spec.rb
|
227
244
|
- spec/lib/bankserv/transmission/output_document_spec.rb
|
228
245
|
- spec/lib/bankserv/transmission/reply_document_spec.rb
|
229
246
|
- spec/lib/bankserv/transmission/set/account_holder_verification_spec.rb
|