hasoffersv3 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b4e0d9a5e0923b713c99b151fbca1dd57c82eac6
4
- data.tar.gz: c7c9314e466b982bc074b3f244bd1255f806f3ad
3
+ metadata.gz: 2a92135ecef16e5e7f165c9fa042bbbe27b03346
4
+ data.tar.gz: 3c6983207542025e882bbf0549bf3879b65bee3e
5
5
  SHA512:
6
- metadata.gz: 3ec43e771158392096b11134d390eb2cf61d873d208bb6f0393f07cbc8ab0799c71eb820154c3abff8c3015b9b327bf1f89e534285afdeb74ff9000d446cd8eb
7
- data.tar.gz: c2323da50c9adcfba14f1da55b9319da65b6636b686e0288f906edc0395cc091422b45b806ce38cc0ffe8bfb6f5246b75004145e5962ce20891389c46c31eb34
6
+ metadata.gz: d8e57b4cde27df38ff33a0d209eb01cc1212c7d41662b35f86afa4d929b902c63cb5d89954e6e65770d3f2fc6dbbd21f2c3cf4c7b2a6f1c8556dcfa270dfe3fd
7
+ data.tar.gz: 7f277adeb140d6e34aa3d0fdabe3675243058b5c36d9852a02b7c56a601acfbdf0ffe158fc62ba7ba63160c405db7ca9b2c31e69890c03127a6b7c018233af68
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # 0.5.2
2
+ - [#54] Added Offer::addGroup method
3
+ - [#51] Added Offer::create, Offer::addTargetCountry and Offer::unblockAffiliate methods
4
+
5
+ # 0.5.1
6
+ - [#50] Added Affiliate::update method
7
+
1
8
  # 0.4.0
2
9
  - [#42] Support "Employee": findAll, find_all_by_ids and find_by_id
3
10
  - [#41] Added config option `read_timeout` to changed default timeout to 60
@@ -1,5 +1,21 @@
1
1
  class HasOffersV3
2
2
  class Offer < Base
3
+
4
+ def add_group(params)
5
+ requires! params, [:id, :group_id]
6
+ post_request 'addGroup', params
7
+ end
8
+
9
+ def add_target_country(params)
10
+ requires! params, [:id, :country_code]
11
+ post_request 'addTargetCountry', params
12
+ end
13
+
14
+ def create(params = {})
15
+ requires! params, [:data]
16
+ post_request 'create', params
17
+ end
18
+
3
19
  def find_all(params = {})
4
20
  post_request 'findAll', params
5
21
  end
@@ -58,5 +74,10 @@ class HasOffersV3
58
74
  requires! params, [:id]
59
75
  post_request 'getTierPayouts', params
60
76
  end
77
+
78
+ def unblock_affilate(params = {})
79
+ requires! params, [:id, :affiliate_id]
80
+ post_request 'unblockAffilate', params
81
+ end
61
82
  end
62
83
  end
@@ -1,3 +1,3 @@
1
1
  class HasOffersV3
2
- VERSION = '0.5.1'
2
+ VERSION = '0.5.2'
3
3
  end
@@ -169,4 +169,77 @@ describe HasOffersV3::Offer do
169
169
  expect { subject.get_tier_payouts }.to raise_error ArgumentError
170
170
  end
171
171
  end
172
+
173
+ describe '#create' do
174
+ it 'makes a proper request call' do
175
+ stub_call
176
+ response = subject.create data: { name: "Test" }
177
+ expect(a_request(:post, url).with(
178
+ body: hash_including({'Method' => 'create', 'data' => {'name' => 'Test'}}))
179
+ ).to have_been_made
180
+ validate_call response
181
+ end
182
+
183
+ it 'fails without data' do
184
+ expect { subject.create }.to raise_error ArgumentError
185
+ end
186
+ end
187
+
188
+ describe '#unblock_affilate' do
189
+ it 'makes a proper request call' do
190
+ stub_call
191
+ response = subject.unblock_affilate id: 1, affiliate_id: 123
192
+ expect(a_request(:post, url).with(
193
+ body: hash_including({'Method' => 'unblockAffilate','id' => '1','affiliate_id' => '123'}))
194
+ ).to have_been_made
195
+ end
196
+
197
+ context 'when required params are missing' do
198
+ it 'fails without id' do
199
+ expect { subject.unblock_affilate affiliate_id: 1 }.to raise_error ArgumentError
200
+ end
201
+ it 'fails without affiliate_id' do
202
+ expect { subject.unblock_affilate id: 10 }.to raise_error ArgumentError
203
+ end
204
+ end
205
+ end
206
+
207
+
208
+ describe '#add_target_country' do
209
+ it 'makes a proper request call' do
210
+ stub_call
211
+ response = subject.add_target_country id: 1, country_code: 'US'
212
+ expect(a_request(:post, url).with(
213
+ body: hash_including({'Method' => 'addTargetCountry','id' => '1','country_code' => 'US'}))
214
+ ).to have_been_made
215
+ end
216
+
217
+ context 'when required params are missing' do
218
+ it 'fails without id' do
219
+ expect { subject.add_target_country country_code: 1 }.to raise_error ArgumentError
220
+ end
221
+ it 'fails without country_code' do
222
+ expect { subject.add_target_country id: 10 }.to raise_error ArgumentError
223
+ end
224
+ end
225
+ end
226
+
227
+ describe '#add_group' do
228
+ it 'makes a proper request call' do
229
+ stub_call
230
+ response = subject.add_group id: 1, group_id: 123
231
+ expect(a_request(:post, url).with(
232
+ body: hash_including({'Method' => 'addGroup','id' => '1','group_id' => '123'}))
233
+ ).to have_been_made
234
+ end
235
+
236
+ context 'when required params are missing' do
237
+ it 'fails without id' do
238
+ expect { subject.add_group group_id: 1 }.to raise_error ArgumentError
239
+ end
240
+ it 'fails without group_id' do
241
+ expect { subject.add_group id: 10 }.to raise_error ArgumentError
242
+ end
243
+ end
244
+ end
172
245
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hasoffersv3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maximilian Seifert
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-10-17 00:00:00.000000000 Z
12
+ date: 2016-10-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport