mangopay 3.0.8 → 3.0.9

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: 92c94eb1efc37815f64d2e8ebeca3ebfa4b7f044
4
- data.tar.gz: 099332edf99baa6b8c2ce5422a99514cd2fde164
3
+ metadata.gz: 8c3155df7c8b7d8eb28c67cd17e290b0b3494c87
4
+ data.tar.gz: fdbea6236e07982dc34c46b2fe34a6c3873b2a6d
5
5
  SHA512:
6
- metadata.gz: 977dd21b45ce1732329e1edfd6fd911338ee63e9d90521c729871bb80165d7dd137c791a23ad3d059a6626be0ba719e3bf25a1e6bd5142498548787413b2badd
7
- data.tar.gz: 6e911359d8da8a38ad008f2646058ec20711197d127dacb0c71682ae403113e7677e4d4e3fd0e8ed8dad2dd9602a606d8ca7f5473d8f91d030c4ad26665966a7
6
+ metadata.gz: 9961531e7b10868ef7d1e1a343fb1a1dd9928cfa9c7489fcc5b42444e7062068545486716a4876d7d67bb0d8af6a9e7ece7a0b9208e099bfb1de36618e02c6cd
7
+ data.tar.gz: d29da37c98376db5bdca15321f0d21386f8fc06a76e2acf68d5b277f9e1f2aac78845dea2c0276ae5b657e93e516e5d082d223c01db361aca3edb453d13b3a4c
data/lib/mangopay.rb CHANGED
@@ -26,6 +26,7 @@ require 'mangopay/preauthorization'
26
26
  require 'mangopay/card'
27
27
  require 'mangopay/event'
28
28
  require 'mangopay/kyc_document'
29
+ require 'mangopay/hook'
29
30
 
30
31
  module MangoPay
31
32
 
@@ -1,8 +1,12 @@
1
1
  module MangoPay
2
2
  class BankAccount < Resource
3
- include MangoPay::HTTPCalls::Create
4
3
  include MangoPay::HTTPCalls::Fetch
5
4
 
5
+ def self.create(user_id, params)
6
+ type = params.fetch(:Type) { |no_symbol_key| params.fetch('Type') }
7
+ MangoPay.request(:post, "#{url(user_id)}/#{type}", params)
8
+ end
9
+
6
10
  # Fetches:
7
11
  # - list of bank accounts belonging to the given +user_id+
8
12
  # - or single bank account belonging to the given +user_id+ with the given +bank_account_id+.
@@ -0,0 +1,7 @@
1
+ module MangoPay
2
+ class Hook < Resource
3
+ include MangoPay::HTTPCalls::Create
4
+ include MangoPay::HTTPCalls::Update
5
+ include MangoPay::HTTPCalls::Fetch
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module MangoPay
2
- VERSION = '3.0.8'
2
+ VERSION = '3.0.9'
3
3
  end
@@ -2,11 +2,72 @@ require_relative '../../spec_helper'
2
2
 
3
3
  describe MangoPay::BankAccount do
4
4
  include_context 'bank_accounts'
5
+
6
+ def create(params)
7
+ params_fixed = { OwnerName: 'John', OwnerAddress: 'Here' }.merge(params)
8
+ MangoPay::BankAccount.create(new_natural_user['Id'], params_fixed)
9
+ end
5
10
 
6
11
  describe 'CREATE' do
7
- it 'creates a new bank detail' do
12
+
13
+ it 'creates a new IBAN bank detail' do
8
14
  expect(new_bank_account['Id']).not_to be_nil
9
15
  end
16
+
17
+ it 'creates a new GB bank detail' do
18
+ created = create({
19
+ Type: 'GB',
20
+ AccountNumber: '234234234234',
21
+ SortCode: '234334',
22
+ })
23
+ expect(created['Id']).not_to be_nil
24
+ expect(created['Type']).to eq('GB')
25
+ expect(created['AccountNumber']).to eq('234234234234')
26
+ expect(created['SortCode']).to eq('234334')
27
+ end
28
+
29
+ it 'creates a new US bank detail' do
30
+ created = create({
31
+ Type: 'US',
32
+ AccountNumber: '234234234234',
33
+ ABA: '234334789',
34
+ })
35
+ expect(created['Id']).not_to be_nil
36
+ expect(created['Type']).to eq('US')
37
+ expect(created['AccountNumber']).to eq('234234234234')
38
+ expect(created['ABA']).to eq('234334789')
39
+ end
40
+
41
+ it 'creates a new CA bank detail' do
42
+ created = create({
43
+ Type: 'CA',
44
+ BankName: 'TestBankName',
45
+ BranchCode: '12345',
46
+ AccountNumber: '234234234234',
47
+ InstitutionNumber: '123',
48
+ })
49
+ expect(created['Id']).not_to be_nil
50
+ expect(created['Type']).to eq('CA')
51
+ expect(created['BankName']).to eq('TestBankName')
52
+ expect(created['BranchCode']).to eq('12345')
53
+ expect(created['AccountNumber']).to eq('234234234234')
54
+ expect(created['InstitutionNumber']).to eq('123')
55
+ end
56
+
57
+ it 'creates a new OTHER bank detail' do
58
+ created = create({
59
+ Type: 'OTHER',
60
+ Country: 'FR',
61
+ AccountNumber: '234234234234',
62
+ BIC: 'BINAADADXXX',
63
+ })
64
+ expect(created['Id']).not_to be_nil
65
+ expect(created['Type']).to eq('OTHER')
66
+ expect(created['Country']).to eq('FR')
67
+ expect(created['AccountNumber']).to eq('234234234234')
68
+ expect(created['BIC']).to eq('BINAADADXXX')
69
+ end
70
+
10
71
  end
