pactas_itero 0.7.0 → 0.8.0

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.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +15 -0
  3. data/.rubocop.yml +765 -0
  4. data/CHANGELOG.md +15 -0
  5. data/Gemfile +2 -0
  6. data/Rakefile +3 -0
  7. data/lib/pactas_itero/api/contracts.rb +7 -0
  8. data/lib/pactas_itero/api/customers.rb +2 -0
  9. data/lib/pactas_itero/api/invoices.rb +2 -0
  10. data/lib/pactas_itero/api/oauth.rb +2 -0
  11. data/lib/pactas_itero/api/orders.rb +2 -0
  12. data/lib/pactas_itero/api/rated_items.rb +11 -2
  13. data/lib/pactas_itero/api.rb +2 -0
  14. data/lib/pactas_itero/client.rb +11 -9
  15. data/lib/pactas_itero/configurable.rb +8 -6
  16. data/lib/pactas_itero/default.rb +7 -5
  17. data/lib/pactas_itero/error.rb +39 -35
  18. data/lib/pactas_itero/ext/hash/camelize_keys.rb +6 -3
  19. data/lib/pactas_itero/response/raise_error.rb +3 -1
  20. data/lib/pactas_itero/version.rb +3 -1
  21. data/lib/pactas_itero.rb +3 -1
  22. metadata +11 -83
  23. data/Gemfile.lock +0 -112
  24. data/bin/setup +0 -7
  25. data/pactas_itero.gemspec +0 -37
  26. data/spec/fixtures/bearer_token.json +0 -5
  27. data/spec/fixtures/commit_order_response.json +0 -50
  28. data/spec/fixtures/contract.json +0 -46
  29. data/spec/fixtures/contract_cancellation_preview_response.json +0 -73
  30. data/spec/fixtures/contract_changes.json +0 -22
  31. data/spec/fixtures/contract_termination_response.json +0 -79
  32. data/spec/fixtures/contracts.json +0 -48
  33. data/spec/fixtures/create_order_response.json +0 -17
  34. data/spec/fixtures/create_rated_item.json +0 -8
  35. data/spec/fixtures/customer.json +0 -23
  36. data/spec/fixtures/customers.json +0 -40
  37. data/spec/fixtures/invoice.json +0 -22
  38. data/spec/fixtures/invoice_download.pdf +0 -0
  39. data/spec/fixtures/invoices.json +0 -46
  40. data/spec/fixtures/order.json +0 -15
  41. data/spec/fixtures/payment_transaction.json +0 -37
  42. data/spec/fixtures/rated_items.json +0 -12
  43. data/spec/fixtures/self_service_token.json +0 -6
  44. data/spec/pactas_itero/api/contracts_spec.rb +0 -193
  45. data/spec/pactas_itero/api/customers_spec.rb +0 -231
  46. data/spec/pactas_itero/api/invoices_spec.rb +0 -103
  47. data/spec/pactas_itero/api/oauth_spec.rb +0 -44
  48. data/spec/pactas_itero/api/orders_spec.rb +0 -102
  49. data/spec/pactas_itero/api/payment_transactions_spec.rb +0 -66
  50. data/spec/pactas_itero/api/rated_items_spec.rb +0 -113
  51. data/spec/pactas_itero/client_spec.rb +0 -312
  52. data/spec/pactas_itero_spec.rb +0 -37
  53. data/spec/spec_helper.rb +0 -100
  54. data/yarn-error.log +0 -43
