responsys-api 0.2.5 → 0.2.6
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 +4 -4
- data/.travis.yml +3 -1
- data/README.md +7 -3
- data/lib/responsys/api/campaign.rb +3 -3
- data/lib/responsys/api/client.rb +26 -2
- data/lib/responsys/api/list.rb +5 -9
- data/lib/responsys/api/object/custom_event.rb +1 -1
- data/lib/responsys/api/object/record_data.rb +1 -1
- data/lib/responsys/api/session.rb +3 -12
- data/lib/responsys/configuration.rb +98 -8
- data/lib/responsys/exceptions.rb +25 -0
- data/lib/responsys/i18n/en.yml +4 -35
- data/lib/responsys/member.rb +43 -28
- data/lib/responsys/monkey_patches.rb +17 -0
- data/lib/responsys_api.rb +2 -1
- data/responsys-api.gemspec +7 -1
- data/spec/api/client_spec.rb +18 -0
- data/spec/configuration_spec.rb +162 -0
- data/spec/fixtures/vcr_cassettes/member/has_subscribed.yml +1037 -0
- data/spec/member_spec.rb +30 -10
- data/spec/spec_helper.rb +1 -2
- data/spec/test_data.yml +6 -3
- metadata +51 -5
- data/lib/responsys/exceptions/all.rb +0 -1
- data/lib/responsys/exceptions/parameter_exception.rb +0 -7
data/spec/member_spec.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require "spec_helper.rb"
|
2
|
-
require "responsys/api/client"
|
3
2
|
|
4
3
|
describe Responsys::Member do
|
5
4
|
|
@@ -10,33 +9,35 @@ describe Responsys::Member do
|
|
10
9
|
end
|
11
10
|
|
12
11
|
context "New member" do
|
12
|
+
before(:each) do
|
13
|
+
@new_user_email = DATA[:users][:new_user4][:EMAIL_ADDRESS]
|
14
|
+
@member = Responsys::Member.new(@new_user_email, nil)
|
15
|
+
end
|
13
16
|
|
14
|
-
|
17
|
+
it "should call mergeListMembers" do
|
18
|
+
expect_any_instance_of(Responsys::Api::Client).to receive(:merge_list_members_riid).with(@list, kind_of(Responsys::Api::Object::RecordData), kind_of(Responsys::Api::Object::ListMergeRule))
|
19
|
+
@member.add_to_list(@list)
|
15
20
|
end
|
16
21
|
|
17
22
|
end
|
18
23
|
|
19
24
|
context "Subscribing" do
|
20
25
|
|
21
|
-
let(:connection) { double "connection" }
|
22
26
|
before(:each) do
|
23
|
-
allow(Responsys::Api::Client).to receive(:instance).and_return(connection)
|
24
27
|
@member = Responsys::Member.new(@email)
|
25
28
|
@query_column = Responsys::Api::Object::QueryColumn.new("EMAIL_ADDRESS")
|
26
29
|
end
|
27
30
|
|
28
31
|
it "should check the user is present in the list" do
|
29
|
-
expect(@member).to receive(:present_in_list?).with(@list)
|
32
|
+
expect(@member).to receive(:present_in_list?).with(@list, true)
|
30
33
|
|
31
34
|
@member.subscribe(@list)
|
32
35
|
end
|
33
36
|
|
34
37
|
it "should check the user has subscribed" do
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
expect(@member.subscribed?(@list)).to eq(true)
|
38
|
+
VCR.use_cassette("member/has_subscribed") do
|
39
|
+
expect(@member.subscribed?(@list)).to eq(true)
|
40
|
+
end
|
40
41
|
end
|
41
42
|
|
42
43
|
end
|
@@ -124,4 +125,23 @@ describe Responsys::Member do
|
|
124
125
|
end
|
125
126
|
|
126
127
|
end
|
128
|
+
|
129
|
+
context "Disabled GEM" do
|
130
|
+
before(:all) do
|
131
|
+
Responsys.configure { |config| config.settings[:enabled] = false }
|
132
|
+
end
|
133
|
+
|
134
|
+
after(:all) do
|
135
|
+
Responsys.configure { |config| config.settings[:enabled] = true }
|
136
|
+
end
|
137
|
+
|
138
|
+
it "should not make any call" do
|
139
|
+
email = DATA[:users][:user1][:EMAIL_ADDRESS]
|
140
|
+
list = Responsys::Api::Object::InteractObject.new(DATA[:folder],DATA[:lists][:list1][:name])
|
141
|
+
query_column = Responsys::Api::Object::QueryColumn.new("EMAIL_ADDRESS")
|
142
|
+
|
143
|
+
expect_any_instance_of(Responsys::Api::SessionPool).to_not receive(:with)
|
144
|
+
expect(Responsys::Member.new(email).subscribe(list)).to eq("disabled")
|
145
|
+
end
|
146
|
+
end
|
127
147
|
end
|
data/spec/spec_helper.rb
CHANGED
data/spec/test_data.yml
CHANGED
@@ -15,6 +15,10 @@
|
|
15
15
|
:EMAIL_ADDRESS: user3@email.com
|
16
16
|
:EMAIL_PERMISSION_STATUS: O
|
17
17
|
:MOBILE_NUMBER: "0000000000"
|
18
|
+
:new_user4: &new_user4
|
19
|
+
:EMAIL_ADDRESS: newuser@email.com
|
20
|
+
:EMAIL_PERMISSION_STATUS: O
|
21
|
+
:MOBILE_NUMBER: "0000000000"
|
18
22
|
|
19
23
|
:lists:
|
20
24
|
:list1:
|
@@ -39,7 +43,7 @@
|
|
39
43
|
:pet1:
|
40
44
|
:id: 111111111
|
41
45
|
:name: rspec_pet1
|
42
|
-
|
46
|
+
|
43
47
|
:records:
|
44
48
|
:user1:
|
45
49
|
:MONTHLY_PURCH: 300
|
@@ -48,5 +52,4 @@
|
|
48
52
|
:supplement_tables:
|
49
53
|
:supplement_table1:
|
50
54
|
:name: supplement_table1_name
|
51
|
-
:folder_name: supplement_table1_folder
|
52
|
-
|
55
|
+
:folder_name: supplement_table1_folder
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: responsys-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan DeMeyere
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2016-08-19 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rubyntlm
|
@@ -89,6 +89,48 @@ dependencies:
|
|
89
89
|
- - '='
|
90
90
|
- !ruby/object:Gem::Version
|
91
91
|
version: 2.1.3
|
92
|
+
- !ruby/object:Gem::Dependency
|
93
|
+
name: rack
|
94
|
+
requirement: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - "~>"
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: 1.6.4
|
99
|
+
type: :development
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - "~>"
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: 1.6.4
|
106
|
+
- !ruby/object:Gem::Dependency
|
107
|
+
name: json
|
108
|
+
requirement: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - "~>"
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: 1.8.3
|
113
|
+
type: :development
|
114
|
+
prerelease: false
|
115
|
+
version_requirements: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - "~>"
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: 1.8.3
|
120
|
+
- !ruby/object:Gem::Dependency
|
121
|
+
name: tins
|
122
|
+
requirement: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - "~>"
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: 1.6.0
|
127
|
+
type: :development
|
128
|
+
prerelease: false
|
129
|
+
version_requirements: !ruby/object:Gem::Requirement
|
130
|
+
requirements:
|
131
|
+
- - "~>"
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 1.6.0
|
92
134
|
- !ruby/object:Gem::Dependency
|
93
135
|
name: bundler
|
94
136
|
requirement: !ruby/object:Gem::Requirement
|
@@ -213,12 +255,12 @@ files:
|
|
213
255
|
- lib/responsys/api/session_pool.rb
|
214
256
|
- lib/responsys/api/table.rb
|
215
257
|
- lib/responsys/configuration.rb
|
216
|
-
- lib/responsys/exceptions
|
217
|
-
- lib/responsys/exceptions/parameter_exception.rb
|
258
|
+
- lib/responsys/exceptions.rb
|
218
259
|
- lib/responsys/helper.rb
|
219
260
|
- lib/responsys/i18n/en.yml
|
220
261
|
- lib/responsys/i18n/fr.yml
|
221
262
|
- lib/responsys/member.rb
|
263
|
+
- lib/responsys/monkey_patches.rb
|
222
264
|
- lib/responsys_api.rb
|
223
265
|
- responsys-api.gemspec
|
224
266
|
- spec/api/campaign_spec.rb
|
@@ -231,6 +273,7 @@ files:
|
|
231
273
|
- spec/api/session_spec.rb
|
232
274
|
- spec/api/table_spec.rb
|
233
275
|
- spec/api_credentials.sample.yml
|
276
|
+
- spec/configuration_spec.rb
|
234
277
|
- spec/fixtures/vcr_cassettes/api/campaign/trigger_custom_event_1.yml
|
235
278
|
- spec/fixtures/vcr_cassettes/api/campaign/trigger_custom_event_2.yml
|
236
279
|
- spec/fixtures/vcr_cassettes/api/campaign/trigger_message_1.yml
|
@@ -246,6 +289,7 @@ files:
|
|
246
289
|
- spec/fixtures/vcr_cassettes/api/table/create_with_pk.yml
|
247
290
|
- spec/fixtures/vcr_cassettes/api/table/delete_with_pk.yml
|
248
291
|
- spec/fixtures/vcr_cassettes/api/table/merge_table_records_with_pk.yml
|
292
|
+
- spec/fixtures/vcr_cassettes/member/has_subscribed.yml
|
249
293
|
- spec/fixtures/vcr_cassettes/member/present1.yml
|
250
294
|
- spec/fixtures/vcr_cassettes/member/present2.yml
|
251
295
|
- spec/fixtures/vcr_cassettes/member/present3.yml
|
@@ -278,7 +322,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
278
322
|
version: '0'
|
279
323
|
requirements: []
|
280
324
|
rubyforge_project:
|
281
|
-
rubygems_version: 2.
|
325
|
+
rubygems_version: 2.4.8
|
282
326
|
signing_key:
|
283
327
|
specification_version: 4
|
284
328
|
summary: See the github repository for further information about the usage and the
|
@@ -294,6 +338,7 @@ test_files:
|
|
294
338
|
- spec/api/session_spec.rb
|
295
339
|
- spec/api/table_spec.rb
|
296
340
|
- spec/api_credentials.sample.yml
|
341
|
+
- spec/configuration_spec.rb
|
297
342
|
- spec/fixtures/vcr_cassettes/api/campaign/trigger_custom_event_1.yml
|
298
343
|
- spec/fixtures/vcr_cassettes/api/campaign/trigger_custom_event_2.yml
|
299
344
|
- spec/fixtures/vcr_cassettes/api/campaign/trigger_message_1.yml
|
@@ -309,6 +354,7 @@ test_files:
|
|
309
354
|
- spec/fixtures/vcr_cassettes/api/table/create_with_pk.yml
|
310
355
|
- spec/fixtures/vcr_cassettes/api/table/delete_with_pk.yml
|
311
356
|
- spec/fixtures/vcr_cassettes/api/table/merge_table_records_with_pk.yml
|
357
|
+
- spec/fixtures/vcr_cassettes/member/has_subscribed.yml
|
312
358
|
- spec/fixtures/vcr_cassettes/member/present1.yml
|
313
359
|
- spec/fixtures/vcr_cassettes/member/present2.yml
|
314
360
|
- spec/fixtures/vcr_cassettes/member/present3.yml
|
@@ -1 +0,0 @@
|
|
1
|
-
require "responsys/exceptions/parameter_exception"
|