apruve 1.1.3 → 1.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1f77ae16802dececd30e06bdbbd304c22bc9ff54
4
- data.tar.gz: d85fef623412045ca74e915fea7ed579976e9f01
3
+ metadata.gz: 24401a925e3305111fbbe854bba852da2abb854f
4
+ data.tar.gz: bfed11774b2cec8edf220cc1cdb4f29eb8993a5e
5
5
  SHA512:
6
- metadata.gz: 678517ef6ac88dc6c7baab6a2d1db526bac09f0a2b8e57179b17230bee7f99684bf56bd4f9b99523ec8c735cb4d8f6e52996d717b2f900cbb16ac2f962436885
7
- data.tar.gz: 220c84012bb49de0d07853d3a4ba704530a61421da39e79d8806d7a10c74ad6dfe0ebf550b231c999507a09de0032f8bf130237bdbde65cf7741233a280d904a
6
+ metadata.gz: c15cbe632feebad3ee53777e79e646b5c5b4bba422a0afbfa912b54fbd1e50e360261060200d33ea01a2593e30ad5f9a6d48da6a46c0deef5808ba2d3117cd09
7
+ data.tar.gz: 4277d7145125765dfb4a9d5d4b02860bd65d1b51ac3ed3ea2210c951d29542bdc8d583a83a5f3a55b4fe0240f27a05c13336e39a1b4dc50e864836828c1a2915
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- apruve (1.1.2)
4
+ apruve (1.1.3)
5
5
  addressable (~> 2.3)
6
6
  faraday (>= 0.8.6, <= 0.9.0)
7
7
  faraday_middleware (~> 0.9)
@@ -123,4 +123,4 @@ DEPENDENCIES
123
123
  yard
124
124
 
125
125
  BUNDLED WITH
126
- 1.12.5
126
+ 1.13.7
@@ -6,9 +6,11 @@ require_relative 'resources/order'
6
6
  require_relative 'resources/order_item'
7
7
  require_relative 'resources/invoice'
8
8
  require_relative 'resources/invoice_item'
9
+ require_relative 'resources/invoice_return'
9
10
  require_relative 'resources/shipment'
10
11
  require_relative 'resources/shipment_item'
11
12
  require_relative 'resources/merchant'
12
13
  require_relative 'resources/subscription'
13
14
  require_relative 'resources/subscription_adjustment'
14
- require_relative 'resources/webhook_endpoint'
15
+ require_relative 'resources/webhook_endpoint'
16
+ require_relative 'resources/corporate_account'
@@ -0,0 +1,11 @@
1
+ module Apruve
2
+ class CorporateAccount < Apruve::ApruveObject
3
+ attr_accessor :id, :merchant_uuid, :customer_uuid, :type, :created_at, :updated_at, :payment_term_strategy_name,
4
+ :disabled_at, :name, :creditor_term_id, :payment_method_id, :status, :trusted_merchant
5
+
6
+ def self.find(merchant_id, email)
7
+ response = Apruve.get("merchants/#{merchant_id}/corporate_accounts?email=#{email}")
8
+ return CorporateAccount.new(response.body.empty? ? {} : response.body[0])
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,37 @@
1
+ module Apruve
2
+ class InvoiceReturn < Apruve::ApruveObject
3
+ attr_accessor :id, :invoice_id, :amount_cents, :currency, :uuid, :reason, :merchant_notes, :created_by_id,
4
+ :created_at, :updated_at
5
+
6
+ def self.find(invoice_id, id)
7
+ response = Apruve.get("invoices/#{invoice_id}/invoice_returns/#{id}")
8
+ logger.debug response.body
9
+ InvoiceReturn.new(response.body)
10
+ end
11
+
12
+ def validate
13
+ errors = []
14
+ errors << 'amount_cents must be set' if amount_cents.nil?
15
+ errors << 'reason must be set' if reason.nil?
16
+ raise Apruve::ValidationError.new(errors) if errors.length > 0
17
+ end
18
+
19
+ def self.find_all(invoice_id)
20
+ response = Apruve.get("invoices/#{invoice_id}/invoice_returns")
21
+ response.body.map { |invoice_return| InvoiceReturn.new(invoice_return) }
22
+ end
23
+
24
+ def update!
25
+ validate
26
+ response = Apruve.put("invoices/#{self.invoice_id}/invoice_returns/#{self.id}", self.to_json)
27
+ logger.debug response.body
28
+ end
29
+
30
+ def save!
31
+ validate
32
+ response = Apruve.post("invoices/#{self.invoice_id}/invoice_returns", self.to_json)
33
+ logger.debug response.body
34
+ self.id = response.body['id']
35
+ end
36
+ end
37
+ end
@@ -1,7 +1,7 @@
1
1
  module Apruve