@@ -1,37 +0,0 @@
1
- {
2
- "Amount": 11.89,
3
- "ContractId": "592d74a981b1f010f04293a4",
4
- "Currency": "EUR",
5
- "CustomerId": "592d74a881b1f010f04293a2",
6
- "CustomerName": "Example Company",
7
- "Id": "597de03d81b1ef0d18a46f4e",
8
- "PaymentProvider": "Example Provider",
9
- "PaymentProviderRole": "CreditCard",
10
- "Preauth": false,
11
- "ProviderTransactionId": "ccec718e-271e-4d0e-b0e1-94894e40c0c7",
12
- "Status": {
13
- "Amount": 11.89,
14
- "HttpCode": 0,
15
- "Preauth": false,
16
- "Status": "Succeeded",
17
- "Timestamp": "2017-07-30T13:33:49.9900000Z"
18
- },
19
- "StatusHistory": [
20
- {
21
- "Amount": 11.89,
22
- "HttpCode": 0,
23
- "Preauth": false,
24
- "Status": "InProgress",
25
- "Timestamp": "2017-07-30T13:33:49.9760000Z"
26
- },
27
- {
28
- "Amount": 11.89,
29
- "HttpCode": 0,
30
- "Preauth": false,
31
- "Status": "Succeeded",
32
- "Timestamp": "2017-07-30T13:33:49.9900000Z"
33
- }
34
- ],
35
- "StatusTimestamp": "2017-07-30T13:33:49.9900000Z",
36
- "Trigger": "Recurring"
37
- }
@@ -1,12 +0,0 @@
1
- [
2
- {
3
- "id": "591b847314aa03167c5a3b08",
4
- "line_item_id": "59308e9781b1ef1190f21478",
5
- "description": "1x DHL Versandmarken",
6
- "quantity": 1,
7
- "price_per_unit": 3.9,
8
- "tax_policy_id": "tax-policy-id",
9
- "period_start": "2017-05-15T22:00:00.0000000Z",
10
- "period_end": "2017-05-15T22:00:00.0000000Z"
11
- }
12
- ]
@@ -1,6 +0,0 @@
1
- {
2
- "Expiry": "2016-04-07T07:38:49.8019236Z",
3
- "Token": "522703b9eb596a0f40480825$1378374980$JDBWmg34kr_mFIUFP",
4
- "Purpose": "CustomerPortal",
5
- "Url": "https://app.billwerk.com/portal/data/522703b9eb596a0f40480825$1378374980$JDBWIYOmg34kr_mFIUFP/"
6
- }
@@ -1,193 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe PactasItero::Api::Customers do
4
- describe ".customer_contracts" do
5
- it "requests the correct resource" do
6
- client = PactasItero::Client.new(bearer_token: "bt")
7
- request = stub_get("/api/v1/customers/535783241d8dd00fa0db6b2a/contracts").
8
- to_return(
9
- body: fixture("contracts.json"),
10
- headers: { content_type: "application/json; charset=utf-8" },
11
- )
12
-
13
- client.customer_contracts("535783241d8dd00fa0db6b2a")
14
-
15
- expect(request).to have_been_made
16
- end
17
-
18
- it "returns an array of contracts" do
19
- client = PactasItero::Client.new(bearer_token: "bt")
20
- request = stub_get("/api/v1/customers/535783241d8dd00fa0db6b2a/contracts").
21
- to_return(
22
- body: fixture("contracts.json"),
23
- headers: { content_type: "application/json; charset=utf-8" },
24
- )
25
-
26
- contracts = client.customer_contracts("535783241d8dd00fa0db6b2a")
27
-
28
- expect(contracts).to be_a Array
29
- end
30
- end
31
-
32
- describe ".contract_changes" do
33
- it "requests the correct resource" do
34
- client = PactasItero::Client.new(bearer_token: "bt")
35
- request = stub_get("/api/v1/contractChanges?contractId=5357bc4f1d8dd00fa0db6c31").
36
- to_return(
37
- body: fixture("contract_changes.json"),
38
- headers: { content_type: "application/json; charset=utf-8" },
39
- )
40
-
41
- client.contract_changes("5357bc4f1d8dd00fa0db6c31")
42
-
43
- expect(request).to have_been_made
44
- end
45
-
46
- it "returns an array of contract changes" do
47
- client = PactasItero::Client.new(bearer_token: "bt")
48
- stub_get("/api/v1/contractChanges?contractId=5357bc4f1d8dd00fa0db6c31").
49
- to_return(
50
- body: fixture("contract_changes.json"),
51
- headers: { content_type: "application/json; charset=utf-8" },
52
- )
53
-
54
- contract_changes = client.contract_changes("5357bc4f1d8dd00fa0db6c31")
55
-
56
- expect(contract_changes).to be_a Array
57
- end
58
- end
59
-
60
- describe ".contracts" do
61
- it "requests the correct resource" do
62
- client = PactasItero::Client.new(bearer_token: "bt")
63
- request = stub_get("/api/v1/contracts").
64
- to_return(
65
- body: fixture("contracts.json"),
66
- headers: { content_type: "application/json; charset=utf-8" },
67
- )
68
-
69
- client.contracts
70
-
71
- expect(request).to have_been_made
72
- end
73
-
74
- it "returns an array of contracts" do
75
- client = PactasItero::Client.new(bearer_token: "bt")
76
- request = stub_get("/api/v1/contracts").
77
- to_return(
78
- body: fixture("contracts.json"),
79
- headers: { content_type: "application/json; charset=utf-8" },
80
- )
81
-
82
- contracts = client.contracts
83
-
84
- expect(contracts).to be_a Array
85
- end
86
- end
87
-
88
- describe ".contract_cancellation_preview" do
89
- it "requests the correct resource" do
90
- client = PactasItero::Client.new(bearer_token: "bt")
91
- request = stub_get("/api/v1/contracts/some_contract_id/cancellationPreview").to_return(
92
- body: fixture("contract_cancellation_preview_response.json"),
93
- headers: { content_type: "application/json; charset=utf-8" },
94
- )
95
-
96
- client.contract_cancellation_preview("some_contract_id")
97
-
98
- expect(request).to have_been_made
99
- end
100
-
101
- it "returns the next possible cancellation date" do
102
- client = PactasItero::Client.new(bearer_token: "bt")
103
- request = stub_get("/api/v1/contracts/some_contract_id/cancellationPreview").to_return(
104
- body: fixture("contract_cancellation_preview_response.json"),
105
- headers: { content_type: "application/json; charset=utf-8" },
106
- )
107
-
108
- contract_cancellation_preview = client.contract_cancellation_preview("some_contract_id")
109
-
110
- expect(
111
- contract_cancellation_preview.next_possible_cancellation_date,
112
- ).to eq "2015-11-15T10:02:21.2750000Z"
113
- end
114
- end
115
-
116
- describe ".update_contract" do
117
- it "requests the correct resource" do
118
- client = PactasItero::Client.new(bearer_token: "bt")
119
- request = stub_patch("/api/v1/contracts/contract-id").
120
- with(body: { EndDate: "2014-05-23T13:12:47.0760000Z" }.to_json).
121
- to_return(
122
- body: fixture("contract.json"),
123
- headers: { content_type: "application/json; charset=utf-8" },
124
- )
125
-
126
- client.update_contract("contract-id", { end_date: "2014-05-23T13:12:47.0760000Z" })
127
-
128
- expect(request).to have_been_made
129
- end
130
- end
131
-
132
- describe ".contract" do
133
- it "requests the correct resource" do
134
- client = PactasItero::Client.new(bearer_token: "bt")
135
- request = stub_get("/api/v1/contracts/5357bc4f1d8dd00fa0db6c31").
136
- to_return(
137
- body: fixture("contract.json"),
138
- headers: { content_type: "application/json; charset=utf-8" },
139
- )
140
-
141
- client.contract("5357bc4f1d8dd00fa0db6c31")
142
-
143
- expect(request).to have_been_made
144
- end
145
- end
146
-
147
- describe ".terminate_contract" do
148
- it "requests the correct resource" do
149
- client = PactasItero::Client.new(bearer_token: "bt")
150
- request = stub_post("/api/v1/contracts/5922f50b81b1f007e0e4d738/end").
151
- with(
152
- body: { EndDate: "2017-10-01T14:51:29.3390000Z" }.to_json,
153
- ).
154
- to_return(
155
- body: fixture("contract_termination_response.json"),
156
- headers: { content_type: "application/json; charset=utf-8" },
157
- )
158
-
159
- client.terminate_contract(
160
- "5922f50b81b1f007e0e4d738",
161
- end_date: "2017-10-01T14:51:29.3390000Z",
162
- )
163
-
164
- expect(request).to have_been_made
165
- end
166
- end
167
-
168
- describe ".get_self_service_token_for_contract" do
169
- it "requests the correct resource" do
170
- client = PactasItero::Client.new(bearer_token: "bt")
171
- request = stub_get("/api/v1/contracts/5357bc4f1d8dd00fa0db6c31/SelfServiceToken").to_return(
172
- body: fixture("self_service_token.json"),
173
- headers: { content_type: "application/json; charset=utf-8" },
174
- )
175
-
176
- client.get_self_service_token_for_contract("5357bc4f1d8dd00fa0db6c31")
177
-
178
- expect(request).to have_been_made
179
- end
180
-
181
- it "returns a self service token" do
182
- client = PactasItero::Client.new(bearer_token: "bt")
183
- stub_get("/api/v1/contracts/5357bc4f1d8dd00fa0db6c31/SelfServiceToken").to_return(
184
- body: fixture("self_service_token.json"),
185
- headers: { content_type: "application/json; charset=utf-8" },
186
- )
187
-
188
- self_service_token = client.get_self_service_token_for_contract("5357bc4f1d8dd00fa0db6c31")
189
-
190
- expect(self_service_token.token).to eq "522703b9eb596a0f40480825$1378374980$JDBWmg34kr_mFIUFP"
191
- end
192
- end
193
- end
@@ -1,231 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe PactasItero::Api::Customers do
4
- describe ".create_customer" do
5
- it "requests the correct resource" do
6
- client = PactasItero::Client.new(bearer_token: "bt")
7
- post_data = {
8
- "Address" => {
9
- "City" => "Example City",
10
- "Country" => "DE",
11
- "HouseNumber" => "42",
12
- "PostalCode" => "12345",
13
- "Street" => "Example Street",
14
- },
15
- "CompanyName" => "Example Company",
16
- "DefaultBearerMedium" => "Email",
17
- "EmailAddress" => "jane.doe@example.com",
18
- "ExternalCustomerId" => "1234",
19
- "FirstName" => "Jane",
20
- "Language" => "de-DE",
21
- "LastName" => "Doe",
22
- "Locale" => "de-DE",
23
- "VatId" => "DE123456710",
24
- }.to_json
25
- request = stub_post("/api/v1/customers").with(body: post_data).to_return(
26
- body: fixture("customer.json"),
27
- headers: { content_type: "application/json; charset=utf-8" },
28
- )
29
-
30
- client.create_customer(
31
- address: {
32
- city: "Example City",
33
- country: "DE",
34
- house_number: "42",
35
- postal_code: "12345",
36
- street: "Example Street",
37
- },
38
- company_name: "Example Company",
39
- default_bearer_medium: "Email",
40
- email_address: "jane.doe@example.com",
41
- external_customer_id: "1234",
42
- first_name: "Jane",
43
- language: "de-DE",
44
- last_name: "Doe",
45
- locale: "de-DE",
46
- vat_id: "DE123456710",
47
- )
48
-
49
- expect(request).to have_been_made
50
- end
51
-
52
- it "returns the created customer" do
53
- client = PactasItero::Client.new(bearer_token: "bt")
54
- post_data = {
55
- "Address" => {
56
- "City" => "Example City",
57
- "Country" => "DE",
58
- "HouseNumber" => "42",
59
- "PostalCode" => "12345",
60
- "Street" => "Example Street",
61
- },
62
- "CompanyName" => "Example Company",
63
- "DefaultBearerMedium" => "Email",
64
- "EmailAddress" => "jane.doe@example.com",
65
- "ExternalCustomerId" => "1234",
66
- "FirstName" => "Jane",
67
- "Language" => "de-DE",
68
- "LastName" => "Doe",
69
- "Locale" => "de-DE",
70
- "VatId" => "DE123456710",
71
- }.to_json
72
- request = stub_post("/api/v1/customers").with(body: post_data).to_return(
73
- body: fixture("customer.json"),
74
- headers: { content_type: "application/json; charset=utf-8" },
75
- )
76
-
77
- customer = client.create_customer(
78
- address: {
79
- city: "Example City",
80
- country: "DE",
81
- house_number: "42",
82
- postal_code: "12345",
83
- street: "Example Street",
84
- },
85
- company_name: "Example Company",
86
- default_bearer_medium: "Email",
87
- email_address: "jane.doe@example.com",
88
- external_customer_id: "1234",
89
- first_name: "Jane",
90
- language: "de-DE",
91
- last_name: "Doe",
92
- locale: "de-DE",
93
- vat_id: "DE123456710",
94
- )
95
-
96
- address = customer.address
97
- expect(address.city).to eq "Example City"
98
- expect(address.country).to eq "DE"
99
- expect(address.house_number).to eq "42"
100
- expect(address.postal_code).to eq "12345"
101
- expect(address.street).to eq "Example Street"
102
-
103
- expect(customer.company_name).to eq "Example Company"
104
- expect(customer.default_bearer_medium).to eq "Email"
105
- expect(customer.email_address).to eq "jane.doe@example.com"
106
- expect(customer.external_customer_id).to eq "1234"
107
- expect(customer.first_name).to eq "Jane"
108
- expect(customer.language).to eq "de-DE"
109
- expect(customer.last_name).to eq "Doe"
110
- expect(customer.locale).to eq "de-DE"
111
- expect(customer.vat_id).to eq "DE123456710"
112
- end
113
- end
114
-
115
- describe ".customers" do
116
- it "requests the correct resource" do
117
- client = PactasItero::Client.new(bearer_token: "bt")
118
- request = stub_get("/api/v1/customers").
119
- to_return(
120
- body: fixture("customers.json"),
121
- headers: { content_type: "application/json; charset=utf-8" },
122
- )
123
-
124
- client.customers
125
-
126
- expect(request).to have_been_made
127
- end
128
-
129
- it "returns an array of customers" do
130
- client = PactasItero::Client.new(bearer_token: "bt")
131
- request = stub_get("/api/v1/customers").
132
- to_return(
133
- body: fixture("customers.json"),
134
- headers: { content_type: "application/json; charset=utf-8" },
135
- )
136
-
137
- customers = client.customers
138
-
139
- expect(customers).to be_a Array
140
- customer = customers.first
141
-
142
- expect(customer.company_name).to eq "Example Company"
143
- expect(customer.created_at).to eq "2014-05-12T14:22:24.0000000Z"
144
- expect(customer.customer_name).to eq "Example Company"
145
- expect(customer.customer_type).to eq "Consumer"
146
- expect(customer.default_bearer_medium).to eq "Email"
147
- expect(customer.email_address).to eq "jane.doe@example.com"
148
- expect(customer.external_customer_id).to eq ""
149
- expect(customer.first_name).to eq "Jane"
150
- expect(customer.id).to eq "5370d9201d8dd006288221b0"
151
- expect(customer.language).to eq "de-DE"
152
- expect(customer.last_name).to eq "Doe"
153
- expect(customer.locale).to eq "de-DE"
154
- expect(customer.vat_id).to eq "DE123456710"
155
- expect(customer.address.city).to eq "Example City"
156
- expect(customer.address.country).to eq "DE"
157
- expect(customer.address.house_number).to eq "42"
158
- expect(customer.address.postal_code).to eq "12345"
159
- expect(customer.address.street).to eq "Example Street"
160
- end
161
- end
162
-
163
- describe ".customer" do
164
- it "requests the correct resource" do
165
- client = PactasItero::Client.new(bearer_token: "bearer_token")
166
- request = stub_get("/api/v1/customers/customer-id").to_return(
167
- body: fixture("customer.json"),
168
- headers: { content_type: "application/json; charset=utf-8" },
169
- )
170
-
171
- client.customer("customer-id")
172
-
173
- expect(request).to have_been_made
174
- end
175
-
176
- it "returns the customer details" do
177
- client = PactasItero::Client.new(bearer_token: "bearer_token")
178
- stub_get("/api/v1/customers/customer-id").to_return(
179
- body: fixture("customer.json"),
180
- headers: { content_type: "application/json; charset=utf-8" },
181
- )
182
-
183
- customer = client.customer("customer-id")
184
-
185
- address = customer.address
186
- expect(address.city).to eq "Example City"
187
- expect(address.country).to eq "DE"
188
- expect(address.house_number).to eq "42"
189
- expect(address.postal_code).to eq "12345"
190
- expect(address.street).to eq "Example Street"
191
-
192
- expect(customer.company_name).to eq "Example Company"
193
- expect(customer.default_bearer_medium).to eq "Email"
194
- expect(customer.email_address).to eq "jane.doe@example.com"
195
- expect(customer.external_customer_id).to eq "1234"
196
- expect(customer.first_name).to eq "Jane"
197
- expect(customer.language).to eq "de-DE"
198
- expect(customer.last_name).to eq "Doe"
199
- expect(customer.locale).to eq "de-DE"
200
- expect(customer.vat_id).to eq "DE123456710"
201
- end
202
- end
203
-
204
- describe ".update_customer" do
205
- it "requests the correct resource" do
206
- client = PactasItero::Client.new(bearer_token: "bt")
207
- request = stub_patch("/api/v1/customers/customer-id").
208
- with(
209
- body: {
210
- CompanyName: "example & sons",
211
- VatId: "DE555",
212
- Address: { Street: "abc street" },
213
- }.to_json,
214
- ).
215
- to_return(
216
- body: fixture("customer.json"),
217
- headers: { content_type: "application/json; charset=utf-8" },
218
- )
219
-
220
- client.update_customer(
221
- "customer-id", {
222
- company_name: "example & sons",
223
- vat_id: "DE555",
224
- address: { street: "abc street" },
225
- }
226
- )
227
-
228
- expect(request).to have_been_made
229
- end
230
- end
231
- end
@@ -1,103 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe PactasItero::Api::Invoices do
4
- describe ".invoices" do
5
- it "requests the correct resource" do
6
- client = PactasItero::Client.new(bearer_token: "bt")
7
- request = stub_get("/api/v1/invoices").
8
- to_return(
9
- body: fixture("invoices.json"),
10
- headers: { content_type: "application/json; charset=utf-8" },
11
- )
12
-
13
- client.invoices
14
-
15
- expect(request).to have_been_made
16
- end
17
-
18
- it "returns an array of contracts" do
19
- client = PactasItero::Client.new(bearer_token: "bt")
20
- request = stub_get("/api/v1/invoices").
21
- to_return(
22
- body: fixture("invoices.json"),
23
- headers: { content_type: "application/json; charset=utf-8" },
24
- )
25
-
26
- invoices = client.invoices
27
-
28
- expect(invoices).to be_a Array
29
- end
30
- end
31
-
32
- describe ".invoices_from" do
33
- it "requests the correct resource" do
34
- client = PactasItero::Client.new(bearer_token: "bt")
35
- request = stub_get("/api/v1/invoices?from=54b67d9e995ec90bc8f37718").
36
- to_return(
37
- body: fixture("invoices.json"),
38
- headers: { content_type: "application/json; charset=utf-8" },
39
- )
40
-
41
- client.invoices_from("54b67d9e995ec90bc8f37718")
42
-
43
- expect(request).to have_been_made
44
- end
45
-
46
- it "requests the correct resource, if from parameter is nil" do
47
- client = PactasItero::Client.new(bearer_token: "bt")
48
- request = stub_get("/api/v1/invoices").
49
- to_return(
50
- body: fixture("invoices.json"),
51
- headers: { content_type: "application/json; charset=utf-8" },
52
- )
53
-
54
- client.invoices_from(nil)
55
-
56
- expect(request).to have_been_made
57
- end
58
-
59
- it "returns an array of contracts" do
60
- client = PactasItero::Client.new(bearer_token: "bt")
61
- request = stub_get("/api/v1/invoices?from=54b67d9e995ec90bc8f37718").
62
- to_return(
63
- body: fixture("invoices.json"),
64
- headers: { content_type: "application/json; charset=utf-8" },
65
- )
66
-
67
- invoices = client.invoices_from("54b67d9e995ec90bc8f37718")
68
-
69
- expect(invoices).to be_a Array
70
- end
71
- end
72
-
73
- describe ".invoice" do
74
- it "requests the correct resource" do
75
- client = PactasItero::Client.new(bearer_token: "bt")
76
- request = stub_get("/api/v1/invoices/54b67d9e995ec90bc8f37718").
77
- to_return(
78
- body: fixture("invoice.json"),
79
- headers: { content_type: "application/json; charset=utf-8" },
80
- )
81
-
82
- client.invoice("54b67d9e995ec90bc8f37718")
83
-
84
- expect(request).to have_been_made
85
- end
86
- end
87
-
88
- describe ".invoice_download" do
89
- it "returns the pdf as a string after requesting the correct resource" do
90
- client = PactasItero::Client.new(bearer_token: "bt")
91
- request = stub_get("/api/v1/invoices/54b67d9e995ec90bc8f37718/download").
92
- to_return(
93
- body: fixture("invoice_download.pdf"),
94
- headers: { content_type: "application/pdf" },
95
- )
96
-
97
- response = client.invoice_download("54b67d9e995ec90bc8f37718")
98
-
99
- expect(request).to have_been_made
100
- expect(response.class).to be String
101
- end
102
- end
103
- end
@@ -1,44 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe PactasItero::Api::OAuth do
4
- describe "#token" do
5
- it "requests the correct resource" do
6
- client_credentials_request = stub_post("https://sandbox.billwerk.com/oauth/token").with(
7
- basic_auth: %w(a_client_id a_client_secret),
8
- body: "grant_type=client_credentials",
9
- headers: {
10
- "Content-Type" => "application/x-www-form-urlencoded; charset=UTF-8",
11
- },
12
- )
13
-
14
- client = PactasItero::Client.new(client_id: "a_client_id", client_secret: "a_client_secret")
15
-
16
- client.token
17
-
18
- expect(client_credentials_request).to have_been_made
19
- end
20
-
21
- it "returns the bearer token" do
22
- stub_post("https://sandbox.billwerk.com/oauth/token").with(
23
- basic_auth: %w(a_client_id a_client_secret),
24
- body: "grant_type=client_credentials",
25
- headers: {
26
- "Content-Type" => "application/x-www-form-urlencoded; charset=UTF-8",
27
- },
28
- ).to_return(
29
- status: 200,
30
- body: fixture("bearer_token.json"),
31
- headers: {
32
- content_type: "application/json; charset=utf-8",
33
- },
34
- )
35
-
36
- client = PactasItero::Client.new(client_id: "a_client_id", client_secret: "a_client_secret")
37
- bearer_token = client.token
38
-
39
- expect(bearer_token.access_token).to eq("top_secret_access_token")
40
- expect(bearer_token.token_type).to eq("bearer")
41
- expect(bearer_token.expires).to eq(0)
42
- end
43
- end
44
- end