rock_rms 5.7.0 → 5.9.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3672084464c36f8b71dca9e9b96d294c4b97ab0935f75b62456e7f9014d77c7f
4
- data.tar.gz: a8d2f6245f1ee91ef0239f96e3ae908b633dc780ff247227656c8921dacfa0f1
3
+ metadata.gz: 0436f189196aa04af2bcb9febb4aa528c99a4742c25a2373168292633ab58d59
4
+ data.tar.gz: 671a389f0d9afb2f2f59ef824b3b414ac774b394cafba86cea03deae654dc144
5
5
  SHA512:
6
- metadata.gz: ee15f7c484d7ee523e3ab8c1ba92a1ab3c79b6234ed5f8a0ddc86127eeec28dc601342bf7529de46b766be80b8527441fd7cf7e23a80bc364c3379ea9d0f9496
7
- data.tar.gz: beeae932b5ebe8e620ae0d0d20a689ba26047462ae895293fed6dd57afca57586f2e0256795d49a82afa5f005c0a66de238651ac7b090124278e77929b12a296
6
+ metadata.gz: 2d5c2423cb1ec837cd4e913d2fa3b52f7f6322d1f1deb12619c4ab7c5a5b6a0ed3b7927529fbbb59dc3ab76e9cd77c3293c13de80e90b0b58457f6822667f222
7
+ data.tar.gz: 9311324416a816d019dd4ca278a758465d94e5345d8029842f79785c7d23e70318bef7e7d2a910d6abd10838d2956f2ceb6cde7ccc645f7872998b20740fc036
@@ -58,6 +58,10 @@ module RockRMS
58
58
  patch(recurring_donation_path(id), options)
59
59
  end
60
60
 
61
+ def delete_recurring_donation(id)
62
+ delete(recurring_donation_path(id))
63
+ end
64
+
61
65
  def launch_scheduled_transaction_workflow(
62
66
  id,
63
67
  workflow_type_id:,
@@ -1,6 +1,27 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RockRMS
2
4
  class Client
3
5
  module RecurringDonationDetail
6
+ def create_recurring_donation_detail(
7
+ recurring_donation_id:,
8
+ fund_id:,
9
+ amount:
10
+ )
11
+
12
+ options = {
13
+ 'AccountId' => fund_id,
14
+ 'Amount' => amount,
15
+ 'ScheduledTransactionId' => recurring_donation_id
16
+ }
17
+
18
+ post(recurring_donation_detail_path, options)
19
+ end
20
+
21
+ def delete_recurring_donation_detail(id)
22
+ delete(recurring_donation_detail_path(id))
23
+ end
24
+
4
25
  def update_recurring_donation_detail(id, fund_id: nil, amount: nil)
5
26
  options = {}
6
27
  options['AccountId'] = fund_id if fund_id
@@ -97,7 +97,9 @@ module RockRMS
97
97
  funds.map do |fund|
98
98
  {
99
99
  'Amount' => fund[:amount],
100
- 'AccountId' => fund[:fund_id]
100
+ 'AccountId' => fund[:fund_id],
101
+ 'EntityTypeId' => fund[:entity_type_id],
102
+ 'EntityId' => fund[:entity_id]
101
103
  }
102
104
  end
103
105
  end
@@ -11,11 +11,20 @@ module RockRMS
11
11
  Response::TransactionDetail.format(res)
12
12
  end
13
13
 
14
- def update_transaction_detail(id, fund_id: nil, amount: nil, fee_amount: nil)
14
+ def update_transaction_detail(
15
+ id,
16
+ fund_id: nil,
17
+ amount: nil,
18
+ fee_amount: nil,
19
+ entity_type_id: nil,
20
+ entity_id: nil
21
+ )
15
22
  options = {}
16
- options['AccountId'] = fund_id if fund_id
17
- options['Amount'] = amount if amount
18
- options['FeeAmount'] = fee_amount if fee_amount
23
+ options['AccountId'] = fund_id if fund_id
24
+ options['Amount'] = amount if amount
25
+ options['FeeAmount'] = fee_amount if fee_amount
26
+ options['EntityTypeId'] = entity_type_id if entity_type_id
27
+ options['EntityId'] = entity_id if entity_id
19
28
 
20
29
  patch(transaction_detail_path(id), options)
21
30
  end
@@ -10,7 +10,8 @@ module RockRMS
10
10
  end_date: 'BatchEndDateTime',
11
11
  campus_id: 'CampusId',
12
12
  is_campus: 'Campus',
13
- status: 'Status'
13
+ status: 'Status',
14
+ foreign_key: 'ForeignKey'
14
15
  }.freeze