2
2
  class Order < Apruve::ApruveObject
3
- attr_accessor :id, :merchant_id, :customer_id, :merchant_order_id, :status, :amount_cents, :currency, :tax_cents,
4
- :shipping_cents, :expire_at, :order_items, :accepts_payments_via, :accepts_payment_terms, :payment_terms,
3
+ attr_accessor :id, :merchant_id, :shopper_id, :merchant_order_id, :status, :amount_cents, :currency, :tax_cents,
4
+ :shipping_cents, :expire_at, :order_items, :accepts_payments_via, :accepts_payment_terms, :payment_term,
5
5
  :created_at, :updated_at, :final_state_at, :default_payment_method, :links, :finalize_on_create, :invoice_on_create
6
6
 
7
7
  def self.find(id)
@@ -54,9 +54,18 @@ module Apruve
54
54
  def validate
55
55
  errors = []
56
56
  errors << 'merchant_id must be set' if merchant_id.nil?
57
+ errors << 'payment_term must be supplied' if payment_term.nil?
57
58
  raise Apruve::ValidationError.new(errors) if errors.length > 0
58
59
  end
59
60
 
61
+ def save!
62
+ validate
63
+ response = Apruve.post('orders', self.to_json)
64
+ self.id = response.body['id']
65
+ self.status = response.body['status']
66
+ self.created_at = response.body['created_at']
67
+ end
68
+
60
69
  def value_string
61
70
  # add each field in the PR
62
71
  str = "#{merchant_id}#{merchant_order_id}#{amount_cents}#{currency}#{tax_cents}#{shipping_cents}#{expire_at}#{accepts_payment_terms}#{finalize_on_create}#{invoice_on_create}"
@@ -1,3 +1,3 @@
1
1
  module Apruve
2
- VERSION = '1.1.3'
2
+ VERSION = '1.1.4'
3
3
  end
