rock_rms 4.1.1 → 4.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/rock_rms/resources/payment_detail.rb +2 -1
- data/lib/rock_rms/resources/saved_payment_method.rb +18 -0
- data/lib/rock_rms/version.rb +1 -1
- data/spec/rock_rms/resources/saved_payment_method_spec.rb +56 -0
- data/spec/support/fixtures/create_saved_payment_method.json +1 -0
- data/spec/support/rock_mock.rb +2 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f94deebae8f83a44ff057457be2836133f2daa29
|
4
|
+
data.tar.gz: 30b4c5462c5fa4e0fa2bf74a2de8f46676ea2d87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ef3ea8ff291965aa30277fd0fb0b85777e79a0ad2472579fd98f1004639089f7ef0bd0bab01154f21c7b67b044b470c8472534937a1aaf4f4990397e1b49f82
|
7
|
+
data.tar.gz: d480a8165f6c29b9378306865151b82bfc4168cdc023479647f384ca3c2d4d909808418939c1a6c43422229d685344962e36e628ef2d052a1b84180703646033
|
data/README.md
CHANGED
@@ -6,12 +6,13 @@ module RockRMS
|
|
6
6
|
Response::PaymentDetail.format(res)
|
7
7
|
end
|
8
8
|
|
9
|
-
def create_payment_detail(payment_type:, foreign_key: nil, card_type: nil)
|
9
|
+
def create_payment_detail(payment_type:, foreign_key: nil, card_type: nil, last_4: nil)
|
10
10
|
options = {
|
11
11
|
'CurrencyTypeValueId' => cast_payment_type(payment_type),
|
12
12
|
'CreditCardTypeValueId' => cast_card_type(card_type),
|
13
13
|
'ForeignKey' => foreign_key
|
14
14
|
}
|
15
|
+
options['AccountNumberMasked'] = "************#{last_4}" if last_4
|
15
16
|
|
16
17
|
post(payment_detail_path, options)
|
17
18
|
end
|
@@ -6,6 +6,24 @@ module RockRMS
|
|
6
6
|
Response::SavedPaymentMethod.format(res)
|
7
7
|
end
|
8
8
|
|
9
|
+
def create_saved_payment_method(
|
10
|
+
gateway_id:,
|
11
|
+
payment_detail_id:,
|
12
|
+
person_alias_id:,
|
13
|
+
name:,
|
14
|
+
reference_number:
|
15
|
+
)
|
16
|
+
options = {
|
17
|
+
'FinancialGatewayId' => gateway_id,
|
18
|
+
'FinancialPaymentDetailId' => payment_detail_id,
|
19
|
+
'Name' => name,
|
20
|
+
'PersonAliasId' => person_alias_id,
|
21
|
+
'ReferenceNumber' => reference_number
|
22
|
+
}
|
23
|
+
|
24
|
+
post(saved_payment_method_path, options)
|
25
|
+
end
|
26
|
+
|
9
27
|
def delete_saved_payment_method(id)
|
10
28
|
delete(saved_payment_method_path(id))
|
11
29
|
end
|
data/lib/rock_rms/version.rb
CHANGED
@@ -11,6 +11,62 @@ RSpec.describe RockRMS::Client::SavedPaymentMethod, type: :model do
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
+
describe '#create_saved_payment_method' do
|
15
|
+
context 'arguments' do
|
16
|
+
it 'require `gateway_id`' do
|
17
|
+
expect { client.create_saved_payment_method }
|
18
|
+
.to raise_error(ArgumentError, /gateway_id/)
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'require `payment_detail_id`' do
|
22
|
+
expect { client.create_saved_payment_method }
|
23
|
+
.to raise_error(ArgumentError, /payment_detail_id/)
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'require `person_alias_id`' do
|
27
|
+
expect { client.create_saved_payment_method }
|
28
|
+
.to raise_error(ArgumentError, /person_alias_id/)
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'require `name`' do
|
32
|
+
expect { client.create_saved_payment_method }
|
33
|
+
.to raise_error(ArgumentError, /name/)
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'require `reference_number`' do
|
37
|
+
expect { client.create_saved_payment_method }
|
38
|
+
.to raise_error(ArgumentError, /reference_number/)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
subject(:resource) do
|
43
|
+
client.create_saved_payment_method(
|
44
|
+
gateway_id: 2,
|
45
|
+
payment_detail_id: 1,
|
46
|
+
person_alias_id: 1,
|
47
|
+
name: 'Sapphire Preferred',
|
48
|
+
reference_number: 'card_1234'
|
49
|
+
)
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'returns integer' do
|
53
|
+
expect(resource).to be_a(Integer)
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'passes options' do
|
57
|
+
expect(client).to receive(:post)
|
58
|
+
.with(
|
59
|
+
'FinancialPersonSavedAccounts',
|
60
|
+
'Name' => 'Sapphire Preferred',
|
61
|
+
'ReferenceNumber' => 'card_1234',
|
62
|
+
'PersonAliasId' => 1,
|
63
|
+
'FinancialGatewayId' => 2,
|
64
|
+
'FinancialPaymentDetailId' => 1
|
65
|
+
).and_call_original
|
66
|
+
resource
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
14
70
|
describe '#delete_saved_payment_method' do
|
15
71
|
it 'returns nothing' do
|
16
72
|
expect(client.delete_saved_payment_method(123)).to eq(nil)
|
@@ -0,0 +1 @@
|
|
1
|
+
1
|
data/spec/support/rock_mock.rb
CHANGED
@@ -56,7 +56,8 @@ class RockMock < Sinatra::Base
|
|
56
56
|
create_batch: 'FinancialBatches',
|
57
57
|
create_recurring_donation: 'FinancialScheduledTransactions',
|
58
58
|
create_refund: 'FinancialTransactionRefunds',
|
59
|
-
create_refund_reason: 'DefinedValues'
|
59
|
+
create_refund_reason: 'DefinedValues',
|
60
|
+
create_saved_payment_method: 'FinancialPersonSavedAccounts'
|
60
61
|
}.each do |json, end_point|
|
61
62
|
post "/api/#{end_point}" do
|
62
63
|
json_response 201, "#{json}.json"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rock_rms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Taylor Brooks
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-05-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -270,6 +270,7 @@ files:
|
|
270
270
|
- spec/support/fixtures/create_recurring_donation.json
|
271
271
|
- spec/support/fixtures/create_refund.json
|
272
272
|
- spec/support/fixtures/create_refund_reason.json
|
273
|
+
- spec/support/fixtures/create_saved_payment_method.json
|
273
274
|
- spec/support/fixtures/create_transaction.json
|
274
275
|
- spec/support/fixtures/defined_values.json
|
275
276
|
- spec/support/fixtures/families.json
|