11
72
 
12
73
  describe 'FETCH' do
@@ -0,0 +1,39 @@
1
+ require_relative '../../spec_helper'
2
+
3
+ describe MangoPay::Hook do
4
+ include_context 'hooks'
5
+
6
+ describe 'CREATE' do
7
+ it 'creates a hook' do
8
+ expect(new_hook['Id']).to_not be_nil
9
+ end
10
+ end
11
+
12
+ describe 'UPDATE' do
13
+ it 'updates a hook' do
14
+ new_url = new_hook['Url'] + '.com'
15
+ updated_hook = MangoPay::Hook.update(new_hook['Id'], {
16
+ Url: new_url,
17
+ Tag: 'Updated Tag'
18
+ })
19
+ expect(updated_hook['Url']).to eq(new_url)
20
+ expect(updated_hook['Tag']).to eq('Updated Tag')
21
+ end
22
+ end
23
+
24
+ describe 'FETCH' do
25
+
26
+ it 'fetches a hook' do
27
+ hook = MangoPay::Hook.fetch(new_hook['Id'])
28
+ expect(hook['Id']).to eq(new_hook['Id'])
29
+ end
30
+
31
+ it 'fetches all the hooks' do
32
+ hooks = MangoPay::Hook.fetch()
33
+ expect(hooks).to be_kind_of(Array)
34
+ expect(hooks).not_to be_empty
35
+ end
36
+
37
+ end
38
+
39
+ end
@@ -296,3 +296,20 @@ shared_context 'transfers' do
296
296
  })
297
297
  end
298
298
  end
299
+
300
+ ###############################################
301
+ shared_context 'hooks' do
302
+ ###############################################
303
+ let(:new_hook) {
304
+ hooks = MangoPay::Hook.fetch({'page' => 1, 'per_page' => 1})
305
+ if hooks.length == 0
306
+ MangoPay::Hook.create({
307
+ EventType: 'PAYIN_NORMAL_CREATED',
308
+ Url: 'http://test.com',
309
+ Tag: 'Test hook'
310
+ })
311
+ else
312
+ hooks[0]
313
+ end
314
+ }
315
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mangopay
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.8
4
+ version: 3.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geoffroy Lorieux
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-01-24 00:00:00.000000000 Z
12
+ date: 2014-03-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: multi_json
@@ -121,6 +121,7 @@ files:
121
121
  - lib/mangopay/client.rb
122
122
  - lib/mangopay/errors.rb
123
123
  - lib/mangopay/event.rb
124
+ - lib/mangopay/hook.rb
124
125
  - lib/mangopay/http_calls.rb
125
126
  - lib/mangopay/json.rb
126
127
  - lib/mangopay/kyc_document.rb
@@ -143,6 +144,7 @@ files:
143
144
  - spec/lib/mangopay/configuration_spec.rb
144
145
  - spec/lib/mangopay/event_spec.rb
145
146
  - spec/lib/mangopay/fetch_filters_spec.rb
147
+ - spec/lib/mangopay/hook_spec.rb
146
148
  - spec/lib/mangopay/kyc_document_spec.rb
147
149
  - spec/lib/mangopay/payin_bankwire_direct_spec.rb
148
150
  - spec/lib/mangopay/payin_card_direct_spec.rb
@@ -189,6 +191,7 @@ test_files:
189
191
  - spec/lib/mangopay/configuration_spec.rb
190
192
  - spec/lib/mangopay/event_spec.rb
191
193
  - spec/lib/mangopay/fetch_filters_spec.rb
194
+ - spec/lib/mangopay/hook_spec.rb
192
195
  - spec/lib/mangopay/kyc_document_spec.rb
193
196
  - spec/lib/mangopay/payin_bankwire_direct_spec.rb
194
197
  - spec/lib/mangopay/payin_card_direct_spec.rb