@@ -0,0 +1,68 @@
1
+ require 'spec_helper'
2
+
3
+ describe Apruve::CorporateAccount do
4
+ before :each do
5
+ Apruve.configure('7ec4e1ae7c96fceba0d599da541912b7', 'local')
6
+ end
7
+
8
+ let (:id) { '89ea2488fe0a5c7bb38aa7f9b088874a' }
9
+ let (:merchant_uuid) { '89ea2488fe0a5c7bb38aa7f9b088874b' }
10
+ let (:customer_uuid) { '89ea2488fe0a5c7bb38aa7f9b088874c' }
11
+ let (:type) { 'CorporateAccount' }
12
+ let (:payment_term_strategy_name) { 'EOMNet15' }
13
+ let (:name) { 'A name' }
14
+ let (:email) { Faker::Internet.email }
15
+
16
+ let (:corporate_account) do
17
+ Apruve::CorporateAccount.new(
18
+ id: id,
19
+ merchant_uuid: merchant_uuid,
20
+ customer_uuid: customer_uuid,
21
+ type: type,
22
+ payment_term_strategy_name: payment_term_strategy_name,
23
+ name: name,
24
+ )
25
+ end
26
+ subject { corporate_account }
27
+
28
+ it { should respond_to(:id) }
29
+ it { should respond_to(:merchant_uuid) }
30
+ it { should respond_to(:customer_uuid) }
31
+ it { should respond_to(:type) }
32
+ it { should respond_to(:created_at) }
33
+ it { should respond_to(:updated_at) }
34
+ it { should respond_to(:payment_term_strategy_name) }
35
+ it { should respond_to(:disabled_at) }
36
+ it { should respond_to(:name) }
37
+ it { should respond_to(:creditor_term_id) }
38
+ it { should respond_to(:payment_method_id) }
39
+ it { should respond_to(:status) }
40
+ it { should respond_to(:trusted_merchant) }
41
+
42
+
43
+ describe '#find' do
44
+ describe 'success' do
45
+ let! (:stubs) do
46
+ faraday_stubs do |stub|
47
+ stub.get("/api/v4/merchants/#{merchant_uuid}/corporate_accounts?email=#{email}") { [200, {}, '{}'] }
48
+ end
49
+ end
50
+ it 'should do a get' do
51
+ Apruve::CorporateAccount.find(merchant_uuid, email)
52
+ stubs.verify_stubbed_calls
53
+ end
54
+ end
55
+
56
+ describe 'not found' do
57
+ let! (:stubs) do
58
+ faraday_stubs do |stub|
59
+ stub.get("/api/v4/merchants/#{merchant_uuid}/corporate_accounts?email=#{email}") { [404, {}, 'Not Found'] }
60
+ end
61
+ end
62
+ it 'should raise' do
63
+ expect { Apruve::CorporateAccount.find(merchant_uuid, email) }.to raise_error(Apruve::NotFound)
64
+ stubs.verify_stubbed_calls
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,165 @@
1
+ require 'spec_helper'
2
+
3
+ describe Apruve::InvoiceReturn do
4
+ before :each do
5
+ Apruve.configure('f5fbe71d68772d1f562ed6f598b995b3', 'local')
6
+ end
7
+
8
+ let (:id) { '89ea2488fe0a5c7bb38aa7f9b088874a' }
9
+ let (:invoice_id) { '89ea2488fe0a5c7bb38aa7f9b088874b' }
10
+ let (:amount_cents) { 12345 }
11
+ let (:currency) { 'USD' }
12
+ let (:reason) { 'DAMAGED' }
13
+
14
+ let (:invoice_return) do
15
+ Apruve::InvoiceReturn.new(
16
+ id: id,
17
+ invoice_id: invoice_id,
18
+ amount_cents: amount_cents,
19
+ currency: currency,
20
+ reason: reason
21
+ )
22
+ end
23
+ subject { invoice_return }
24
+
25
+ it { should respond_to(:id) }
26
+ it { should respond_to(:invoice_id) }
27
+ it { should respond_to(:amount_cents) }
28
+ it { should respond_to(:currency) }
29
+ it { should respond_to(:uuid) }
30
+ it { should respond_to(:reason) }
31
+ it { should respond_to(:merchant_notes) }
32
+ it { should respond_to(:created_by_id) }
33
+ it { should respond_to(:created_at) }
34
+ it { should respond_to(:updated_at) }
35
+
36
+ describe '#find' do
37
+ context 'successful response' do
38
+ let! (:stubs) do
39
+ faraday_stubs do |stub|
40
+ stub.get("api/v4/invoices/#{invoice_id}/invoice_returns/#{id}") { [200, {} , '{}'] }
41
+ end
42
+ end
43
+ it 'should get an invoice return' do
44
+ Apruve::InvoiceReturn.find(invoice_id, id)
45
+ stubs.verify_stubbed_calls
46
+ end
47
+ end
48
+
49
+ context 'when not found' do
50
+ let! (:stubs) do
51
+ faraday_stubs do |stub|
52
+ stub.get("api/v4/invoices/#{invoice_id}/invoice_returns/#{id}") { [404, {} , 'Not Found'] }
53
+ end
54
+ end
55
+ it 'should raise not found' do
56
+ expect { Apruve::InvoiceReturn.find(invoice_id, id) }.to raise_error(Apruve::NotFound)
57
+ stubs.verify_stubbed_calls
58
+ end
59
+ end
60
+ end
61
+
62
+ describe '#find_all' do
63
+ context 'successful response' do
64
+ let! (:stubs) do
65
+ faraday_stubs do |stub|
66
+ stub.get("api/v4/invoices/#{invoice_id}/invoice_returns") { [200, {} , '{}'] }
67
+ end
68
+ end
69
+ it 'should get all returns for an invoice' do
70
+ Apruve::InvoiceReturn.find_all(invoice_id)
71
+ stubs.verify_stubbed_calls
72
+ end
73
+ end
74
+
75
+ context 'when invoice not found' do
76
+ let! (:stubs) do
77
+ faraday_stubs do |stub|
78
+ stub.get("api/v4/invoices/#{invoice_id}/invoice_returns") { [404, {} , 'Not Found'] }
79
+ end
80
+ end
81
+ it 'should raise not found' do
82
+ expect { Apruve::InvoiceReturn.find_all(invoice_id) }.to raise_error(Apruve::NotFound)
83
+ stubs.verify_stubbed_calls
84
+ end
85
+ end
86
+ end
87
+
88
+ describe '#save' do
89
+ let (:response) do
90
+ {
91
+ id: id,
92
+ invoice_id: invoice_id,
93
+ amount_cents: amount_cents,
94
+ currency: currency,
95
+ reason: reason
96
+ }
97
+ end
98
+ context 'successful response' do
99
+ let! (:stubs) do
100
+ faraday_stubs do |stub|
101
+ stub.post(
102
+ "/api/v4/invoices/#{invoice_id}/invoice_returns",
103
+ invoice_return.to_json,
104
+ ) { [200, {}, response.to_json] }
105
+ end
106
+ end
107
+ it 'should post new invoice return' do
108
+ invoice_return.save!
109
+ expect(invoice_return.id).to eq id
110
+ stubs.verify_stubbed_calls
111
+ end
112
+ end
113
+
114
+ context 'when invoice not found' do
115
+ let! (:stubs) do
116
+ faraday_stubs do |stub|
117
+ stub.post(
118
+ "/api/v4/invoices/#{invoice_id}/invoice_returns",
119
+ invoice_return.to_json,
120
+ ) { [404, {}, 'Not Found'] }
121
+ end
122
+ end
123
+ it 'should raise not found' do
124
+ expect { invoice_return.save! }.to raise_error(Apruve::NotFound)
125
+ stubs.verify_stubbed_calls
126
+ end
127
+ end
128
+ end
129
+
130
+ describe '#update' do
131
+ let (:response) do
132
+ {
133
+ id: id,
134
+ invoice_id: invoice_id,
135
+ amount_cents: amount_cents,
136
+ currency: currency,
137
+ reason: reason
138
+ }
139
+ end
140
+
141
+ context 'successful response' do
142
+ let! (:stubs) do
143
+ faraday_stubs do |stub|
144
+ stub.put("/api/v4/invoices/#{invoice_id}/invoice_returns/#{id}", invoice_return.to_json) { [200, {}, response.to_json] }
145
+ end
146
+ end
147
+ it 'should put updated invoice return' do
148
+ invoice_return.update!
149
+ stubs.verify_stubbed_calls
150
+ end
151
+ end
152
+
153
+ context 'when invoice return not found' do
154
+ let! (:stubs) do
155
+ faraday_stubs do |stub|
156
+ stub.put("/api/v4/invoices/#{invoice_id}/invoice_returns/#{id}", invoice_return.to_json) { [404, {}, 'Not Found'] }
157
+ end
158
+ end
159
+ it 'should raise not found' do
160
+ expect { invoice_return.update! }.to raise_error(Apruve::NotFound)
161
+ stubs.verify_stubbed_calls
162
+ end
163
+ end
164
+ end
165
+ end
@@ -2,14 +2,13 @@ require 'spec_helper'
2
2
 
