gocardless_pro 0.3.0 → 1.0.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 +14 -29
- data/lib/gocardless_pro.rb +7 -3
- data/lib/gocardless_pro/api_response.rb +14 -0
- data/lib/gocardless_pro/client.rb +24 -12
- data/lib/gocardless_pro/list_response.rb +7 -3
- data/lib/gocardless_pro/request.rb +3 -11
- data/lib/gocardless_pro/resources/{helper.rb → bank_details_lookup.rb} +15 -4
- data/lib/gocardless_pro/resources/creditor.rb +14 -13
- data/lib/gocardless_pro/resources/creditor_bank_account.rb +14 -10
- data/lib/gocardless_pro/resources/customer.rb +8 -4
- data/lib/gocardless_pro/resources/customer_bank_account.rb +15 -13
- data/lib/gocardless_pro/resources/event.rb +6 -1
- data/lib/gocardless_pro/resources/mandate.rb +10 -7
- data/lib/gocardless_pro/resources/mandate_pdf.rb +42 -0
- data/lib/gocardless_pro/resources/payment.rb +12 -11
- data/lib/gocardless_pro/resources/payout.rb +9 -6
- data/lib/gocardless_pro/resources/redirect_flow.rb +24 -30
- data/lib/gocardless_pro/resources/refund.rb +15 -15
- data/lib/gocardless_pro/resources/subscription.rb +26 -22
- data/lib/gocardless_pro/response.rb +5 -0
- data/lib/gocardless_pro/services/bank_details_lookups_service.rb +55 -0
- data/lib/gocardless_pro/services/creditor_bank_accounts_service.rb +8 -9
- data/lib/gocardless_pro/services/creditors_service.rb +6 -7
- data/lib/gocardless_pro/services/customer_bank_accounts_service.rb +15 -18
- data/lib/gocardless_pro/services/customers_service.rb +6 -7
- data/lib/gocardless_pro/services/events_service.rb +4 -6
- data/lib/gocardless_pro/services/mandate_pdfs_service.rb +63 -0
- data/lib/gocardless_pro/services/mandates_service.rb +12 -24
- data/lib/gocardless_pro/services/payments_service.rb +15 -16
- data/lib/gocardless_pro/services/payouts_service.rb +5 -6
- data/lib/gocardless_pro/services/redirect_flows_service.rb +13 -17
- data/lib/gocardless_pro/services/refunds_service.rb +16 -19
- data/lib/gocardless_pro/services/subscriptions_service.rb +10 -11
- data/lib/gocardless_pro/version.rb +1 -1
- data/spec/api_response_spec.rb +28 -0
- data/spec/resources/bank_details_lookup_spec.rb +39 -0
- data/spec/resources/creditor_spec.rb +0 -4
- data/spec/resources/{helper_spec.rb → mandate_pdf_spec.rb} +17 -1
- data/spec/resources/subscription_spec.rb +4 -4
- data/spec/services/bank_details_lookups_service_spec.rb +80 -0
- data/spec/services/creditor_bank_accounts_service_spec.rb +2 -0
- data/spec/services/creditors_service_spec.rb +2 -0
- data/spec/services/customer_bank_accounts_service_spec.rb +2 -0
- data/spec/services/customers_service_spec.rb +2 -0
- data/spec/services/events_service_spec.rb +2 -0
- data/spec/services/mandate_pdfs_service_spec.rb +80 -0
- data/spec/services/mandates_service_spec.rb +2 -0
- data/spec/services/payments_service_spec.rb +2 -0
- data/spec/services/payouts_service_spec.rb +2 -0
- data/spec/services/refunds_service_spec.rb +2 -0
- data/spec/services/subscriptions_service_spec.rb +26 -24
- metadata +17 -8
- data/lib/gocardless_pro/services/helpers_service.rb +0 -99
- data/spec/services/helpers_service_spec.rb +0 -122
@@ -14,9 +14,9 @@ module GoCardlessPro
|
|
14
14
|
#
|
15
15
|
# This
|
16
16
|
# fails with a `mandate_is_inactive` error if the linked
|
17
|
-
# [mandate](
|
18
|
-
#
|
19
|
-
#
|
17
|
+
# [mandate](#core-endpoints-mandates) is cancelled. Payments can be created
|
18
|
+
# against `pending_submission` mandates, but they will not be submitted until
|
19
|
+
# the mandate becomes active.
|
20
20
|
# Example URL: /payments
|
21
21
|
# @param options [Hash] parameters as a hash, under a params key.
|
22
22
|
def create(options = {})
|
@@ -28,12 +28,11 @@ module GoCardlessPro
|
|
28
28
|
response = make_request(:post, path, options)
|
29
29
|
|
30
30
|
return if response.body.nil?
|
31
|
-
Resources::Payment.new(unenvelope_body(response.body))
|
31
|
+
Resources::Payment.new(unenvelope_body(response.body), response)
|
32
32
|
end
|
33
33
|
|
34
|
-
# Returns a
|
35
|
-
#
|
36
|
-
# list of your payments.
|
34
|
+
# Returns a [cursor-paginated](#overview-cursor-pagination) list of your
|
35
|
+
# payments.
|
37
36
|
# Example URL: /payments
|
38
37
|
# @param options [Hash] parameters as a hash, under a params key.
|
39
38
|
def list(options = {})
|
@@ -41,7 +40,7 @@ module GoCardlessPro
|
|
41
40
|
|
42
41
|
response = make_request(:get, path, options)
|
43
42
|
ListResponse.new(
|
44
|
-
|
43
|
+
response: response,
|
45
44
|
unenveloped_body: unenvelope_body(response.body),
|
46
45
|
resource_class: Resources::Payment
|
47
46
|
)
|
@@ -63,7 +62,7 @@ module GoCardlessPro
|
|
63
62
|
# Retrieves the details of a single existing payment.
|
64
63
|
# Example URL: /payments/:identity
|
65
64
|
#
|
66
|
-
# @param identity # Unique identifier, beginning with "PM"
|
65
|
+
# @param identity # Unique identifier, beginning with "PM".
|
67
66
|
# @param options [Hash] parameters as a hash, under a params key.
|
68
67
|
def get(identity, options = {})
|
69
68
|
path = sub_url('/payments/:identity', 'identity' => identity)
|
@@ -71,13 +70,13 @@ module GoCardlessPro
|
|
71
70
|
response = make_request(:get, path, options)
|
72
71
|
|
73
72
|
return if response.body.nil?
|
74
|
-
Resources::Payment.new(unenvelope_body(response.body))
|
73
|
+
Resources::Payment.new(unenvelope_body(response.body), response)
|
75
74
|
end
|
76
75
|
|
77
76
|
# Updates a payment object. This accepts only the metadata parameter.
|
78
77
|
# Example URL: /payments/:identity
|
79
78
|
#
|
80
|
-
# @param identity # Unique identifier, beginning with "PM"
|
79
|
+
# @param identity # Unique identifier, beginning with "PM".
|
81
80
|
# @param options [Hash] parameters as a hash, under a params key.
|
82
81
|
def update(identity, options = {})
|
83
82
|
path = sub_url('/payments/:identity', 'identity' => identity)
|
@@ -88,7 +87,7 @@ module GoCardlessPro
|
|
88
87
|
response = make_request(:put, path, options)
|
89
88
|
|
90
89
|
return if response.body.nil?
|
91
|
-
Resources::Payment.new(unenvelope_body(response.body))
|
90
|
+
Resources::Payment.new(unenvelope_body(response.body), response)
|
92
91
|
end
|
93
92
|
|
94
93
|
# Cancels the payment if it has not already been submitted to the banks. Any
|
@@ -99,7 +98,7 @@ module GoCardlessPro
|
|
99
98
|
# the payment's status is `pending_submission`.
|
100
99
|
# Example URL: /payments/:identity/actions/cancel
|
101
100
|
#
|
102
|
-
# @param identity # Unique identifier, beginning with "PM"
|
101
|
+
# @param identity # Unique identifier, beginning with "PM".
|
103
102
|
# @param options [Hash] parameters as a hash, under a params key.
|
104
103
|
def cancel(identity, options = {})
|
105
104
|
path = sub_url('/payments/:identity/actions/cancel', 'identity' => identity)
|
@@ -110,7 +109,7 @@ module GoCardlessPro
|
|
110
109
|
response = make_request(:post, path, options)
|
111
110
|
|
112
111
|
return if response.body.nil?
|
113
|
-
Resources::Payment.new(unenvelope_body(response.body))
|
112
|
+
Resources::Payment.new(unenvelope_body(response.body), response)
|
114
113
|
end
|
115
114
|
|
116
115
|
# <a name="retry_failed"></a>Retries a failed payment if the underlying mandate
|
@@ -127,7 +126,7 @@ module GoCardlessPro
|
|
127
126
|
# times.
|
128
127
|
# Example URL: /payments/:identity/actions/retry
|
129
128
|
#
|
130
|
-
# @param identity # Unique identifier, beginning with "PM"
|
129
|
+
# @param identity # Unique identifier, beginning with "PM".
|
131
130
|
# @param options [Hash] parameters as a hash, under a params key.
|
132
131
|
def retry(identity, options = {})
|
133
132
|
path = sub_url('/payments/:identity/actions/retry', 'identity' => identity)
|
@@ -138,7 +137,7 @@ module GoCardlessPro
|
|
138
137
|
response = make_request(:post, path, options)
|
139
138
|
|
140
139
|
return if response.body.nil?
|
141
|
-
Resources::Payment.new(unenvelope_body(response.body))
|
140
|
+
Resources::Payment.new(unenvelope_body(response.body), response)
|
142
141
|
end
|
143
142
|
|
144
143
|
# Unenvelope the response of the body using the service's `envelope_key`
|
@@ -10,9 +10,8 @@ module GoCardlessPro
|
|
10
10
|
module Services
|
11
11
|
# Service for making requests to the Payout endpoints
|
12
12
|
class PayoutsService < BaseService
|
13
|
-
# Returns a
|
14
|
-
#
|
15
|
-
# list of your payouts.
|
13
|
+
# Returns a [cursor-paginated](#overview-cursor-pagination) list of your
|
14
|
+
# payouts.
|
16
15
|
# Example URL: /payouts
|
17
16
|
# @param options [Hash] parameters as a hash, under a params key.
|
18
17
|
def list(options = {})
|
@@ -20,7 +19,7 @@ module GoCardlessPro
|
|
20
19
|
|
21
20
|
response = make_request(:get, path, options)
|
22
21
|
ListResponse.new(
|
23
|
-
|
22
|
+
response: response,
|
24
23
|
unenveloped_body: unenvelope_body(response.body),
|
25
24
|
resource_class: Resources::Payout
|
26
25
|
)
|
@@ -44,7 +43,7 @@ module GoCardlessPro
|
|
44
43
|
# guide](#events-fetching-events-for-a-payout).
|
45
44
|
# Example URL: /payouts/:identity
|
46
45
|
#
|
47
|
-
# @param identity # Unique identifier, beginning with "PO"
|
46
|
+
# @param identity # Unique identifier, beginning with "PO".
|
48
47
|
# @param options [Hash] parameters as a hash, under a params key.
|
49
48
|
def get(identity, options = {})
|
50
49
|
path = sub_url('/payouts/:identity', 'identity' => identity)
|
@@ -52,7 +51,7 @@ module GoCardlessPro
|
|
52
51
|
response = make_request(:get, path, options)
|
53
52
|
|
54
53
|
return if response.body.nil?
|
55
|
-
Resources::Payout.new(unenvelope_body(response.body))
|
54
|
+
Resources::Payout.new(unenvelope_body(response.body), response)
|
56
55
|
end
|
57
56
|
|
58
57
|
# Unenvelope the response of the body using the service's `envelope_key`
|
@@ -23,7 +23,7 @@ module GoCardlessPro
|
|
23
23
|
response = make_request(:post, path, options)
|
24
24
|
|
25
25
|
return if response.body.nil?
|
26
|
-
Resources::RedirectFlow.new(unenvelope_body(response.body))
|
26
|
+
Resources::RedirectFlow.new(unenvelope_body(response.body), response)
|
27
27
|
end
|
28
28
|
|
29
29
|
# Returns all details about a single redirect flow
|
@@ -37,24 +37,20 @@ module GoCardlessPro
|
|
37
37
|
response = make_request(:get, path, options)
|
38
38
|
|
39
39
|
return if response.body.nil?
|
40
|
-
Resources::RedirectFlow.new(unenvelope_body(response.body))
|
40
|
+
Resources::RedirectFlow.new(unenvelope_body(response.body), response)
|
41
41
|
end
|
42
42
|
|
43
|
-
# This creates a
|
44
|
-
#
|
45
|
-
# [
|
46
|
-
#
|
47
|
-
# and
|
48
|
-
# [mandate](https://developer.gocardless.com/pro/2015-04-29/#api-endpoints-mandates)
|
49
|
-
# using the details supplied by your customer and returns the ID of the created
|
50
|
-
# mandate.
|
43
|
+
# This creates a [customer](#core-endpoints-customers), [customer bank
|
44
|
+
# account](#core-endpoints-customer-bank-accounts), and
|
45
|
+
# [mandate](#core-endpoints-mandates) using the details supplied by your
|
46
|
+
# customer and returns the ID of the created mandate.
|
51
47
|
#
|
52
|
-
# This will return a
|
53
|
-
# customer has not yet been redirected
|
54
|
-
# `redirect_flow_already_completed` error if your
|
55
|
-
# completed this flow. It will return a `bad_request`
|
56
|
-
# `session_token` differs to the one supplied when the redirect
|
57
|
-
# created.
|
48
|
+
# This will return a
|
49
|
+
# `redirect_flow_incomplete` error if your customer has not yet been redirected
|
50
|
+
# back to your site, and a `redirect_flow_already_completed` error if your
|
51
|
+
# integration has already completed this flow. It will return a `bad_request`
|
52
|
+
# error if the `session_token` differs to the one supplied when the redirect
|
53
|
+
# flow was created.
|
58
54
|
# Example URL: /redirect_flows/:identity/actions/complete
|
59
55
|
#
|
60
56
|
# @param identity # Unique identifier, beginning with "RE".
|
@@ -68,7 +64,7 @@ module GoCardlessPro
|
|
68
64
|
response = make_request(:post, path, options)
|
69
65
|
|
70
66
|
return if response.body.nil?
|
71
|
-
Resources::RedirectFlow.new(unenvelope_body(response.body))
|
67
|
+
Resources::RedirectFlow.new(unenvelope_body(response.body), response)
|
72
68
|
end
|
73
69
|
|
74
70
|
# Unenvelope the response of the body using the service's `envelope_key`
|
@@ -18,18 +18,16 @@ module GoCardlessPro
|
|
18
18
|
# name="number_of_refunds_exceeded"></a>
|
19
19
|
#
|
20
20
|
# - `refund_payment_invalid_state`
|
21
|
-
# error if the linked
|
22
|
-
#
|
23
|
-
# isn't either `confirmed` or `paid_out`.
|
21
|
+
# error if the linked [payment](#core-endpoints-payments) isn't either
|
22
|
+
# `confirmed` or `paid_out`.
|
24
23
|
#
|
25
|
-
# -
|
26
|
-
#
|
27
|
-
#
|
28
|
-
#
|
24
|
+
# - `total_amount_confirmation_invalid` if the
|
25
|
+
# confirmation amount doesn't match the total amount refunded for the payment.
|
26
|
+
# This safeguard is there to prevent two processes from creating refunds without
|
27
|
+
# awareness of each other.
|
29
28
|
#
|
30
|
-
# -
|
31
|
-
#
|
32
|
-
# against the payment.
|
29
|
+
# - `number_of_refunds_exceeded` if five or more
|
30
|
+
# refunds have already been created against the payment.
|
33
31
|
#
|
34
32
|
# Example URL: /refunds
|
35
33
|
# @param options [Hash] parameters as a hash, under a params key.
|
@@ -42,12 +40,11 @@ module GoCardlessPro
|
|
42
40
|
response = make_request(:post, path, options)
|
43
41
|
|
44
42
|
return if response.body.nil?
|
45
|
-
Resources::Refund.new(unenvelope_body(response.body))
|
43
|
+
Resources::Refund.new(unenvelope_body(response.body), response)
|
46
44
|
end
|
47
45
|
|
48
|
-
# Returns a
|
49
|
-
#
|
50
|
-
# list of your refunds.
|
46
|
+
# Returns a [cursor-paginated](#overview-cursor-pagination) list of your
|
47
|
+
# refunds.
|
51
48
|
# Example URL: /refunds
|
52
49
|
# @param options [Hash] parameters as a hash, under a params key.
|
53
50
|
def list(options = {})
|
@@ -55,7 +52,7 @@ module GoCardlessPro
|
|
55
52
|
|
56
53
|
response = make_request(:get, path, options)
|
57
54
|
ListResponse.new(
|
58
|
-
|
55
|
+
response: response,
|
59
56
|
unenveloped_body: unenvelope_body(response.body),
|
60
57
|
resource_class: Resources::Refund
|
61
58
|
)
|
@@ -77,7 +74,7 @@ module GoCardlessPro
|
|
77
74
|
# Retrieves all details for a single refund
|
78
75
|
# Example URL: /refunds/:identity
|
79
76
|
#
|
80
|
-
# @param identity # Unique identifier, beginning with "RF"
|
77
|
+
# @param identity # Unique identifier, beginning with "RF".
|
81
78
|
# @param options [Hash] parameters as a hash, under a params key.
|
82
79
|
def get(identity, options = {})
|
83
80
|
path = sub_url('/refunds/:identity', 'identity' => identity)
|
@@ -85,13 +82,13 @@ module GoCardlessPro
|
|
85
82
|
response = make_request(:get, path, options)
|
86
83
|
|
87
84
|
return if response.body.nil?
|
88
|
-
Resources::Refund.new(unenvelope_body(response.body))
|
85
|
+
Resources::Refund.new(unenvelope_body(response.body), response)
|
89
86
|
end
|
90
87
|
|
91
88
|
# Updates a refund object.
|
92
89
|
# Example URL: /refunds/:identity
|
93
90
|
#
|
94
|
-
# @param identity # Unique identifier, beginning with "RF"
|
91
|
+
# @param identity # Unique identifier, beginning with "RF".
|
95
92
|
# @param options [Hash] parameters as a hash, under a params key.
|
96
93
|
def update(identity, options = {})
|
97
94
|
path = sub_url('/refunds/:identity', 'identity' => identity)
|
@@ -102,7 +99,7 @@ module GoCardlessPro
|
|
102
99
|
response = make_request(:put, path, options)
|
103
100
|
|
104
101
|
return if response.body.nil?
|
105
|
-
Resources::Refund.new(unenvelope_body(response.body))
|
102
|
+
Resources::Refund.new(unenvelope_body(response.body), response)
|
106
103
|
end
|
107
104
|
|
108
105
|
# Unenvelope the response of the body using the service's `envelope_key`
|
@@ -22,12 +22,11 @@ module GoCardlessPro
|
|
22
22
|
response = make_request(:post, path, options)
|
23
23
|
|
24
24
|
return if response.body.nil?
|
25
|
-
Resources::Subscription.new(unenvelope_body(response.body))
|
25
|
+
Resources::Subscription.new(unenvelope_body(response.body), response)
|
26
26
|
end
|
27
27
|
|
28
|
-
# Returns a
|
29
|
-
#
|
30
|
-
# list of your subscriptions.
|
28
|
+
# Returns a [cursor-paginated](#overview-cursor-pagination) list of your
|
29
|
+
# subscriptions.
|
31
30
|
# Example URL: /subscriptions
|
32
31
|
# @param options [Hash] parameters as a hash, under a params key.
|
33
32
|
def list(options = {})
|
@@ -35,7 +34,7 @@ module GoCardlessPro
|
|
35
34
|
|
36
35
|
response = make_request(:get, path, options)
|
37
36
|
ListResponse.new(
|
38
|
-
|
37
|
+
response: response,
|
39
38
|
unenveloped_body: unenvelope_body(response.body),
|
40
39
|
resource_class: Resources::Subscription
|
41
40
|
)
|
@@ -57,7 +56,7 @@ module GoCardlessPro
|
|
57
56
|
# Retrieves the details of a single subscription.
|
58
57
|
# Example URL: /subscriptions/:identity
|
59
58
|
#
|
60
|
-
# @param identity # Unique identifier, beginning with "SB"
|
59
|
+
# @param identity # Unique identifier, beginning with "SB".
|
61
60
|
# @param options [Hash] parameters as a hash, under a params key.
|
62
61
|
def get(identity, options = {})
|
63
62
|
path = sub_url('/subscriptions/:identity', 'identity' => identity)
|
@@ -65,13 +64,13 @@ module GoCardlessPro
|
|
65
64
|
response = make_request(:get, path, options)
|
66
65
|
|
67
66
|
return if response.body.nil?
|
68
|
-
Resources::Subscription.new(unenvelope_body(response.body))
|
67
|
+
Resources::Subscription.new(unenvelope_body(response.body), response)
|
69
68
|
end
|
70
69
|
|
71
70
|
# Updates a subscription object.
|
72
71
|
# Example URL: /subscriptions/:identity
|
73
72
|
#
|
74
|
-
# @param identity # Unique identifier, beginning with "SB"
|
73
|
+
# @param identity # Unique identifier, beginning with "SB".
|
75
74
|
# @param options [Hash] parameters as a hash, under a params key.
|
76
75
|
def update(identity, options = {})
|
77
76
|
path = sub_url('/subscriptions/:identity', 'identity' => identity)
|
@@ -82,7 +81,7 @@ module GoCardlessPro
|
|
82
81
|
response = make_request(:put, path, options)
|
83
82
|
|
84
83
|
return if response.body.nil?
|
85
|
-
Resources::Subscription.new(unenvelope_body(response.body))
|
84
|
+
Resources::Subscription.new(unenvelope_body(response.body), response)
|
86
85
|
end
|
87
86
|
|
88
87
|
# Immediately cancels a subscription; no more payments will be created under it.
|
@@ -93,7 +92,7 @@ module GoCardlessPro
|
|
93
92
|
# error if the subscription is already cancelled or finished.
|
94
93
|
# Example URL: /subscriptions/:identity/actions/cancel
|
95
94
|
#
|
96
|
-
# @param identity # Unique identifier, beginning with "SB"
|
95
|
+
# @param identity # Unique identifier, beginning with "SB".
|
97
96
|
# @param options [Hash] parameters as a hash, under a params key.
|
98
97
|
def cancel(identity, options = {})
|
99
98
|
path = sub_url('/subscriptions/:identity/actions/cancel', 'identity' => identity)
|
@@ -104,7 +103,7 @@ module GoCardlessPro
|
|
104
103
|
response = make_request(:post, path, options)
|
105
104
|
|
106
105
|
return if response.body.nil?
|
107
|
-
Resources::Subscription.new(unenvelope_body(response.body))
|
106
|
+
Resources::Subscription.new(unenvelope_body(response.body), response)
|
108
107
|
end
|
109
108
|
|
110
109
|
# Unenvelope the response of the body using the service's `envelope_key`
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
describe GoCardlessPro::ApiResponse do
|
5
|
+
describe "wrapping a Faraday response" do
|
6
|
+
let(:content_type) { 'application/json' }
|
7
|
+
|
8
|
+
let(:stubbed) do
|
9
|
+
Faraday::Adapter::Test::Stubs.new do |stub|
|
10
|
+
stub.get('/testing') do |env|
|
11
|
+
[200, { 'Content-Type' => content_type}, { test: true }.to_json]
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
let(:test) { Faraday.new { |builder| builder.adapter :test, stubbed } }
|
16
|
+
subject(:api_response) do
|
17
|
+
described_class.new(
|
18
|
+
GoCardlessPro::Response.new(test.get('/testing'))
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
specify { expect(api_response.status_code).to eql(200) }
|
23
|
+
specify do
|
24
|
+
expect(api_response.headers).to eql('Content-Type' => content_type)
|
25
|
+
end
|
26
|
+
specify { expect(api_response.body).to eql("test" => true) }
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe GoCardlessPro::Resources::BankDetailsLookup do
|
4
|
+
describe "initialising" do
|
5
|
+
let(:data) do
|
6
|
+
{
|
7
|
+
|
8
|
+
|
9
|
+
"available_debit_schemes" => "available_debit_schemes-input",
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
"bank_name" => "bank_name-input",
|
14
|
+
|
15
|
+
|
16
|
+
}
|
17
|
+
end
|
18
|
+
|
19
|
+
it "can be initialized from an uneveloped response" do
|
20
|
+
resource = described_class.new(data)
|
21
|
+
|
22
|
+
|
23
|
+
expect(resource.available_debit_schemes).to eq("available_debit_schemes-input")
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
expect(resource.bank_name).to eq("bank_name-input")
|
28
|
+
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
describe "#to_h" do
|
33
|
+
it "returns a hash representing the resource" do
|
34
|
+
expect(described_class.new(data).to_h).to eq(data)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
@@ -40,8 +40,6 @@ describe GoCardlessPro::Resources::Creditor do
|
|
40
40
|
|
41
41
|
"default_gbp_payout_account" => "default_gbp_payout_account-input",
|
42
42
|
|
43
|
-
"logo" => "logo-input",
|
44
|
-
|
45
43
|
},
|
46
44
|
|
47
45
|
|
@@ -97,8 +95,6 @@ describe GoCardlessPro::Resources::Creditor do
|
|
97
95
|
|
98
96
|
expect(resource.links.default_gbp_payout_account).to eq("default_gbp_payout_account-input")
|
99
97
|
|
100
|
-
expect(resource.links.logo).to eq("logo-input")
|
101
|
-
|
102
98
|
|
103
99
|
|
104
100
|
|