15
16
 
16
17
  def format_single(data)
@@ -13,7 +13,8 @@ module RockRMS
13
13
  person_id: 'AuthorizedPersonAliasId',
14
14
  start_date: 'StartDate',
15
15
  transaction_details: 'ScheduledTransactionDetails',
16
- transaction_code: 'TransactionCode'
16
+ transaction_code: 'TransactionCode',
17
+ summary: 'Summary'
17
18
  }.freeze
18
19
 
19
20
  def format_single(data)
@@ -2,9 +2,11 @@ module RockRMS
2
2
  module Response
3
3
  class RecurringDonationDetails < Base
4
4
  MAP = {
5
+ id: 'Id',
5
6
  amount: 'Amount',
6
7
  fund_id: 'AccountId',
7
- id: 'Id'
8
+ entity_type_id: 'EntityTypeId',
9
+ entity_id: 'EntityId'
8
10
  }.freeze
9
11
 
10
12
  def format_single(data)
@@ -6,7 +6,9 @@ module RockRMS
6
6
  fee_amount: 'FeeAmount',
7
7
  fund: 'Account',
8
8
  fund_id: 'AccountId',
9
- amount: 'Amount'
9
+ amount: 'Amount',
10
+ entity_type_id: 'EntityTypeId',
11
+ entity_id: 'EntityId'
10
12
  }.freeze
11
13
 
12
14
  def format_single(response)
@@ -1,3 +1,3 @@
1
1
  module RockRMS
2
- VERSION = '5.7.0'.freeze
2
+ VERSION = '5.9.1'.freeze
3
3
  end
data/rock_rms.gemspec CHANGED
@@ -28,7 +28,7 @@ Gem::Specification.new do |s|
28
28
  s.add_development_dependency 'bundler', '~> 2.0'
29
29
  s.add_development_dependency 'dotenv'
30
30
  s.add_development_dependency 'pry'
31
- s.add_development_dependency 'rake', '~> 10.4'
31
+ s.add_development_dependency 'rake', '~> 12.3.3'
32
32
  s.add_development_dependency 'rspec', '~> 3.7'
33
33
  s.add_development_dependency 'sinatra', '~> 2.0'
34
34
  s.add_development_dependency 'webmock', '~> 3.1'
@@ -3,6 +3,50 @@ require 'spec_helper'
3
3
  RSpec.describe RockRMS::Client::RecurringDonationDetail, type: :model do
4
4
  include_context 'resource specs'
5
5
 
6
+ describe '#create_recurring_donation_detail' do
7
+ context 'arguments' do
8
+ it 'require `fund_id`' do
9
+ expect { client.create_recurring_donation_detail }
10
+ .to raise_error(ArgumentError, /fund_id/)
11
+ end
12
+
13
+ it 'require `amount`' do
14
+ expect { client.create_recurring_donation_detail }
15
+ .to raise_error(ArgumentError, /amount/)
16
+ end
17
+
18
+ it 'require `recurring_donation_id`' do
19
+ expect { client.create_recurring_donation_detail }
20
+ .to raise_error(ArgumentError, /recurring_donation_id/)
21
+ end
22
+
23
+ end
24
+
25
+ subject(:resource) do
26
+ client.create_recurring_donation_detail(
27
+ fund_id: 1,
28
+ amount: 5.00,
29
+ recurring_donation_id: 1
30
+ )
31
+ end
32
+
33
+ it 'returns integer' do
34
+ expect(resource).to be_a(Integer)
35
+ end
36
+
37
+ it 'passes options' do
38
+ expect(client).to receive(:post)
39
+ .with(
40
+ 'FinancialScheduledTransactionDetails',
41
+ 'AccountId' => 1,
42
+ 'ScheduledTransactionId' => 1,
43
+ 'Amount' => 5.00,
44
+ )
45
+ .and_call_original
46
+ resource
47
+ end
48
+ end
49
+
6
50
  describe '#update_recurring_donation_detail' do
7
51
  subject(:resource) do