3
3
  describe Apruve::Order do
4
4
  before :each do
5
- Apruve.configure('f5fbe71d68772d1f562ed6f598b995b3', 'local')
5
+ Apruve.configure('7ec4e1ae7c96fceba0d599da541912b7', 'local')
6
6
  end
7
7
 
8
8
  let (:order_items) do
9
9
  [
10
10
  Apruve::OrderItem.new(
11
11
  title: 'line 1',
12
- amount_cents: '1230',
13
12
  price_ea_cents: '123',
14
13
  quantity: 10,
15
14
  description: 'A line item',
@@ -20,22 +19,29 @@ describe Apruve::Order do
20
19
  ),
21
20
  Apruve::OrderItem.new(
22
21
  title: 'line 2',
23
- amount_cents: '40'
22
+ price_ea_cents: '40'
24
23
  )
25
24
  ]
26
25
  end
27
26
 
27
+ let (:payment_term) do
28
+ {
29
+ corporate_account_id: '612e5383e4acc6c2213f3cae6208e868'
30
+ }
31
+ end
32
+
28
33
  let (:payment_request) do
29
34
  Apruve::Order.new(
30
- merchant_id: '9999',
35
+ merchant_id: '9a9c3389fdc281b5c6c8d542a7e91ff6',
36
+ shopper_id: '9bc388fd08ce2835cfeb2e630316f7f1',
31
37
  merchant_order_id: 'ABC',
32
38
  amount_cents: 12340,
33
39
  tax_cents: 0,
34
40
  shipping_cents: 0,
35
- expire_at: '2014-07-22T00:00:00+00:00',
36
41
  order_items: order_items,
37
42
  finalize_on_create: false,
38
- invoice_on_create: false
43
+ invoice_on_create: false,
44
+ payment_term: payment_term
39
45
  )
