soapy_cake 1.25.1 → 1.25.2

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: f34206792cd5e4c12a01f151950c2cdc2fb93842
4
- data.tar.gz: 3b001b6ab170294913d412bca3d587aac23284d1
3
+ metadata.gz: 1321d74f53687f87ede80c9d57c96cd0071243f3
4
+ data.tar.gz: 2a959b7fe70c1bbac22d7e798cd7c1eb76bc20ee
5
5
  SHA512:
6
- metadata.gz: 0769d845dc9e1ee7ab2b9e967a828b25fa33273f3b2aca9138d9dd9642417405ae1dfe98f29e3891a2416b8b621546cbccbc8ee7e7de54ee2dbf00ff85e7dc7e
7
- data.tar.gz: ee939674e9521deb531591dbf10a4ad48d3e42ad8b008361237d77bdee61bd57a5f36fe5b6ba301af0ec49ab14331ab5b70a07326059b2cd2fb0ff0650385e2b
6
+ metadata.gz: e7217c43f14f3b57ac1b104dfd64924e0f45a120147814ab2dfb4f8bf05efc2dca2d0ce709dd3eff418c3588b3d0049ac58458119bdde00a4a1f62b9d1e6b314
7
+ data.tar.gz: 64d9af5457a4fd531a01c26f7f02311ef73abbb2027fd5cc9dcf3d8204fd01d844cfeb5e27166af65974f6fda62bf993fe5eb7ae888f6d8dff7abd91c0ee2d49
data/README.md CHANGED
@@ -38,7 +38,7 @@ Get report for specific date range:
38
38
  ```ruby
39
39
  SoapyCake::Admin.new.affiliate_summary(
40
40
  start_date: Date.beginning_of_month,
41
- end_date: Date.today
41
+ end_date: Date.current
42
42
  )
43
43
  ```
44
44
 
@@ -113,7 +113,7 @@ module SoapyCake
113
113
  blacklist_date = opts[:blacklist_date].to_date
114
114
  # CAKE applies the blacklisting at 00:00 of the specified day, so add one more day.
115
115
  # Unless it is the current day, then blacklisting should take effect immediately.
116
- blacklist_date += 1.day if blacklist_date > Date.today
116
+ blacklist_date += 1.day if blacklist_date > Date.current
117
117
 