8
52
  client.update_recurring_donation_detail(
@@ -26,4 +70,19 @@ RSpec.describe RockRMS::Client::RecurringDonationDetail, type: :model do
26
70
  resource
27
71
  end
28
72
  end
73
+
74
+ describe '#delete_recurring_donation_detail' do
75
+ subject(:resource) do
76
+ client.delete_recurring_donation_detail(123)
77
+ end
78
+
79
+ it 'returns nothing' do
80
+ expect(client.delete_recurring_donation_detail(123)).to eq(nil)
81
+ end
82
+
83
+ it 'passes options' do
84
+ expect(client).to receive(:delete).with('FinancialScheduledTransactionDetails/123').and_call_original
85
+ resource
86
+ end
87
+ end
29
88
  end
@@ -139,7 +139,7 @@ RSpec.describe RockRMS::Client::RecurringDonation, type: :model do
139
139
  'FinancialGatewayId' => nil,
140
140
  'FinancialPaymentDetailId' => nil,
141
141
  'TransactionCode' => 'asdf',
142
- 'ScheduledTransactionDetails' => [{ 'Amount' => 450, 'AccountId' => 2 }],
142
+ 'ScheduledTransactionDetails' => [{ 'Amount' => 450, 'AccountId' => 2, 'EntityId' => nil, 'EntityTypeId' => nil }],
143
143
  'GatewayScheduleId' => nil,
144
144
  'SourceTypeValueId' => 10,
145
145
  'ForeignKey' => nil
@@ -85,7 +85,7 @@ RSpec.describe RockRMS::Client::Transaction, type: :model do
85
85
  'FinancialPaymentDetailId' => 1,
86
86
  'TransactionCode' => 'asdf',
87
87
  'TransactionDateTime' => 1,
88
- 'TransactionDetails' => [{ 'Amount' => 450, 'AccountId' => 2 }],
88
+ 'TransactionDetails' => [{ 'Amount' => 450, 'AccountId' => 2, 'EntityTypeId' => nil, 'EntityId' => nil }],
89
89
  'TransactionTypeValueId' => 53,
90
90
  'SourceTypeValueId' => 10,
91
91
  'Summary' => 'taco tuesday'
@@ -27,6 +27,7 @@ RSpec.describe RockRMS::Response::RecurringDonation, type: :model do
27
27
  start_date
28
28
  transaction_details
29
29
  transaction_code
30
+ summary
30
31
  ]
31
32
 
32
33
  expect(response.keys).to eq(expected_keys)
@@ -17,6 +17,8 @@ RSpec.describe RockRMS::Response::TransactionDetail, type: :model do
17
17
  expect(r[:id]).to eq(p['Id'])
18
18
  expect(r[:fund_id]).to eq(p['AccountId'])
19
19
  expect(r[:amount]).to eq(p['Amount'])
20
+ expect(r[:entity_type_id]).to eq(p['EntityTypeId'])
21
+ expect(r[:entity_id]).to eq(p['EntityId'])
20
22
  end
21
23
  end
22
24
  end
@@ -9,6 +9,7 @@ class RockMock < Sinatra::Base
9
9
  'FinancialPaymentDetails/:id',
10
10
  'FinancialPersonSavedAccounts/:id',
11
11
  'FinancialTransactions/:id',
12
+ 'FinancialScheduledTransactionDetails/:id',
12
13
  'GroupMembers/:id'
13
14
  ].each do |end_point|
14
15
  delete "/api/#{end_point}" do
@@ -64,7 +65,8 @@ class RockMock < Sinatra::Base
64
65
  create_recurring_donation: 'FinancialScheduledTransactions',
65
66
  create_refund: 'FinancialTransactionRefunds',
66
67
  create_refund_reason: 'DefinedValues',
67
- create_saved_payment_method: 'FinancialPersonSavedAccounts'
68
+ create_saved_payment_method: 'FinancialPersonSavedAccounts',
69
+ create_recurring_donation_detail: 'FinancialScheduledTransactionDetails',
68
70
  }.each do |json, end_point|
69
71
  post "/api/#{end_point}" do
70
72
  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: 5.7.0
4
+ version: 5.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Taylor Brooks
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-13 00:00:00.000000000 Z
11
+ date: 2021-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '10.4'
117
+ version: 12.3.3
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '10.4'
124
+ version: 12.3.3
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rspec
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -300,6 +300,7 @@ files:
300
300
  - spec/support/fixtures/create_payment_detail.json
301
301
  - spec/support/fixtures/create_phone_number.json
302
302
  - spec/support/fixtures/create_recurring_donation.json
303
+ - spec/support/fixtures/create_recurring_donation_detail.json
303
304
  - spec/support/fixtures/create_refund.json
304
305
  - spec/support/fixtures/create_refund_reason.json
305
306
  - spec/support/fixtures/create_saved_payment_method.json