40
46
  end
41
47
  subject { payment_request }
@@ -55,18 +61,17 @@ describe Apruve::Order do
55
61
 
56
62
  describe '#to_json' do
57
63
  let(:expected) do
58
- "{\"merchant_id\":\"9999\",\"merchant_order_id\":\"ABC\",\"amount_cents\":12340,\"tax_cents\":0,"\
59
- "\"shipping_cents\":0,\"expire_at\":\"2014-07-22T00:00:00+00:00\",\"order_items\":[{\"title\":\"line 1\",\"amount_cents\":\"1230\","\
60
- "\"price_ea_cents\":\"123\",\"quantity\":10,\"description\":\"A line item\",\"variant_info\":\"small\","\
61
- "\"sku\":\"LINE1SKU\",\"vendor\":\"acme, inc.\",\"view_product_url\":\"http://www.apruve.com/doc\"},"\
62
- "{\"title\":\"line 2\",\"amount_cents\":\"40\"}],\"finalize_on_create\":false,\"invoice_on_create\":false}"
64
+ "{\"merchant_id\":\"9a9c3389fdc281b5c6c8d542a7e91ff6\",\"shopper_id\":\"9bc388fd08ce2835cfeb2e630316f7f1\",\"merchant_order_id\":\"ABC\","\
65
+ "\"amount_cents\":12340,\"tax_cents\":0,\"shipping_cents\":0,\"order_items\":[{\"title\":\"line 1\",\"price_ea_cents\":\"123\",\"quantity\":10,"\
66
+ "\"description\":\"A line item\",\"variant_info\":\"small\",\"sku\":\"LINE1SKU\",\"vendor\":\"acme, inc.\",\"view_product_url\":\"http://www.apruve.com/doc\""\
67
+ "},{\"title\":\"line 2\",\"price_ea_cents\":\"40\"}],\"finalize_on_create\":false,\"invoice_on_create\":false,\"payment_term\":{\"corporate_account_id\":\"612e5383e4acc6c2213f3cae6208e868\"}}"
63
68
  end
64
69
  its(:to_json) { should eq expected }
65
70
  end
66
71
 
67
72
  describe '#value_string' do
68
73
  let(:expected) do
69
- '9999ABC12340002014-07-22T00:00:00+00:00falsefalseline 1123012310A line itemsmallLINE1SKUacme, inc.http://www.apruve.com/docline 240'
74
+ '9a9c3389fdc281b5c6c8d542a7e91ff6ABC1234000falsefalseline 112310A line itemsmallLINE1SKUacme, inc.http://www.apruve.com/docline 240'
70
75
  end
71
76
  its(:value_string) { should eq expected }
72
77
  end
@@ -82,7 +87,7 @@ describe Apruve::Order do
82
87
  end
83
88
  end
84
89
  describe 'with api_key' do
85
- let (:hash) { '9aa1dda31ecd611ed759e132c2c4afec810409e49866db0090d8fa51fe4ad597' }
90
+ let (:hash) { 'a69b444d356b8afc68fc9c84e1686f645a539cc1975d07ef0d7a51e38a12b66c' }
86
91
  let (:api_key) { 'an_api_key' }
87
92
  before :each do
88
93
  Apruve.configure(api_key)
@@ -136,6 +141,38 @@ describe Apruve::Order do
136
141
  end
137
142
  end
138
143
 
144
+ describe '#save' do
145
+ let (:id) { '89ea2488fe0a5c7bb38aa7f9b088874a' }
146
+ let (:status) { 'pending' }
147
+ let (:api_url) { Faker::Internet.url }
148
+ let (:view_url) { Faker::Internet.url }
149
+ let (:response) do
150
+ {
151
+ id: id,
152
+ status: status,
153
+ api_url: api_url,
154
+ view_url: view_url
155
+ }
156
+ end
157
+ describe 'success' do
158
+ let! (:stubs) do
159
+ faraday_stubs do |stub|
160
+ stub.post(
161
+ "/api/v4/orders",
162
+ payment_request.to_json,
163
+ ) { [201, {}, response.to_json] }
164
+ end
165
+ end
166
+
167
+ it 'should do a post' do
168
+ payment_request.save!
169
+ expect(payment_request.id).to eq id
170
+ expect(payment_request.status).to eq status
171
+ stubs.verify_stubbed_calls
172
+ end
173
+ end
174
+ end
175
+
139
176
  describe '#finalize' do
140
177
  let (:id) { '89ea2488fe0a5c7bb38aa7f9b088874a' }
141
178
  describe 'success' do
@@ -192,7 +229,7 @@ describe Apruve::Order do
192
229
 
193
230
  describe '#update' do
194
231
  let (:id) { '89ea2488fe0a5c7bb38aa7f9b088874a' }
195
- let (:order) { Apruve::Order.new id: id, merchant_id: 9999 }
232
+ let (:order) { Apruve::Order.new id: id, merchant_id: 9999, payment_term: payment_term }
196
233
  describe 'success' do
197
234
  let! (:stubs) do
198
235
  faraday_stubs do |stub|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apruve
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Apruve, Inc.
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-01-05 00:00:00.000000000 Z
12
+ date: 2017-06-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -109,8 +109,10 @@ files:
109
109
  - lib/apruve/faraday_error_handler.rb
110
110
  - lib/apruve/resources.rb
111
111
  - lib/apruve/resources/apruve_object.rb
112
+ - lib/apruve/resources/corporate_account.rb
112
113
  - lib/apruve/resources/invoice.rb
113
114
  - lib/apruve/resources/invoice_item.rb
115
+ - lib/apruve/resources/invoice_return.rb
114
116
  - lib/apruve/resources/merchant.rb
115
117
  - lib/apruve/resources/order.rb
116
118
  - lib/apruve/resources/order_item.rb
@@ -127,7 +129,9 @@ files:
127
129
  - spec/apruve/apruve_spec.rb
128
130
  - spec/apruve/client_spec.rb
129
131
  - spec/apruve/config_spec.rb
132
+ - spec/apruve/resources/corporate_account_spec.rb
130
133
  - spec/apruve/resources/invoice_item_spec.rb
134
+ - spec/apruve/resources/invoice_return_spec.rb
131
135
  - spec/apruve/resources/invoice_spec.rb
132
136
  - spec/apruve/resources/merchant_spec.rb
133
137
  - spec/apruve/resources/order_item_spec.rb
@@ -167,7 +171,9 @@ test_files:
167
171
  - spec/apruve/apruve_spec.rb
168
172
  - spec/apruve/client_spec.rb
169
173
  - spec/apruve/config_spec.rb
174
+ - spec/apruve/resources/corporate_account_spec.rb
170
175
  - spec/apruve/resources/invoice_item_spec.rb
176
+ - spec/apruve/resources/invoice_return_spec.rb
171
177
  - spec/apruve/resources/invoice_spec.rb
172
178
  - spec/apruve/resources/merchant_spec.rb
173
179
  - spec/apruve/resources/order_item_spec.rb