shipcloud 0.6.0 → 0.11.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.
- checksums.yaml +5 -5
- data/.codeclimate.yml +1 -0
- data/.hound.yml +1 -1
- data/.rubocop.yml +713 -2
- data/.ruby-version +1 -0
- data/.travis.yml +18 -6
- data/CHANGELOG.md +70 -0
- data/README.md +76 -8
- data/bin/rubocop +29 -0
- data/install-cc-test-reporter.sh +4 -0
- data/lib/shipcloud.rb +28 -14
- data/lib/shipcloud/address.rb +2 -1
- data/lib/shipcloud/operations/all.rb +12 -2
- data/lib/shipcloud/operations/create.rb +10 -2
- data/lib/shipcloud/operations/delete.rb +10 -2
- data/lib/shipcloud/operations/find.rb +10 -2
- data/lib/shipcloud/operations/update.rb +12 -4
- data/lib/shipcloud/pickup_request.rb +12 -0
- data/lib/shipcloud/request/base.rb +14 -10
- data/lib/shipcloud/request/connection.rb +18 -12
- data/lib/shipcloud/request/info.rb +7 -5
- data/lib/shipcloud/shipcloud_error.rb +70 -0
- data/lib/shipcloud/shipment.rb +3 -2
- data/lib/shipcloud/tracker.rb +13 -0
- data/lib/shipcloud/version.rb +1 -1
- data/lib/shipcloud/webhook.rb +2 -1
- data/shipcloud.gemspec +9 -8
- data/spec/shipcloud/address_spec.rb +114 -43
- data/spec/shipcloud/carrier_spec.rb +12 -5
- data/spec/shipcloud/pickup_request_spec.rb +136 -0
- data/spec/shipcloud/request/base_spec.rb +51 -13
- data/spec/shipcloud/request/connection_spec.rb +3 -3
- data/spec/shipcloud/request/info_spec.rb +34 -0
- data/spec/shipcloud/shipcloud_error_spec.rb +125 -0
- data/spec/shipcloud/shipment_quote_spec.rb +14 -1
- data/spec/shipcloud/shipment_spec.rb +126 -11
- data/spec/shipcloud/tracker_spec.rb +141 -0
- data/spec/shipcloud/webhooks_spec.rb +70 -6
- data/spec/shipcloud_spec.rb +82 -20
- data/spec/spec_helper.rb +2 -2
- metadata +55 -43
- data/.ruby-style.yml +0 -240
- data/lib/shipcloud/request/validator.rb +0 -33
- data/spec/shipcloud/request/validator_spec.rb +0 -24
@@ -18,7 +18,36 @@ describe Shipcloud::Shipment do
|
|
18
18
|
length: 40,
|
19
19
|
width: 20,
|
20
20
|
height: 20
|
21
|
-
}
|
21
|
+
},
|
22
|
+
pickup: {
|
23
|
+
pickup_time: {
|
24
|
+
earliest: "2015-09-15T09:00:00+02:00",
|
25
|
+
latest: "2015-09-15T18:00:00+02:00"
|
26
|
+
},
|
27
|
+
pickup_address: {
|
28
|
+
company: "Sender Ltd.",
|
29
|
+
first_name: "Jane",
|
30
|
+
last_name: "Doe",
|
31
|
+
street: "Musterstraße",
|
32
|
+
street_no: "42",
|
33
|
+
zip_code: "54321",
|
34
|
+
city: "Musterstadt",
|
35
|
+
country: "DE"
|
36
|
+
},
|
37
|
+
},
|
38
|
+
metadata: {
|
39
|
+
product: {
|
40
|
+
name: "foo"
|
41
|
+
},
|
42
|
+
category: {
|
43
|
+
id: "123456",
|
44
|
+
name: "bar"
|
45
|
+
}
|
46
|
+
},
|
47
|
+
customs_declaration: {
|
48
|
+
id: "123456",
|
49
|
+
contents_type: "commercial_goods",
|
50
|
+
},
|
22
51
|
}
|
23
52
|
end
|
24
53
|
|
@@ -42,41 +71,119 @@ describe Shipcloud::Shipment do
|
|
42
71
|
expect(shipment.package[:length]).to eq 40
|
43
72
|
expect(shipment.package[:width]).to eq 20
|
44
73
|
expect(shipment.package[:height]).to eq 20
|
74
|
+
|
75
|
+
expect(shipment.pickup[:pickup_time][:earliest]).to eq "2015-09-15T09:00:00+02:00"
|
76
|
+
expect(shipment.pickup[:pickup_time][:latest]).to eq "2015-09-15T18:00:00+02:00"
|
77
|
+
expect(shipment.pickup[:pickup_address][:company]).to eq "Sender Ltd."
|
78
|
+
expect(shipment.pickup[:pickup_address][:first_name]).to eq "Jane"
|
79
|
+
expect(shipment.pickup[:pickup_address][:last_name]).to eq "Doe"
|
80
|
+
expect(shipment.pickup[:pickup_address][:street]).to eq "Musterstraße"
|
81
|
+
expect(shipment.pickup[:pickup_address][:street_no]).to eq "42"
|
82
|
+
expect(shipment.pickup[:pickup_address][:zip_code]).to eq "54321"
|
83
|
+
expect(shipment.pickup[:pickup_address][:city]).to eq "Musterstadt"
|
84
|
+
expect(shipment.pickup[:pickup_address][:country]).to eq "DE"
|
85
|
+
|
86
|
+
expect(shipment.customs_declaration[:id]).to eq "123456"
|
87
|
+
expect(shipment.customs_declaration[:contents_type]).to eq "commercial_goods"
|
88
|
+
end
|
89
|
+
|
90
|
+
it "initializes the metadata correctly" do
|
91
|
+
metadata = {
|
92
|
+
category: {
|
93
|
+
id: "123456",
|
94
|
+
name: "bar"
|
95
|
+
},
|
96
|
+
product: {
|
97
|
+
name: "foo"
|
98
|
+
}
|
99
|
+
}
|
100
|
+
|
101
|
+
expect(shipment.metadata).to eq metadata
|
45
102
|
end
|
46
103
|
end
|
47
104
|
|
48
105
|
describe ".create" do
|
49
106
|
it "makes a new POST request using the correct API endpoint" do
|
50
|
-
Shipcloud.
|
107
|
+
expect(Shipcloud).to receive(:request).
|
108
|
+
with(:post, "shipments", valid_attributes, api_key: nil, affiliate_id: nil).
|
109
|
+
and_return("data" => {})
|
51
110
|
Shipcloud::Shipment.create(valid_attributes)
|
52
111
|
end
|
112
|
+
|
113
|
+
it "use the affiliate ID provided for the request" do
|
114
|
+
expect(Shipcloud).to receive(:request).
|
115
|
+
with(
|
116
|
+
:post,
|
117
|
+
"shipments",
|
118
|
+
valid_attributes,
|
119
|
+
api_key: nil,
|
120
|
+
affiliate_id: "affiliate_id",
|
121
|
+
).and_return("data" => {})
|
122
|
+
Shipcloud::Shipment.create(valid_attributes, affiliate_id: "affiliate_id")
|
123
|
+
end
|
53
124
|
end
|
54
125
|
|
55
126
|
describe ".find" do
|
56
127
|
it "makes a new GET request using the correct API endpoint to receive a specific subscription" do
|
57
|
-
Shipcloud.
|
128
|
+
expect(Shipcloud).to receive(:request).
|
129
|
+
with(:get, "shipments/123", {}, api_key: nil, affiliate_id: nil).
|
130
|
+
and_return("id" => "123")
|
58
131
|
Shipcloud::Shipment.find("123")
|
59
132
|
end
|
133
|
+
|
134
|
+
it "use the affiliate ID provided for the request" do
|
135
|
+
expect(Shipcloud).to receive(:request).with(
|
136
|
+
:get, "shipments/123", {}, api_key: nil, affiliate_id: "affiliate_id"
|
137
|
+
).and_return("id" => "123")
|
138
|
+
Shipcloud::Shipment.find("123", affiliate_id: "affiliate_id")
|
139
|
+
end
|
60
140
|
end
|
61
141
|
|
62
142
|
describe ".update" do
|
63
143
|
it "makes a new PUT request using the correct API endpoint" do
|
64
|
-
Shipcloud.
|
65
|
-
|
144
|
+
expect(Shipcloud).to receive(:request).
|
145
|
+
with(:put, "shipments/123", { carrier: "ups" }, api_key: nil, affiliate_id: nil).
|
146
|
+
and_return("data" => {})
|
147
|
+
Shipcloud::Shipment.update("123", carrier: "ups")
|
148
|
+
end
|
149
|
+
|
150
|
+
it "use the affiliate ID provided for the request" do
|
151
|
+
expect(Shipcloud).to receive(:request).
|
152
|
+
with(
|
153
|
+
:put, "shipments/123", { carrier: "ups" }, api_key: nil, affiliate_id: "affiliate_id"
|
154
|
+
).and_return("data" => {})
|
155
|
+
Shipcloud::Shipment.update("123", { carrier: "ups" }, affiliate_id: "affiliate_id")
|
66
156
|
end
|
67
157
|
end
|
68
158
|
|
69
159
|
describe ".delete" do
|
70
160
|
it "makes a new DELETE request using the correct API endpoint" do
|
71
|
-
Shipcloud.
|
161
|
+
expect(Shipcloud).to receive(:request).
|
162
|
+
with(:delete, "shipments/123", {}, api_key: nil, affiliate_id: nil).
|
163
|
+
and_return(true)
|
72
164
|
Shipcloud::Shipment.delete("123")
|
73
165
|
end
|
166
|
+
|
167
|
+
it "doesn't raise an error" do
|
168
|
+
stub_request(:delete, "https://api.shipcloud.io/v1/shipments/123").
|
169
|
+
to_return(status: 204, body: "")
|
170
|
+
|
171
|
+
expect { Shipcloud::Shipment.delete("123", api_key: "your-api-key") }.
|
172
|
+
to_not raise_error
|
173
|
+
end
|
174
|
+
|
175
|
+
it "use the affiliate ID provided for the request" do
|
176
|
+
expect(Shipcloud).to receive(:request).with(
|
177
|
+
:delete, "shipments/123", {}, api_key: nil, affiliate_id: "affiliate_id"
|
178
|
+
).and_return(true)
|
179
|
+
Shipcloud::Shipment.delete("123", affiliate_id: "affiliate_id")
|
180
|
+
end
|
74
181
|
end
|
75
182
|
|
76
183
|
describe ".all" do
|
77
184
|
it "makes a new Get request using the correct API endpoint" do
|
78
185
|
expect(Shipcloud).to receive(:request).
|
79
|
-
with(:get, "shipments", {}).
|
186
|
+
with(:get, "shipments", {}, api_key: nil, affiliate_id: nil).
|
80
187
|
and_return("shipments" => [])
|
81
188
|
|
82
189
|
Shipcloud::Shipment.all
|
@@ -104,16 +211,24 @@ describe Shipcloud::Shipment do
|
|
104
211
|
}
|
105
212
|
|
106
213
|
expect(Shipcloud).to receive(:request).
|
107
|
-
with(:get, "shipments", filter).
|
214
|
+
with(:get, "shipments", filter, api_key: nil, affiliate_id: nil).
|
108
215
|
and_return("shipments" => shipments_array)
|
109
216
|
|
110
|
-
Shipcloud::Shipment.all(filter)
|
217
|
+
Shipcloud::Shipment.all(filter, api_key: nil)
|
218
|
+
end
|
219
|
+
|
220
|
+
it "use the affiliate ID provided for the request" do
|
221
|
+
expect(Shipcloud).to receive(:request).
|
222
|
+
with(:get, "shipments", {}, api_key: nil, affiliate_id: "affiliate_id").
|
223
|
+
and_return("shipments" => [])
|
224
|
+
|
225
|
+
Shipcloud::Shipment.all(affiliate_id: "affiliate_id")
|
111
226
|
end
|
112
227
|
end
|
113
228
|
|
114
|
-
def stub_shipments_requests
|
229
|
+
def stub_shipments_requests(affiliate_id: nil)
|
115
230
|
allow(Shipcloud).to receive(:request).
|
116
|
-
with(:get, "shipments", {}).
|
231
|
+
with(:get, "shipments", {}, api_key: nil, affiliate_id: affiliate_id).
|
117
232
|
and_return("shipments" => shipments_array)
|
118
233
|
end
|
119
234
|
|
@@ -0,0 +1,141 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "spec_helper"
|
3
|
+
|
4
|
+
describe Shipcloud::PickupRequest do
|
5
|
+
valid_attributes = {
|
6
|
+
carrier: "ups",
|
7
|
+
carrier_tracking_no: "723558934169",
|
8
|
+
}
|
9
|
+
|
10
|
+
describe "#initialize" do
|
11
|
+
it "initializes all attributes correctly" do
|
12
|
+
tracker = Shipcloud::Tracker.new(valid_attributes)
|
13
|
+
|
14
|
+
expect(tracker.carrier).to eq "ups"
|
15
|
+
expect(tracker.carrier_tracking_no).to eq "723558934169"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe ".all" do
|
20
|
+
it "makes a new GET request using the correct API endpoint" do
|
21
|
+
expect(Shipcloud).to receive(:request).
|
22
|
+
with(:get, "trackers", {}, api_key: nil, affiliate_id: nil).
|
23
|
+
and_return("trackers" => [])
|
24
|
+
|
25
|
+
Shipcloud::Tracker.all
|
26
|
+
end
|
27
|
+
|
28
|
+
it "returns a list of Tracker objects" do
|
29
|
+
stub_trackers_requests
|
30
|
+
|
31
|
+
trackers = Shipcloud::Tracker.all
|
32
|
+
|
33
|
+
trackers.each do |tracker|
|
34
|
+
expect(tracker).to be_a Shipcloud::Tracker
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
it "use the affiliate ID provided for the request" do
|
39
|
+
expect(Shipcloud).to receive(:request).
|
40
|
+
with(:get, "trackers", {}, api_key: nil, affiliate_id: "affiliate_id").
|
41
|
+
and_return("trackers" => [])
|
42
|
+
|
43
|
+
Shipcloud::Tracker.all(affiliate_id: "affiliate_id")
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
describe ".create" do
|
48
|
+
it "makes a new POST request using the correct API endpoint" do
|
49
|
+
expect(Shipcloud).to receive(:request).
|
50
|
+
with(:post, "trackers", valid_attributes, api_key: nil, affiliate_id: nil).
|
51
|
+
and_return("data" => {})
|
52
|
+
|
53
|
+
Shipcloud::Tracker.create(valid_attributes)
|
54
|
+
end
|
55
|
+
|
56
|
+
it "use the affiliate ID provided for the request" do
|
57
|
+
expect(Shipcloud).to receive(:request).
|
58
|
+
with(:post, "trackers", valid_attributes, api_key: nil, affiliate_id: "affiliate_id").
|
59
|
+
and_return("data" => {})
|
60
|
+
|
61
|
+
Shipcloud::Tracker.create(valid_attributes, affiliate_id: "affiliate_id")
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
describe ".find" do
|
66
|
+
it "makes a new GET request using the correct API endpoint to receive a specific tracker" do
|
67
|
+
expect(Shipcloud).to receive(:request).
|
68
|
+
with(:get, "trackers/123", {}, api_key: nil, affiliate_id: nil).
|
69
|
+
and_return("id" => "123")
|
70
|
+
|
71
|
+
Shipcloud::Tracker.find("123")
|
72
|
+
end
|
73
|
+
|
74
|
+
it "use the affiliate ID provided for the request" do
|
75
|
+
expect(Shipcloud).to receive(:request).
|
76
|
+
with(:get, "trackers/123", {}, api_key: nil, affiliate_id: "affiliate_id").
|
77
|
+
and_return("id" => "123")
|
78
|
+
|
79
|
+
Shipcloud::Tracker.find("123", affiliate_id: "affiliate_id")
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def stub_trackers_requests(affiliate_id: nil)
|
84
|
+
allow(Shipcloud).to receive(:request).
|
85
|
+
with(:get, "trackers", {}, api_key: nil, affiliate_id: affiliate_id).
|
86
|
+
and_return("trackers" => trackers_array)
|
87
|
+
end
|
88
|
+
|
89
|
+
def trackers_array
|
90
|
+
[
|
91
|
+
{
|
92
|
+
"id" => "4a6922e2-09ad-4724-807c-7b4e572d3c6b",
|
93
|
+
"carrier_tracking_no" => "723558934169",
|
94
|
+
"status" => "registered",
|
95
|
+
"created_at" => "2015-07-21T09:35:23+02:00",
|
96
|
+
"to" => {
|
97
|
+
"company" => nil,
|
98
|
+
"first_name" => "Hans",
|
99
|
+
"last_name" => "Meier",
|
100
|
+
"care_of" => nil,
|
101
|
+
"street" => "Semmelweg",
|
102
|
+
"street_no" => "1",
|
103
|
+
"zip_code" => "12345",
|
104
|
+
"city" => "Hamburg",
|
105
|
+
"state" => nil,
|
106
|
+
"country" => "DE",
|
107
|
+
},
|
108
|
+
"tracking_status_updated_at" => nil,
|
109
|
+
"last_polling_at" => nil,
|
110
|
+
"next_polling_at" => "2015-07-21T09:35:23+02:00",
|
111
|
+
"shipment_id" => "123456",
|
112
|
+
"carrier" => "ups",
|
113
|
+
"tracking_events" => [],
|
114
|
+
},
|
115
|
+
{
|
116
|
+
"id" => "7b4e572d3c6b-4a6922e2-09ad-4724-807c",
|
117
|
+
"carrier_tracking_no" => "723558934170",
|
118
|
+
"status" => "registered",
|
119
|
+
"created_at" => "2015-07-20T09:35:23+02:00",
|
120
|
+
"to" => {
|
121
|
+
"company" => nil,
|
122
|
+
"first_name" => "Rita",
|
123
|
+
"last_name" => "Rose",
|
124
|
+
"care_of" => nil,
|
125
|
+
"street" => "Geranienweg",
|
126
|
+
"street_no" => "2",
|
127
|
+
"zip_code" => "23456",
|
128
|
+
"city" => "Berlin",
|
129
|
+
"state" => nil,
|
130
|
+
"country" => "DE",
|
131
|
+
},
|
132
|
+
"tracking_status_updated_at" => nil,
|
133
|
+
"last_polling_at" => nil,
|
134
|
+
"next_polling_at" => "2015-07-21T09:35:23+02:00",
|
135
|
+
"shipment_id" => "654321",
|
136
|
+
"carrier" => "dpd",
|
137
|
+
"tracking_events" => [],
|
138
|
+
},
|
139
|
+
]
|
140
|
+
end
|
141
|
+
end
|
@@ -2,6 +2,7 @@ require "spec_helper"
|
|
2
2
|
|
3
3
|
describe Shipcloud::Webhook do
|
4
4
|
valid_attributes = {
|
5
|
+
id: "583cfd8b-77c7-4447-a3a0-1568bb9cc553",
|
5
6
|
url: "https://example.com/webhook",
|
6
7
|
event_types: ["shipment.tracking.delayed", "shipment.tracking.delivered"]
|
7
8
|
}
|
@@ -11,29 +12,46 @@ describe Shipcloud::Webhook do
|
|
11
12
|
webhook = Shipcloud::Webhook.new(valid_attributes)
|
12
13
|
expect(webhook.url).to eq "https://example.com/webhook"
|
13
14
|
expect(webhook.event_types).to eq ["shipment.tracking.delayed", "shipment.tracking.delivered"]
|
15
|
+
expect(webhook.id).to eq "583cfd8b-77c7-4447-a3a0-1568bb9cc553"
|
14
16
|
end
|
15
17
|
end
|
16
18
|
|
17
19
|
describe ".create" do
|
18
20
|
it "makes a new POST request using the correct API endpoint" do
|
19
|
-
Shipcloud.
|
20
|
-
with(:post, "webhooks", valid_attributes).
|
21
|
+
expect(Shipcloud).to receive(:request).
|
22
|
+
with(:post, "webhooks", valid_attributes, api_key: nil, affiliate_id: nil).
|
21
23
|
and_return("data" => {})
|
22
24
|
Shipcloud::Webhook.create(valid_attributes)
|
23
25
|
end
|
26
|
+
|
27
|
+
it "use the affiliate ID provided for the request" do
|
28
|
+
expect(Shipcloud).to receive(:request).
|
29
|
+
with(:post, "webhooks", valid_attributes, api_key: nil, affiliate_id: "affiliate_id").
|
30
|
+
and_return("data" => {})
|
31
|
+
Shipcloud::Webhook.create(valid_attributes, affiliate_id: "affiliate_id")
|
32
|
+
end
|
24
33
|
end
|
25
34
|
|
26
35
|
describe ".find" do
|
27
36
|
it "makes a new GET request using the correct API endpoint to receive a specific webhook" do
|
28
|
-
Shipcloud.
|
37
|
+
expect(Shipcloud).to receive(:request).
|
38
|
+
with(:get, "webhooks/123", {}, api_key: nil, affiliate_id: nil).
|
39
|
+
and_return("id" => "123")
|
29
40
|
Shipcloud::Webhook.find("123")
|
30
41
|
end
|
42
|
+
|
43
|
+
it "use the affiliate ID provided for the request" do
|
44
|
+
expect(Shipcloud).to receive(:request).
|
45
|
+
with(:get, "webhooks/123", {}, api_key: nil, affiliate_id: "affiliate_id").
|
46
|
+
and_return("id" => "123")
|
47
|
+
Shipcloud::Webhook.find("123", affiliate_id: "affiliate_id")
|
48
|
+
end
|
31
49
|
end
|
32
50
|
|
33
51
|
describe ".all" do
|
34
52
|
it "makes a new Get request using the correct API endpoint" do
|
35
53
|
expect(Shipcloud).to receive(:request).
|
36
|
-
with(:get, "webhooks", {}).
|
54
|
+
with(:get, "webhooks", {}, api_key: nil, affiliate_id: nil).
|
37
55
|
and_return("webhooks" => [])
|
38
56
|
|
39
57
|
Shipcloud::Webhook.all
|
@@ -48,11 +66,57 @@ describe Shipcloud::Webhook do
|
|
48
66
|
expect(webhook).to be_a Shipcloud::Webhook
|
49
67
|
end
|
50
68
|
end
|
69
|
+
|
70
|
+
it "use the affiliate ID provided for the request" do
|
71
|
+
expect(Shipcloud).to receive(:request).
|
72
|
+
with(:get, "webhooks", {}, api_key: nil, affiliate_id: "affiliate_id").
|
73
|
+
and_return("webhooks" => [])
|
74
|
+
|
75
|
+
Shipcloud::Webhook.all(affiliate_id: "affiliate_id")
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
describe ".delete" do
|
80
|
+
it "makes a DELETE request using the correct API endpoint" do
|
81
|
+
expect(Shipcloud).to receive(:request).
|
82
|
+
with(:delete, "webhooks/123", {}, api_key: nil, affiliate_id: nil).
|
83
|
+
and_return(true)
|
84
|
+
Shipcloud::Webhook.delete("123")
|
85
|
+
end
|
86
|
+
|
87
|
+
it "use the affiliate ID provided for the request" do
|
88
|
+
expect(Shipcloud).to receive(:request).
|
89
|
+
with(:delete, "webhooks/123", {}, api_key: nil, affiliate_id: "affiliate_id").
|
90
|
+
and_return(true)
|
91
|
+
Shipcloud::Webhook.delete("123", affiliate_id: "affiliate_id")
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
describe ".deactivated" do
|
96
|
+
let(:id) { "123" }
|
97
|
+
|
98
|
+
subject { Shipcloud::Webhook.find(id).deactivated }
|
99
|
+
|
100
|
+
before do
|
101
|
+
expect(Shipcloud).to receive(:request).
|
102
|
+
with(:get, "webhooks/#{id}", {}, api_key: nil, affiliate_id: nil).
|
103
|
+
and_return("id" => id, "deactivated" => deactivated)
|
104
|
+
end
|
105
|
+
|
106
|
+
context "when the webhook is deactivated" do
|
107
|
+
let(:deactivated) { true }
|
108
|
+
it { is_expected.to be true }
|
109
|
+
end
|
110
|
+
|
111
|
+
context "when the webhook is not deactivated" do
|
112
|
+
let(:deactivated) { false }
|
113
|
+
it { is_expected.to be false }
|
114
|
+
end
|
51
115
|
end
|
52
116
|
|
53
|
-
def stub_webhooks_request
|
117
|
+
def stub_webhooks_request(affiliate_id: nil)
|
54
118
|
allow(Shipcloud).to receive(:request).
|
55
|
-
with(:get, "webhooks", {}).
|
119
|
+
with(:get, "webhooks", {}, api_key: nil, affiliate_id: affiliate_id).
|
56
120
|
and_return("webhooks" => webhooks_array)
|
57
121
|
end
|
58
122
|
|