118
118
  run Request.new(
119
119
  :admin,
@@ -54,7 +54,7 @@ module SoapyCake
54
54
  # It cannot be *that* far in the future though because it causes a datetime overflow
55
55
  # in the steam powered rusty black box they call a database server.
56
56
  def future_expiration_date
57
- Date.today + (365 * 30)
57
+ Date.current + (365 * 30)
58
58
  end
59
59
  end
60
60
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module SoapyCake
3
- VERSION = '1.25.1'
3
+ VERSION = '1.25.2'
4
4
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  RSpec.describe SoapyCake::AdminAddedit do
3
+ subject(:admin_addedit) { described_class.new }
4
+
3
5
  around { |example| Timecop.freeze(Time.utc(2015, 2, 17, 12), &example) }
4
6
 
5
7
  let(:affiliate_id) { 1 }
@@ -13,7 +15,7 @@ RSpec.describe SoapyCake::AdminAddedit do
13
15
 
14
16
  describe 'affiliates', :vcr do
15
17
  it 'edits affiliates' do
16
- result = subject.edit_affiliate(
18
+ result = admin_addedit.edit_affiliate(
17
19
  affiliate_id: 1,
18
20
  vat_tax_required: false
19
21
  )
@@ -24,7 +26,7 @@ RSpec.describe SoapyCake::AdminAddedit do
24
26
 
25
27
  describe 'advertisers', :vcr do
26
28
  it 'creates advertisers' do
27
- result = subject.create_advertiser(
29
+ result = admin_addedit.create_advertiser(
28
30
  advertiser_name: 'Foxy Fox',
29
31
  account_status_id: 1
30
32
  )
@@ -35,7 +37,7 @@ RSpec.describe SoapyCake::AdminAddedit do
35
37
 
36
38
  describe 'contacts', :vcr do
37
39
  it 'edits a contact' do
38
- result = subject.edit_contact(
40
+ result = admin_addedit.edit_contact(
39
41
  entity_id: advertiser_id,
40
42
  contact_id: contact_id,
41
43
  contact_email_address: 'fox@rabbit.com'
@@ -65,7 +67,7 @@ RSpec.describe SoapyCake::AdminAddedit do
65
67
  end
66
68
 
67
69
  it 'creates an offer', :vcr do
68
- result = subject.add_offer(
70
+ result = admin_addedit.add_offer(
69
71
  hidden: false,
70
72
  offer_status_id: :public,
71
73
  offer_type_id: :third_party,
@@ -113,20 +115,20 @@ RSpec.describe SoapyCake::AdminAddedit do
113
115
  end
114
116
 
115
117
  it 'updates an offer', :vcr do
116
- result = subject.edit_offer(update_params)
118
+ result = admin_addedit.edit_offer(update_params)
117
119
  expect(result).to include(offer_id: offer_id)
118
120
  end
119
121
 
120
122
  context 'errors' do
121
123
  it 'fails when not enough params are given' do
122
124
  expect do
123
- subject.edit_offer(offer_id: 123)
125
+ admin_addedit.edit_offer(offer_id: 123)
124
126
  end.to raise_error(SoapyCake::Error, "Parameter 'advertiser_id' missing!")
125
127
  end
126
128
 
127
129
  it 'fails when invalid offer_id is given on edit' do
128
130
  expect do
129
- subject.edit_offer(offer_id: -1)
131
+ admin_addedit.edit_offer(offer_id: -1)
130
132
  end.to raise_error(SoapyCake::Error, "Parameter 'offer_id' must be > 0!")
131
133
  end
132
134
 
@@ -138,7 +140,7 @@ RSpec.describe SoapyCake::AdminAddedit do
138
140
 
139
141
  it 'fails with error' do
140
142
  expect do
141
- subject.edit_offer(update_params)
143
+ admin_addedit.edit_offer(update_params)
142
144
  end.to raise_error(SoapyCake::Error, /Writes not enabled/)
143
145
  end
144
146
  end
@@ -147,14 +149,14 @@ RSpec.describe SoapyCake::AdminAddedit do
147
149
 
148
150
  describe 'geo targeting' do
149
151
  it 'creates geo targetings', :vcr do
150
- result = subject.add_geo_targets(
152
+ result = admin_addedit.add_geo_targets(
151
153
  offer_contract_id: offer_contract_id,
152
154
  countries: %w(DE FR),
153
155
  allow_countries: true
154
156
  )
155
157
  expect(result).to include(success: true, row_count: '2')
156
158
 
157
- result = subject.add_geo_targets(
159
+ result = admin_addedit.add_geo_targets(
158
160
  offer_contract_id: offer_contract_id,
159
161
  countries: %w(AT CH),
160
162
  redirects: {
@@ -168,7 +170,7 @@ RSpec.describe SoapyCake::AdminAddedit do
168
170
 
169
171
  it 'fails if it does not get a correct redirect hash' do
170
172
  expect do
171
- subject.add_geo_targets(
173
+ admin_addedit.add_geo_targets(
172
174
  offer_contract_id: offer_contract_id,
173
175
  redirects: {},
174
176
  allow_countries: false
@@ -182,7 +184,7 @@ RSpec.describe SoapyCake::AdminAddedit do
182
184
 
183
185
  describe 'offer contracts' do
184
186
  it 'creates an offer contract', :vcr do
185
- result = subject.add_offer_contract(
187
+ result = admin_addedit.add_offer_contract(
186
188
  offer_id: offer_id,
187
189
  offer_contract_name: 'Test Contract',
188
190
  price_format_id: :cpa,
@@ -200,7 +202,7 @@ RSpec.describe SoapyCake::AdminAddedit do
200
202
  end
201
203
 
202
204
  it 'updates an offer contract', :vcr do
203
- result = subject.edit_offer_contract(
205
+ result = admin_addedit.edit_offer_contract(
204
206
  offer_id: offer_id,
205
207
  offer_contract_id: offer_contract_id,
206
208
  offer_contract_name: 'Test Contract',
@@ -221,13 +223,13 @@ RSpec.describe SoapyCake::AdminAddedit do
221
223
  context 'errors' do
222
224
  it 'fails when not enough params are given' do
223
225
  expect do
224
- subject.edit_offer_contract(offer_contract_id: 123)
226
+ admin_addedit.edit_offer_contract(offer_contract_id: 123)
225
227
  end.to raise_error(SoapyCake::Error, "Parameter 'offer_id' missing!")
226
228
  end
227
229
 
228
230
  it 'fails when invalid offer_id is given on edit' do
229
231
  expect do
230
- subject.edit_offer_contract(offer_contract_id: -1)
232
+ admin_addedit.edit_offer_contract(offer_contract_id: -1)
231
233
  end.to raise_error(SoapyCake::Error, "Parameter 'offer_contract_id' must be > 0!")
232
234
  end
233
235
  end
@@ -235,7 +237,7 @@ RSpec.describe SoapyCake::AdminAddedit do
235
237
 
236
238
  describe 'offer / offer contract caps' do
237
239
  it 'updates a cap for an offer contract', :vcr do
238
- result = subject.update_caps(
240
+ result = admin_addedit.update_caps(
239
241
  offer_contract_id: offer_contract_id,
240
242
  cap_type_id: :conversion,
241
243
  cap_interval_id: :daily,
@@ -247,7 +249,7 @@ RSpec.describe SoapyCake::AdminAddedit do
247
249
  end
248
250
 
249
251
  it 'removes a cap for an offer contract', :vcr do
250
- result = subject.remove_caps(
252
+ result = admin_addedit.remove_caps(
251
253
  offer_contract_id: offer_contract_id,
252
254
  cap_type_id: :conversion
253
255
  )
@@ -258,7 +260,7 @@ RSpec.describe SoapyCake::AdminAddedit do
258
260
 
259
261
  describe 'offer tiers' do
260
262
  it 'adds an offer tier', :vcr do
261
- result = subject.add_offer_tier(
263
+ result = admin_addedit.add_offer_tier(
262
264
  offer_id: offer_id,
263
265
  offer_contract_id: offer_contract_id,
264
266
  tier_id: tier_id,
@@ -270,7 +272,7 @@ RSpec.describe SoapyCake::AdminAddedit do
270
272
  end
271
273
 
272
274
  it 'edits an offer tier', :vcr do
273
- result = subject.edit_offer_tier(
275
+ result = admin_addedit.edit_offer_tier(
274
276
  offer_id: offer_id,
275
277
  offer_contract_id: offer_contract_id,
276
278
  tier_id: tier_id,
@@ -284,7 +286,7 @@ RSpec.describe SoapyCake::AdminAddedit do
284
286
 
285
287
  describe 'campaigns' do
286
288
  it 'adds a campaign', :vcr do
287
- result = subject.add_campaign(
289
+ result = admin_addedit.add_campaign(
288
290
  affiliate_id: affiliate_id,
289
291
  offer_id: offer_id,
290
292
  media_type_id: 1,
@@ -296,7 +298,7 @@ RSpec.describe SoapyCake::AdminAddedit do
296
298
  end
297
299
 
298
300
  it 'edits a campaign', :vcr do
299
- result = subject.edit_campaign(
301
+ result = admin_addedit.edit_campaign(
300
302
  campaign_id: 123,
301
303
  affiliate_id: affiliate_id,
302
304
  offer_id: offer_id,
@@ -5,13 +5,13 @@ RSpec.describe SoapyCake::Admin do
5
5
  let(:logger) { instance_double(Logger) }
6
6
  before { allow(logger).to receive(:info) }
7
7
 
8
- subject { described_class.new(logger: logger) }
8
+ subject(:admin) { described_class.new(logger: logger) }
9
9
 
10
10
  it 'returns an affiliate with correct data types', :vcr do
11
11
  expect(logger).to receive(:info)
12
12
  .with('soapy_cake:request admin:export:affiliates:5 {"affiliate_id":16027}')
13
13
 
14
- result = subject.affiliates(affiliate_id: 16027)
14
+ result = admin.affiliates(affiliate_id: 16027)
15
15
  expect(result.count).to eq(1)
16
16
  expect(result.first).to include(
17
17
  affiliate_id: 16027,
@@ -39,7 +39,7 @@ RSpec.describe SoapyCake::Admin do
39
39
  end
40
40
 
41
41
  it 'returns a clicks report with a defined time range', :vcr do
42
- result = subject.clicks(
42
+ result = admin.clicks(
43
43
  start_date: Date.new(2014, 6, 30),
44
44
  end_date: Date.new(2014, 7, 1),
45
45
  row_limit: 1
@@ -53,7 +53,7 @@ RSpec.describe SoapyCake::Admin do
53
53
  end
54
54
 
55
55
  it 'does not parse a transaction_id as an integer', :vcr do
56
- result = subject.conversions(
56
+ result = admin.conversions(
57
57
  start_date: Date.new(2015, 4, 11),
58
58
  end_date: Date.new(2015, 4, 12),
59
59
  row_limit: 1
@@ -65,12 +65,12 @@ RSpec.describe SoapyCake::Admin do
65
65
 
66
66
  it 'raises if there is an error', :vcr do
67
67
  expect do
68
- subject.affiliates(affiliate_id: 'bloops')
68
+ admin.affiliates(affiliate_id: 'bloops')
69
69
  end.to raise_error(SoapyCake::RequestFailed)
70
70
  end
71
71
 
72
72
  it 'creates an affiliate and returns the ID', :vcr do
73
- result = subject.affiliate_signup(
73
+ result = admin.affiliate_signup(
74
74
  contact_timezone: 'CET',
75
75
  contact_phone_work: 'n/a',
76
76
  address_country: 'n/a',
@@ -85,7 +85,7 @@ RSpec.describe SoapyCake::Admin do
85
85
  contact_first_name: 'Foxy',
86
86
  contact_last_name: 'Fox',
87
87
  contact_email_address: 'foxy@forrest.com',
88
- date_added: Date.today
88
+ date_added: Date.current
89
89
  )
90
90
 
91
91
  expect(result).to eq(
@@ -97,7 +97,7 @@ RSpec.describe SoapyCake::Admin do
97
97
  end
98
98
 
99
99
  it 'returns media types', :vcr do
100
- result = subject.media_types
100
+ result = admin.media_types
101
101
 
102
102
  expect(result.first).to eq(
103
103
  media_type_id: 15,
@@ -106,17 +106,17 @@ RSpec.describe SoapyCake::Admin do
106
106
  end
107
107
 
108
108
  context 'XML responses' do
109
- subject { described_class.new(xml_response: true) }
109
+ subject(:admin) { described_class.new(xml_response: true) }
110
110
 
111
111
  it 'returns an XML string', :vcr do
112
- result = subject.media_types
112
+ result = admin.media_types
113
113
 
114
114
  expect(result.next).to eq(File.read('spec/fixtures/raw_response.xml').strip)
115
115
  end
116
116
 
117
117
  it 'fails on error', :vcr do
118
118
  expect do
119
- subject.affiliates(affiliate_id: -2).next
119
+ admin.affiliates(affiliate_id: -2).next
120
120
  end.to raise_error(SoapyCake::RequestFailed)
121
121
  end
122
122
  end
@@ -124,7 +124,7 @@ RSpec.describe SoapyCake::Admin do
124
124
  describe '#blacklists' do
125
125
  it 'returns blacklists', :vcr do
126
126
  expect(
127
- subject.blacklists(
127
+ admin.blacklists(
128
128
  advertiser_id: 15882,
129
129
  offer_id: 10551,
130
130
  affiliate_id: 16187,
@@ -157,11 +157,11 @@ RSpec.describe SoapyCake::Admin do
157
157
  end
158
158
 
159
159
  it 'removes blacklists', :vcr do
160
- expect(subject.blacklists(blacklist_params).to_a).to be_present
160
+ expect(admin.blacklists(blacklist_params).to_a).to be_present
161
161
 
162
- subject.remove_blacklist(blacklist_id: 28)
162
+ admin.remove_blacklist(blacklist_id: 28)
163
163
 
164
- expect(subject.blacklists(blacklist_params).to_a).to be_empty
164
+ expect(admin.blacklists(blacklist_params).to_a).to be_empty
165
165
  end
166
166
  end
167
167
  end
@@ -2,9 +2,11 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  RSpec.describe SoapyCake::AdminTrack do
5
+ subject(:admin_track) { described_class.new }
6
+
5
7
  describe '#mass_conversion_insert', :vcr do
6
8
  it 'inserts conversions' do
7
- result = subject.mass_conversion_insert(
9
+ result = admin_track.mass_conversion_insert(
8
10
  conversion_date: Date.new(2015, 5, 6),
9
11
  affiliate_id: 16059,
10
12
  campaign_id: 13268,
@@ -19,7 +21,7 @@ RSpec.describe SoapyCake::AdminTrack do
19
21
 
20
22
  describe '#update_conversion', :vcr do
21
23
  it 'updates a conversion' do
22
- result = subject.update_conversion(
24
+ result = admin_track.update_conversion(
23
25
  conversion_id: 145211,
24
26
  offer_id: 5032,
25
27
  payout: 0.75,
@@ -1,7 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
  RSpec.describe SoapyCake::AdminAddedit do
3
+ subject(:admin_addedit) { described_class.new }
4
+
3
5
  before do
4
- allow(subject).to receive(:run).and_return({})
6
+ allow(admin_addedit).to receive(:run).and_return({})
5
7
  end
6
8
 
7
9
  describe '#edit_offer' do
@@ -25,7 +27,7 @@ RSpec.describe SoapyCake::AdminAddedit do
25
27
  .with(:admin, :addedit, :offer,
26
28
  hash_including(tags: 'new-tag', tags_modification_type: 'add'))
27
29
 
28
- subject.edit_offer(offer_params)
30
+ admin_addedit.edit_offer(offer_params)
29
31
  end
30
32
 
31
33
  it 'allows replacing tags' do
@@ -33,7 +35,7 @@ RSpec.describe SoapyCake::AdminAddedit do
33
35
  .with(:admin, :addedit, :offer,
34
36
  hash_including(tags: 'new-tag', tags_modification_type: 'replace'))
35
37
 
36
- subject.edit_offer(offer_params.merge(tags_replace: true))
38
+ admin_addedit.edit_offer(offer_params.merge(tags_replace: true))
37
39
  end
38
40
  end
39
41
 
@@ -77,7 +79,7 @@ RSpec.describe SoapyCake::AdminAddedit do
77
79
  .with(:admin, :addedit, :offer,
78
80
  hash_including(tags: 'tag', tags_modification_type: 'add'))
79
81
 
80
- subject.add_offer(offer_params.merge(tags: 'tag', tags_replace: true))
82
+ admin_addedit.add_offer(offer_params.merge(tags: 'tag', tags_replace: true))
81
83
  end
82
84
  end
83
85
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  RSpec.describe SoapyCake::AdminBatched do
3
+ subject(:admin_batched) { described_class.new }
3
4
  let(:admin) { instance_double(SoapyCake::Admin, xml_response?: false) }
4
5
 
5
6
  before :each do
@@ -14,7 +15,7 @@ RSpec.describe SoapyCake::AdminBatched do
14
15
  expect(admin).to receive(:offers)
15
16
  .with(advertiser: 1, start_at_row: 3, row_limit: 2).and_return(%i(c).to_enum)
16
17
 
17
- result = subject.offers(advertiser: 1)
18
+ result = admin_batched.offers(advertiser: 1)
18
19
 
19
20
  expect(result).to be_a(Enumerator)
20
21
  expect(result.to_a).to eq(%i(a b c))
@@ -24,11 +25,11 @@ RSpec.describe SoapyCake::AdminBatched do
24
25
  expect(admin).to receive(:offers)
25
26
  .with(advertiser: 1, start_at_row: 1, row_limit: 100).and_return(%i(a b).to_enum)
26
27
 
27
- expect(subject.offers({ advertiser: 1 }, 100).to_a).to eq(%i(a b))
28
+ expect(admin_batched.offers({ advertiser: 1 }, 100).to_a).to eq(%i(a b))
28
29
  end
29
30
 
30
31
  context 'SoapyCake Batched with XMLResponse set' do
31
- subject { described_class.new(xml_response: true) }
32
+ subject(:admin_batched) { described_class.new(xml_response: true) }
32
33
 
33
34
  before do
34
35
  allow(admin).to receive(:xml_response?).and_return(true)
@@ -42,7 +43,7 @@ RSpec.describe SoapyCake::AdminBatched do
42
43
  expect(admin).to receive(:affiliates)
43
44
  .with(start_at_row: 21, row_limit: 10).and_return([].to_enum)
44
45
 
45
- result = subject.affiliates({}, 10)
46
+ result = admin_batched.affiliates({}, 10)
46
47
 
47
48
  expect(result).to be_a(Enumerator)
48
49
  expect(result.to_a).to eq(%i(a b))
@@ -51,15 +52,19 @@ RSpec.describe SoapyCake::AdminBatched do
51
52
 
52
53
  context 'errors' do
53
54
  it 'fails with an invalid method' do
54
- expect { subject.something }.to raise_error(NoMethodError)
55
+ expect { admin_batched.something }.to raise_error(NoMethodError)
55
56
  end
56
57
 
57
58
  it 'fails when row_limit is set' do
58
- expect { subject.offers(row_limit: 123) }.to raise_error(/Cannot set .* in batched mode/)
59
+ expect { admin_batched.offers(row_limit: 123) }.to(
60
+ raise_error(/Cannot set .* in batched mode/)
61
+ )
59
62
  end
60
63
 
61
64
  it 'fails when start_at_row is set' do
62
- expect { subject.offers(start_at_row: 123) }.to raise_error(/Cannot set .* in batched mode/)
65
+ expect { admin_batched.offers(start_at_row: 123) }.to(
66
+ raise_error(/Cannot set .* in batched mode/)
67
+ )
63
68
  end
64
69
  end
65
70
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  RSpec.describe SoapyCake::Admin do
3
+ subject(:admin) { described_class.new }
3
4
  let(:opts) { nil }
4
5
  let(:cake_opts) { opts }
5
6
  let(:cake_method) { method }
@@ -182,7 +183,7 @@ RSpec.describe SoapyCake::Admin do
182
183
  let(:opts) { { blacklist_date: date } }
183
184
 
184
185
  context 'immediate blacklisting for current date' do
185
- let(:date) { Date.today }
186
+ let(:date) { Date.current }
186
187
  let(:cake_opts) { { blacklist_date: date } }
187
188
 
188
189
  it_behaves_like 'a cake admin method'
@@ -212,7 +213,7 @@ RSpec.describe SoapyCake::Admin do
212
213
  it_behaves_like 'a cake admin method'
213
214
 
214
215
  it 'uses a local response' do
215
- expect(subject.media_types(response: File.read('spec/fixtures/raw_response.xml'))).to eq(
216
+ expect(admin.media_types(response: File.read('spec/fixtures/raw_response.xml'))).to eq(
216
217
  [
217
218
  { media_type_id: 15, type_name: 'Adware' },
218
219
  { media_type_id: 7, type_name: 'Banner' },
@@ -253,7 +254,7 @@ RSpec.describe SoapyCake::Admin do
253
254
  it_behaves_like 'a cake admin method'
254
255
 
255
256
  it 'fails if no blacklist_id is passed' do
256
- expect { subject.remove_blacklist }
257
+ expect { admin.remove_blacklist }
257
258
  .to raise_error(SoapyCake::Error, "Parameter 'blacklist_id' missing!")
258
259
  end
259
260
  end
@@ -4,16 +4,16 @@ RSpec.describe SoapyCake::Affiliate do
4
4
  let(:opts) { { a: 1 } }
5
5
  let(:cake_opts) { opts.merge(affiliate_id: affiliate_id) }
6
6
 
7
- subject { described_class.new(affiliate_id: affiliate_id) }
7
+ subject(:affiliate) { described_class.new(affiliate_id: affiliate_id) }
8
8
 
9
9
  shared_examples_for 'a cake affiliate method' do
10
10
  it 'runs the request' do
11
11
  request = instance_double(SoapyCake::Request)
12
12
  expect(SoapyCake::Request).to receive(:new)
13
13
  .with(:affiliate, service, method, cake_opts).and_return(request)
14
- expect(subject).to receive(:run).with(request)
14
+ expect(affiliate).to receive(:run).with(request)
15
15
 
16
- subject.public_send(method, opts)
16
+ affiliate.public_send(method, opts)
17
17
  end
18
18
  end
19
19
 
@@ -24,16 +24,16 @@ RSpec.describe SoapyCake::Response do
24
24
  EOD
25
25
  end
26
26
 
27
- subject { described_class.new(xml.strip, false, 0) }
27
+ subject(:response) { described_class.new(xml.strip, false, 0) }
28
28
 
29
29
  it 'returns an enumerator' do
30
- expect(subject.to_enum).to be_a(Enumerator)
30
+ expect(response.to_enum).to be_a(Enumerator)
31
31
  end
32
32
 
33
33
  it 'parses the CAKE XML structure properly' do
34
- expect(subject.to_enum.to_a).to eq([
35
- { id: '123' },
36
- { id: '312' }
37
- ])
34
+ expect(response.to_enum.to_a).to eq([
35
+ { id: '123' },
36
+ { id: '312' }
37
+ ])
38
38
  end
39
39
  end
@@ -1,38 +1,38 @@
1
1
  # frozen_string_literal: true
2
2
  RSpec.describe SoapyCake::TimeConverter do
3
- subject { described_class.new('Europe/Berlin') }
3
+ subject(:time_converter) { described_class.new('Europe/Berlin') }
4
4
 
5
5
  describe '#to_cake' do
6
6
  it 'converts a time-like object into a cake timestamp' do
7
- expect(subject.to_cake(DateTime.new(2015, 1, 2, 12, 30))).to eq('2015-01-02T13:30:00')
8
- expect(subject.to_cake(Time.utc(2015, 1, 2, 12, 30))).to eq('2015-01-02T13:30:00')
9
- expect(subject.to_cake(Date.new(2015, 1, 2))).to eq('2015-01-02T01:00:00')
7
+ expect(time_converter.to_cake(DateTime.new(2015, 1, 2, 12, 30))).to eq('2015-01-02T13:30:00')
8
+ expect(time_converter.to_cake(Time.utc(2015, 1, 2, 12, 30))).to eq('2015-01-02T13:30:00')
9
+ expect(time_converter.to_cake(Date.new(2015, 1, 2))).to eq('2015-01-02T01:00:00')
10
10
  end
11
11
 
12
12
  it 'respects DST' do
13
- expect(subject.to_cake(Time.utc(2015, 1, 2, 12, 30))).to eq('2015-01-02T13:30:00')
14
- expect(subject.to_cake(Time.utc(2015, 6, 2, 12, 30))).to eq('2015-06-02T14:30:00')
13
+ expect(time_converter.to_cake(Time.utc(2015, 1, 2, 12, 30))).to eq('2015-01-02T13:30:00')
14
+ expect(time_converter.to_cake(Time.utc(2015, 6, 2, 12, 30))).to eq('2015-06-02T14:30:00')
15
15
  end
16
16
  end
17
17
 
18
18
  describe '#from_cake' do
19
19
  it 'parses cake dates into the specified time zone (including DST)' do
20
- expect(subject.from_cake('2015-01-11T14:53:40.000')).to be_a(Time)
21
- expect(subject.from_cake('2015-01-11T14:53:40.000'))
20
+ expect(time_converter.from_cake('2015-01-11T14:53:40.000')).to be_a(Time)
21
+ expect(time_converter.from_cake('2015-01-11T14:53:40.000'))
22
22
  .to eq(Time.utc(2015, 1, 11, 13, 53, 40))
23
- expect(subject.from_cake('2015-06-11T14:53:40.000'))
23
+ expect(time_converter.from_cake('2015-06-11T14:53:40.000'))
24
24
  .to eq(Time.utc(2015, 6, 11, 12, 53, 40))
25
25
  end
26
26
  end
27
27
 
28
28
  context 'legacy mode / CAKE_TIME_OFFSET' do
29
- subject { described_class.new('Europe/Berlin', 5) }
29
+ subject(:time_converter) { described_class.new('Europe/Berlin', 5) }
30
30
 
31
31
  it 'works as before (broken, without DST)' do
32
32
  expect(STDERR).to receive(:puts).with(/Please use time_zone/)
33
33
 
34
- expect(subject.to_cake(DateTime.new(2015, 1, 2, 12, 30))).to eq('2015-01-02T17:30:00')
35
- expect(subject.to_cake(DateTime.new(2015, 6, 2, 12, 30))).to eq('2015-06-02T17:30:00')
34
+ expect(time_converter.to_cake(DateTime.new(2015, 1, 2, 12, 30))).to eq('2015-01-02T17:30:00')
35
+ expect(time_converter.to_cake(DateTime.new(2015, 6, 2, 12, 30))).to eq('2015-06-02T17:30:00')
36
36
  end
37
37
  end
38
38
  end
@@ -1,12 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
  RSpec.shared_examples_for 'a cake admin method' do
3
+ subject(:admin) { described_class.new }
3
4
  let(:request) { instance_double(SoapyCake::Request) }
4
5
 
5
6
  it 'runs the request' do
6
7
  expect(SoapyCake::Request).to receive(:new)
7
8
  .with(:admin, service, cake_method, cake_opts || {}).and_return(request)
8
- expect(subject).to receive(:run).with(request)
9
+ expect(admin).to receive(:run).with(request)
9
10
 
10
- subject.public_send(method, *[opts || cake_opts].compact)
11
+ admin.public_send(method, *[opts || cake_opts].compact)
11
12
  end
12
13
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soapy_cake
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.25.1
4
+ version: 1.25.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - ad2games GmbH
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-17 00:00:00.000000000 Z
11
+ date: 2016-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport