sendgrid4r 1.11.0 → 1.12.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 (202) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +6 -1
  3. data/exe/sg +5 -0
  4. data/lib/sendgrid4r/cli/api_keys/api_key.rb +53 -0
  5. data/lib/sendgrid4r/cli/api_keys/permission.rb +15 -0
  6. data/lib/sendgrid4r/cli/campaign/campaign.rb +134 -0
  7. data/lib/sendgrid4r/cli/campaign/contact/contact.rb +25 -0
  8. data/lib/sendgrid4r/cli/campaign/contact/custom_field.rb +42 -0
  9. data/lib/sendgrid4r/cli/campaign/contact/list.rb +71 -0
  10. data/lib/sendgrid4r/cli/campaign/contact/recipient.rb +78 -0
  11. data/lib/sendgrid4r/cli/campaign/contact/reserved_field.rb +17 -0
  12. data/lib/sendgrid4r/cli/campaign/contact/segment.rb +96 -0
  13. data/lib/sendgrid4r/cli/campaign/sender.rb +83 -0
  14. data/lib/sendgrid4r/cli/cancel_schedules/batch_id.rb +23 -0
  15. data/lib/sendgrid4r/cli/cancel_schedules/cancel_schedule.rb +55 -0
  16. data/lib/sendgrid4r/cli/category.rb +16 -0
  17. data/lib/sendgrid4r/cli/ipam/activity.rb +16 -0
  18. data/lib/sendgrid4r/cli/ipam/ipam.rb +14 -0
  19. data/lib/sendgrid4r/cli/ipam/whitelist.rb +39 -0
  20. data/lib/sendgrid4r/cli/ips/address.rb +48 -0
  21. data/lib/sendgrid4r/cli/ips/ip.rb +17 -0
  22. data/lib/sendgrid4r/cli/ips/pool.rb +48 -0
  23. data/lib/sendgrid4r/cli/ips/warmup.rb +39 -0
  24. data/lib/sendgrid4r/cli/mail.rb +34 -0
  25. data/lib/sendgrid4r/cli/settings/enforced_tls.rb +24 -0
  26. data/lib/sendgrid4r/cli/settings/mail.rb +171 -0
  27. data/lib/sendgrid4r/cli/settings/partner.rb +34 -0
  28. data/lib/sendgrid4r/cli/settings/settings.rb +20 -0
  29. data/lib/sendgrid4r/cli/settings/tracking.rb +92 -0
  30. data/lib/sendgrid4r/cli/sg.rb +55 -0
  31. data/lib/sendgrid4r/cli/sg_thor.rb +34 -0
  32. data/lib/sendgrid4r/cli/stats/advanced.rb +72 -0
  33. data/lib/sendgrid4r/cli/stats/category.rb +35 -0
  34. data/lib/sendgrid4r/cli/stats/global.rb +18 -0
  35. data/lib/sendgrid4r/cli/stats/parse.rb +18 -0
  36. data/lib/sendgrid4r/cli/stats/stats.rb +23 -0
  37. data/lib/sendgrid4r/cli/stats/subuser.rb +67 -0
  38. data/lib/sendgrid4r/cli/subusers/monitor.rb +44 -0
  39. data/lib/sendgrid4r/cli/subusers/subuser.rb +77 -0
  40. data/lib/sendgrid4r/cli/suppressions/block.rb +43 -0
  41. data/lib/sendgrid4r/cli/suppressions/bounce.rb +41 -0
  42. data/lib/sendgrid4r/cli/suppressions/global_unsubscribe.rb +43 -0
  43. data/lib/sendgrid4r/cli/suppressions/group.rb +56 -0
  44. data/lib/sendgrid4r/cli/suppressions/group_unsubscribe.rb +34 -0
  45. data/lib/sendgrid4r/cli/suppressions/invalid_email.rb +43 -0
  46. data/lib/sendgrid4r/cli/suppressions/spam_report.rb +43 -0
  47. data/lib/sendgrid4r/cli/suppressions/suppression.rb +36 -0
  48. data/lib/sendgrid4r/cli/templates/template.rb +51 -0
  49. data/lib/sendgrid4r/cli/templates/version.rb +78 -0
  50. data/lib/sendgrid4r/cli/user.rb +86 -0
  51. data/lib/sendgrid4r/cli/webhooks/event.rb +53 -0
  52. data/lib/sendgrid4r/cli/webhooks/parse.rb +15 -0
  53. data/lib/sendgrid4r/cli/webhooks/webhook.rb +14 -0
  54. data/lib/sendgrid4r/cli/whitelabel/domain.rb +117 -0
  55. data/lib/sendgrid4r/cli/whitelabel/ip.rb +52 -0
  56. data/lib/sendgrid4r/cli/whitelabel/link.rb +96 -0
  57. data/lib/sendgrid4r/cli/whitelabel/whitelabel.rb +17 -0
  58. data/lib/sendgrid4r/client.rb +4 -1
  59. data/lib/sendgrid4r/factory/campaign_factory.rb +1 -1
  60. data/lib/sendgrid4r/factory/condition_factory.rb +2 -2
  61. data/lib/sendgrid4r/factory/event_factory.rb +21 -0
  62. data/lib/sendgrid4r/rest/api_keys_management/api_keys.rb +5 -5
  63. data/lib/sendgrid4r/rest/api_keys_management/permissions.rb +3 -1
  64. data/lib/sendgrid4r/rest/blocks.rb +2 -2
  65. data/lib/sendgrid4r/rest/bounces.rb +2 -2
  66. data/lib/sendgrid4r/rest/cancel_scheduled_sends.rb +12 -4
  67. data/lib/sendgrid4r/rest/categories.rb +1 -1
  68. data/lib/sendgrid4r/rest/email_activity.rb +1 -1
  69. data/lib/sendgrid4r/rest/invalid_emails.rb +2 -2
  70. data/lib/sendgrid4r/rest/ip_access_management.rb +12 -4
  71. data/lib/sendgrid4r/rest/ips/addresses.rb +4 -4
  72. data/lib/sendgrid4r/rest/ips/pools.rb +4 -4
  73. data/lib/sendgrid4r/rest/ips/warmup.rb +3 -3
  74. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/custom_fields.rb +9 -3
  75. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/lists.rb +7 -5
  76. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/recipients.rb +22 -7
  77. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/reserved_fields.rb +3 -1
  78. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/segments.rb +7 -5
  79. data/lib/sendgrid4r/rest/marketing_campaigns/marketing_campaigns.rb +8 -8
  80. data/lib/sendgrid4r/rest/marketing_campaigns/senders.rb +4 -4
  81. data/lib/sendgrid4r/rest/request.rb +6 -4
  82. data/lib/sendgrid4r/rest/settings/enforced_tls.rb +6 -2
  83. data/lib/sendgrid4r/rest/settings/mail.rb +71 -17
  84. data/lib/sendgrid4r/rest/settings/partner.rb +3 -3
  85. data/lib/sendgrid4r/rest/settings/tracking.rb +17 -9
  86. data/lib/sendgrid4r/rest/sm/global_unsubscribes.rb +5 -3
  87. data/lib/sendgrid4r/rest/sm/groups.rb +4 -4
  88. data/lib/sendgrid4r/rest/sm/suppressions.rb +6 -3
  89. data/lib/sendgrid4r/rest/spam_reports.rb +2 -2
  90. data/lib/sendgrid4r/rest/stats/advanced.rb +8 -8
  91. data/lib/sendgrid4r/rest/stats/category.rb +2 -2
  92. data/lib/sendgrid4r/rest/stats/global.rb +1 -1
  93. data/lib/sendgrid4r/rest/stats/parse.rb +1 -1
  94. data/lib/sendgrid4r/rest/stats/subuser.rb +4 -4
  95. data/lib/sendgrid4r/rest/subusers.rb +15 -10
  96. data/lib/sendgrid4r/rest/transactional_templates/templates.rb +12 -4
  97. data/lib/sendgrid4r/rest/transactional_templates/versions.rb +4 -4
  98. data/lib/sendgrid4r/rest/users.rb +9 -9
  99. data/lib/sendgrid4r/rest/webhooks/event.rb +2 -2
  100. data/lib/sendgrid4r/rest/webhooks/parse.rb +1 -1
  101. data/lib/sendgrid4r/rest/whitelabel/domains.rb +10 -11
  102. data/lib/sendgrid4r/rest/whitelabel/ips.rb +4 -4
  103. data/lib/sendgrid4r/rest/whitelabel/links.rb +8 -8
  104. data/lib/sendgrid4r/version.rb +1 -1
  105. data/lib/sendgrid4r.rb +57 -0
  106. data/sendgrid4r.gemspec +3 -1
  107. data/spec/cli/api_keys/api_key_spec.rb +77 -0
  108. data/spec/cli/api_keys/permission_spec.rb +29 -0
  109. data/spec/cli/campaign/campaign_spec.rb +136 -0
  110. data/spec/cli/campaign/contact/custom_field_spec.rb +48 -0
  111. data/spec/cli/campaign/contact/list_spec.rb +88 -0
  112. data/spec/cli/campaign/contact/recipient_spec.rb +93 -0
  113. data/spec/cli/campaign/contact/reserved_field_spec.rb +20 -0
  114. data/spec/cli/campaign/contact/segment_spec.rb +93 -0
  115. data/spec/cli/campaign/sender_spec.rb +83 -0
  116. data/spec/cli/cancel_schedules/batch_id_spec.rb +33 -0
  117. data/spec/cli/cancel_schedules/cancel_schedule_spec.rb +69 -0
  118. data/spec/cli/category_spec.rb +23 -0
  119. data/spec/cli/ipam/activity_spec.rb +21 -0
  120. data/spec/cli/ipam/ipam_spec.rb +26 -0
  121. data/spec/cli/ipam/whitelist_spec.rb +47 -0
  122. data/spec/cli/ips/address_spec.rb +57 -0
  123. data/spec/cli/ips/ip_spec.rb +33 -0
  124. data/spec/cli/ips/pool_spec.rb +57 -0
  125. data/spec/cli/ips/warmup_spec.rb +47 -0
  126. data/spec/cli/mail_spec.rb +37 -0
  127. data/spec/cli/settings/enforced_tls_spec.rb +30 -0
  128. data/spec/cli/settings/mail_spec.rb +255 -0
  129. data/spec/cli/settings/partner_spec.rb +47 -0
  130. data/spec/cli/settings/settings_spec.rb +40 -0
  131. data/spec/cli/settings/tracking_spec.rb +128 -0
  132. data/spec/cli/sg_spec.rb +82 -0
  133. data/spec/cli/stats/advanced_spec.rb +137 -0
  134. data/spec/cli/stats/category_spec.rb +57 -0
  135. data/spec/cli/stats/global_spec.rb +32 -0
  136. data/spec/cli/stats/parse_spec.rb +32 -0
  137. data/spec/cli/stats/stats_spec.rb +40 -0
  138. data/spec/cli/stats/subuser_spec.rb +104 -0
  139. data/spec/cli/subusers/monitor_spec.rb +52 -0
  140. data/spec/cli/subusers/subuser_spec.rb +88 -0
  141. data/spec/cli/suppressions/block_spec.rb +60 -0
  142. data/spec/cli/suppressions/bounce_spec.rb +58 -0
  143. data/spec/cli/suppressions/global_unsubscribe_spec.rb +59 -0
  144. data/spec/cli/suppressions/group_spec.rb +69 -0
  145. data/spec/cli/suppressions/group_unsubscribe_spec.rb +41 -0
  146. data/spec/cli/suppressions/invalid_email_spec.rb +60 -0
  147. data/spec/cli/suppressions/spam_report_spec.rb +60 -0
  148. data/spec/cli/suppressions/suppression_spec.rb +68 -0
  149. data/spec/cli/templates/template_spec.rb +65 -0
  150. data/spec/cli/templates/version_spec.rb +71 -0
  151. data/spec/cli/user_spec.rb +82 -0
  152. data/spec/cli/webhooks/event_spec.rb +67 -0
  153. data/spec/cli/webhooks/parse_spec.rb +20 -0
  154. data/spec/cli/webhooks/webhook_spec.rb +28 -0
  155. data/spec/cli/whitelabel/domain_spec.rb +112 -0
  156. data/spec/cli/whitelabel/ip_spec.rb +61 -0
  157. data/spec/cli/whitelabel/link_spec.rb +110 -0
  158. data/spec/cli/whitelabel/whitelabel_spec.rb +27 -0
  159. data/spec/client_spec.rb +1 -1
  160. data/spec/factory/campaign_factory_spec.rb +2 -2
  161. data/spec/factory/event_factory_spec.rb +36 -0
  162. data/spec/rest/api_keys_management/api_keys_spec.rb +24 -24
  163. data/spec/rest/api_keys_management/permissions_spec.rb +8 -10
  164. data/spec/rest/blocks_spec.rb +14 -18
  165. data/spec/rest/bounces_spec.rb +28 -32
  166. data/spec/rest/cancel_scheduled_sends_spec.rb +15 -19
  167. data/spec/rest/categories_spec.rb +8 -10
  168. data/spec/rest/email_activity_spec.rb +18 -22
  169. data/spec/rest/invalid_emails_spec.rb +19 -23
  170. data/spec/rest/ip_access_management_spec.rb +46 -52
  171. data/spec/rest/ips/addresses_spec.rb +21 -25
  172. data/spec/rest/ips/pools_spec.rb +20 -24
  173. data/spec/rest/ips/warmup_spec.rb +11 -15
  174. data/spec/rest/marketing_campaigns/contacts/custom_fields_spec.rb +26 -30
  175. data/spec/rest/marketing_campaigns/contacts/lists_spec.rb +58 -66
  176. data/spec/rest/marketing_campaigns/contacts/recipients_spec.rb +77 -87
  177. data/spec/rest/marketing_campaigns/contacts/reserved_fields_spec.rb +46 -50
  178. data/spec/rest/marketing_campaigns/contacts/segments_spec.rb +75 -78
  179. data/spec/rest/marketing_campaigns/marketing_campaigns_spec.rb +92 -94
  180. data/spec/rest/marketing_campaigns/senders_spec.rb +51 -51
  181. data/spec/rest/settings/enforced_tls_spec.rb +5 -7
  182. data/spec/rest/settings/mail_spec.rb +89 -60
  183. data/spec/rest/settings/partner_spec.rb +5 -7
  184. data/spec/rest/settings/settings_spec.rb +18 -22
  185. data/spec/rest/settings/tracking_spec.rb +26 -34
  186. data/spec/rest/sm/global_unsubscribes_spec.rb +9 -13
  187. data/spec/rest/sm/groups_spec.rb +24 -28
  188. data/spec/rest/sm/sm_spec.rb +15 -15
  189. data/spec/rest/sm/suppressions_spec.rb +34 -44
  190. data/spec/rest/spam_reports_spec.rb +19 -23
  191. data/spec/rest/stats/advanced_spec.rb +4 -4
  192. data/spec/rest/stats/global_spec.rb +0 -21
  193. data/spec/rest/subusers_spec.rb +38 -47
  194. data/spec/rest/transactional_templates/templates_spec.rb +29 -33
  195. data/spec/rest/transactional_templates/versions_spec.rb +11 -93
  196. data/spec/rest/users_spec.rb +42 -54
  197. data/spec/rest/webhooks/event_spec.rb +16 -18
  198. data/spec/rest/webhooks/parse_spec.rb +16 -20
  199. data/spec/rest/whitelabel/domains_spec.rb +93 -100
  200. data/spec/rest/whitelabel/ips_spec.rb +28 -32
  201. data/spec/rest/whitelabel/links_spec.rb +41 -45
  202. metadata +181 -4
@@ -34,12 +34,10 @@ module SendGrid4r::REST::Settings
34
34
  end
35
35
 
36
36
  let(:enforced_tls) do
37
- JSON.parse(
38
- '{'\
39
- '"require_tls": true,'\
40
- '"require_valid_cert": false'\
41
- '}'
42
- )
37
+ '{'\
38
+ '"require_tls": true,'\
39
+ '"require_valid_cert": false'\
40
+ '}'
43
41
  end
44
42
 
45
43
  it '#get_enforced_tls' do
@@ -55,7 +53,7 @@ module SendGrid4r::REST::Settings
55
53
  end
56
54
 
57
55
  it 'creates enforced_tls instance' do
58
- actual = EnforcedTls.create_enforced_tls(enforced_tls)
56
+ actual = EnforcedTls.create_enforced_tls(JSON.parse(enforced_tls))
59
57
  expect(actual.require_tls).to eq(true)
60
58
  expect(actual.require_valid_cert).to eq(false)
61
59
  end
@@ -116,6 +116,24 @@ module SendGrid4r::REST::Settings
116
116
  expect(edit.email).to eq(ENV['MAIL'])
117
117
  end
118
118
 
119
+ it '#get_settings_spam_check' do
120
+ actual = @client.get_settings_spam_check
121
+ expect(actual).to be_a(Mail::SpamCheck)
122
+ end
123
+
124
+ it '#patch_settings_spam_check' do
125
+ # get original settings
126
+ actual = @client.get_settings_spam_check
127
+ # patch the value
128
+ actual.enabled = false
129
+ actual.url = 'http://test.test.test'
130
+ actual.max_score = 4
131
+ edit = @client.patch_settings_spam_check(params: actual)
132
+ expect(edit.enabled).to eq(false)
133
+ expect(edit.url).to eq('http://test.test.test')
134
+ expect(edit.max_score).to eq(4)
135
+ end
136
+
119
137
  it '#get_settings_template' do
120
138
  actual = @client.get_settings_template
121
139
  expect(actual).to be_a(Mail::Template)
@@ -154,15 +172,13 @@ module SendGrid4r::REST::Settings
154
172
  end
155
173
 
156
174
  let(:address_whitelist) do
157
- JSON.parse(
158
- '{'\
159
- '"enabled": true,'\
160
- '"list": ['\
161
- '"email1@example.com",'\
162
- '"example.com"'\
163
- ']'\
164
- '}'
165
- )
175
+ '{'\
176
+ '"enabled": true,'\
177
+ '"list": ['\
178
+ '"email1@example.com",'\
179
+ '"example.com"'\
180
+ ']'\
181
+ '}'
166
182
  end
167
183
 
168
184
  it '#get_settings_address_whitelist' do
@@ -178,19 +194,17 @@ module SendGrid4r::REST::Settings
178
194
  end
179
195
 
180
196
  it 'creates address_whitelist instance' do
181
- actual = Mail.create_address_whitelist(address_whitelist)
197
+ actual = Mail.create_address_whitelist(JSON.parse(address_whitelist))
182
198
  expect(actual.enabled).to eq(true)
183
199
  expect(actual.list).to be_a(Array)
184
200
  actual.list.each { |address| expect(address).to be_a(String) }
185
201
  end
186
202
 
187
203
  let(:bcc) do
188
- JSON.parse(
189
- '{'\
190
- '"enabled": true,'\
191
- '"email": "email@example.com"'\
192
- '}'
193
- )
204
+ '{'\
205
+ '"enabled": true,'\
206
+ '"email": "email@example.com"'\
207
+ '}'
194
208
  end
195
209
 
196
210
  it '#get_settings_bcc' do
@@ -206,19 +220,17 @@ module SendGrid4r::REST::Settings
206
220
  end
207
221
 
208
222
  it 'creates bcc instance' do
209
- actual = Mail.create_bcc(bcc)
223
+ actual = Mail.create_bcc(JSON.parse(bcc))
210
224
  expect(actual.enabled).to eq(true)
211
225
  expect(actual.email).to eq('email@example.com')
212
226
  end
213
227
 
214
228
  let(:bounce_purge) do
215
- JSON.parse(
216
- '{'\
217
- '"enabled": true,'\
218
- '"hard_bounces": 1,'\
219
- '"soft_bounces": 1'\
220
- '}'
221
- )
229
+ '{'\
230
+ '"enabled": true,'\
231
+ '"hard_bounces": 1,'\
232
+ '"soft_bounces": 1'\
233
+ '}'
222
234
  end
223
235
 
224
236
  it '#get_settings_bounce_purge' do
@@ -234,20 +246,18 @@ module SendGrid4r::REST::Settings
234
246
  end
235
247
 
236
248
  it 'creates bounce_purge instance' do
237
- actual = Mail.create_bounce_purge(bounce_purge)
249
+ actual = Mail.create_bounce_purge(JSON.parse(bounce_purge))
238
250
  expect(actual.enabled).to eq(true)
239
251
  expect(actual.hard_bounces).to eq(1)
240
252
  expect(actual.soft_bounces).to eq(1)
241
253
  end
242
254
 
243
255
  let(:footer) do
244
- JSON.parse(
245
- '{'\
246
- '"enabled": true,'\
247
- '"html_content": "abc...",'\
248
- '"plain_content": "xyz..."'\
249
- '}'
250
- )
256
+ '{'\
257
+ '"enabled": true,'\
258
+ '"html_content": "abc...",'\
259
+ '"plain_content": "xyz..."'\
260
+ '}'
251
261
  end
252
262
 
253
263
  it '#get_settings_footer' do
@@ -263,19 +273,17 @@ module SendGrid4r::REST::Settings
263
273
  end
264
274
 
265
275
  it 'creates footer instance' do
266
- actual = Mail.create_footer(footer)
276
+ actual = Mail.create_footer(JSON.parse(footer))
267
277
  expect(actual.enabled).to eq(true)
268
278
  expect(actual.html_content).to eq('abc...')
269
279
  expect(actual.plain_content).to eq('xyz...')
270
280
  end
271
281
 
272
282
  let(:forward_bounce) do
273
- JSON.parse(
274
- '{'\
275
- '"enabled": true,'\
276
- '"email": "email address"'\
277
- '}'
278
- )
283
+ '{'\
284
+ '"enabled": true,'\
285
+ '"email": "email address"'\
286
+ '}'
279
287
  end
280
288
 
281
289
  it '#get_settings_forward_bounce' do
@@ -291,18 +299,16 @@ module SendGrid4r::REST::Settings
291
299
  end
292
300
 
293
301
  it 'creates forward_bounce instance' do
294
- actual = Mail.create_forward_bounce(forward_bounce)
302
+ actual = Mail.create_forward_bounce(JSON.parse(forward_bounce))
295
303
  expect(actual.enabled).to eq(true)
296
304
  expect(actual.email).to eq('email address')
297
305
  end
298
306
 
299
307
  let(:forward_spam) do
300
- JSON.parse(
301
- '{'\
302
- '"enabled": true,'\
303
- '"email": "email address"'\
304
- '}'
305
- )
308
+ '{'\
309
+ '"enabled": true,'\
310
+ '"email": "email address"'\
311
+ '}'
306
312
  end
307
313
 
308
314
  it '#get_settings_forward_spam' do
@@ -318,18 +324,43 @@ module SendGrid4r::REST::Settings
318
324
  end
319
325
 
320
326
  it 'creates forward_spam instance' do
321
- actual = Mail.create_forward_spam(forward_spam)
327
+ actual = Mail.create_forward_spam(JSON.parse(forward_spam))
322
328
  expect(actual.enabled).to eq(true)
323
329
  expect(actual.email).to eq('email address')
324
330
  end
325
331
 
332
+ let(:spam_check) do
333
+ '{'\
334
+ '"enabled": true,'\
335
+ '"url": "url",'\
336
+ '"max_score": 5'\
337
+ '}'
338
+ end
339
+
340
+ it '#get_settings_spam_check' do
341
+ allow(client).to receive(:execute).and_return(spam_check)
342
+ actual = client.get_settings_spam_check
343
+ expect(actual).to be_a(Mail::SpamCheck)
344
+ end
345
+
346
+ it '#patch_settings_spam_check' do
347
+ allow(client).to receive(:execute).and_return(spam_check)
348
+ actual = client.patch_settings_spam_check(params: nil)
349
+ expect(actual).to be_a(Mail::SpamCheck)
350
+ end
351
+
352
+ it 'creates spam_check instance' do
353
+ actual = Mail.create_spam_check(JSON.parse(spam_check))
354
+ expect(actual.enabled).to eq(true)
355
+ expect(actual.url).to eq('url')
356
+ expect(actual.max_score).to eq(5)
357
+ end
358
+
326
359
  let(:template) do
327
- JSON.parse(
328
- '{'\
329
- '"enabled": true,'\
330
- '"html_content": "..."'\
331
- '}'
332
- )
360
+ '{'\
361
+ '"enabled": true,'\
362
+ '"html_content": "..."'\
363
+ '}'
333
364
  end
334
365
 
335
366
  it '#get_settings_template' do
@@ -345,17 +376,15 @@ module SendGrid4r::REST::Settings
345
376
  end
346
377
 
347
378
  it 'creates template instance' do
348
- actual = Mail.create_template(template)
379
+ actual = Mail.create_template(JSON.parse(template))
349
380
  expect(actual.enabled).to eq(true)
350
381
  expect(actual.html_content).to eq('...')
351
382
  end
352
383
 
353
384
  let(:plain_content) do
354
- JSON.parse(
355
- '{'\
356
- '"enabled": true'\
357
- '}'
358
- )
385
+ '{'\
386
+ '"enabled": true'\
387
+ '}'
359
388
  end
360
389
 
361
390
  it '#get_settings_plain_content' do
@@ -371,7 +400,7 @@ module SendGrid4r::REST::Settings
371
400
  end
372
401
 
373
402
  it 'creates plain_content instance' do
374
- actual = Mail.create_plain_content(plain_content)
403
+ actual = Mail.create_plain_content(JSON.parse(plain_content))
375
404
  expect(actual.enabled).to eq(true)
376
405
  end
377
406
  end
@@ -39,12 +39,10 @@ module SendGrid4r::REST::Settings
39
39
  end
40
40
 
41
41
  let(:partner) do
42
- JSON.parse(
43
- '{'\
44
- '"enabled": true,'\
45
- '"license_key": "key"'\
46
- '}'
47
- )
42
+ '{'\
43
+ '"enabled": true,'\
44
+ '"license_key": "key"'\
45
+ '}'
48
46
  end
49
47
 
50
48
  it '#get_settings_new_relic' do
@@ -60,7 +58,7 @@ module SendGrid4r::REST::Settings
60
58
  end
61
59
 
62
60
  it 'creates partner instance' do
63
- actual = Partner.create_partner(partner)
61
+ actual = Partner.create_partner(JSON.parse(partner))
64
62
  expect(actual.enabled).to eq(true)
65
63
  expect(actual.license_key).to eq('key')
66
64
  end
@@ -9,33 +9,29 @@ module SendGrid4r::REST::Settings
9
9
  end
10
10
 
11
11
  let(:results) do
12
- JSON.parse(
13
- '{'\
14
- '"result": ['\
15
- '{'\
16
- '"name": "bcc",'\
17
- '"title": "BCC",'\
18
- '"description": "lorem ipsum... .",'\
19
- '"enabled": true'\
20
- '}'\
21
- ']'\
22
- '}'
23
- )
12
+ '{'\
13
+ '"result": ['\
14
+ '{'\
15
+ '"name": "bcc",'\
16
+ '"title": "BCC",'\
17
+ '"description": "lorem ipsum... .",'\
18
+ '"enabled": true'\
19
+ '}'\
20
+ ']'\
21
+ '}'
24
22
  end
25
23
 
26
24
  let(:result) do
27
- JSON.parse(
28
- '{'\
29
- '"name": "bcc",'\
30
- '"title": "BCC",'\
31
- '"description": "lorem ipsum... .",'\
32
- '"enabled": true'\
33
- '}'
34
- )
25
+ '{'\
26
+ '"name": "bcc",'\
27
+ '"title": "BCC",'\
28
+ '"description": "lorem ipsum... .",'\
29
+ '"enabled": true'\
30
+ '}'
35
31
  end
36
32
 
37
33
  it 'creates results instance' do
38
- actual = SendGrid4r::REST::Settings.create_results(results)
34
+ actual = SendGrid4r::REST::Settings.create_results(JSON.parse(results))
39
35
  expect(actual.result).to be_a(Array)
40
36
  actual.result.each do |result|
41
37
  expect(result).to be_a(Result)
@@ -43,7 +39,7 @@ module SendGrid4r::REST::Settings
43
39
  end
44
40
 
45
41
  it 'creates result instance' do
46
- actual = SendGrid4r::REST::Settings.create_result(result)
42
+ actual = SendGrid4r::REST::Settings.create_result(JSON.parse(result))
47
43
  expect(actual).to be_a(Result)
48
44
  expect(actual.name).to eq('bcc')
49
45
  expect(actual.title).to eq('BCC')
@@ -91,11 +91,9 @@ module SendGrid4r::REST::Settings
91
91
  end
92
92
 
93
93
  let(:click) do
94
- JSON.parse(
95
- '{'\
96
- '"enabled": true'\
97
- '}'
98
- )
94
+ '{'\
95
+ '"enabled": true'\
96
+ '}'
99
97
  end
100
98
 
101
99
  it '#get_settings_click' do
@@ -111,21 +109,19 @@ module SendGrid4r::REST::Settings
111
109
  end
112
110
 
113
111
  it 'creates click instance' do
114
- actual = Tracking.create_click(click)
112
+ actual = Tracking.create_click(JSON.parse(click))
115
113
  expect(actual.enabled).to eq(true)
116
114
  end
117
115
 
118
116
  let(:google_analytics) do
119
- JSON.parse(
120
- '{'\
121
- '"enabled": true,'\
122
- '"utm_source": "sendgrid.com",'\
123
- '"utm_medium": "email",'\
124
- '"utm_term": "",'\
125
- '"utm_content": "",'\
126
- '"utm_campaign": "website"'\
127
- '}'
128
- )
117
+ '{'\
118
+ '"enabled": true,'\
119
+ '"utm_source": "sendgrid.com",'\
120
+ '"utm_medium": "email",'\
121
+ '"utm_term": "",'\
122
+ '"utm_content": "",'\
123
+ '"utm_campaign": "website"'\
124
+ '}'
129
125
  end
130
126
 
131
127
  it '#get_settings_google_analytics' do
@@ -141,7 +137,7 @@ module SendGrid4r::REST::Settings
141
137
  end
142
138
 
143
139
  it 'creates google_analytics instance' do
144
- actual = Tracking.create_google_analytics(google_analytics)
140
+ actual = Tracking.create_google_analytics(JSON.parse(google_analytics))
145
141
  expect(actual.enabled).to eq(true)
146
142
  expect(actual.utm_source).to eq('sendgrid.com')
147
143
  expect(actual.utm_medium).to eq('email')
@@ -151,11 +147,9 @@ module SendGrid4r::REST::Settings
151
147
  end
152
148
 
153
149
  let(:open) do
154
- JSON.parse(
155
- '{'\
156
- '"enabled": true'\
157
- '}'
158
- )
150
+ '{'\
151
+ '"enabled": true'\
152
+ '}'
159
153
  end
160
154
 
161
155
  it '#get_settings_open' do
@@ -171,21 +165,19 @@ module SendGrid4r::REST::Settings
171
165
  end
172
166
 
173
167
  it 'creates open instance' do
174
- actual = Tracking.create_open(open)
168
+ actual = Tracking.create_open(JSON.parse(open))
175
169
  expect(actual.enabled).to eq(true)
176
170
  end
177
171
 
178
172
  let(:subscription) do
179
- JSON.parse(
180
- '{'\
181
- '"enabled": true,'\
182
- '"landing": "landing page html",'\
183
- '"url": "url",'\
184
- '"replace": "replacement tag",'\
185
- '"html_content": "html content",'\
186
- '"plain_content": "text content"'\
187
- '}'
188
- )
173
+ '{'\
174
+ '"enabled": true,'\
175
+ '"landing": "landing page html",'\
176
+ '"url": "url",'\
177
+ '"replace": "replacement tag",'\
178
+ '"html_content": "html content",'\
179
+ '"plain_content": "text content"'\
180
+ '}'
189
181
  end
190
182
 
191
183
  it '#get_settings_subscription' do
@@ -201,7 +193,7 @@ module SendGrid4r::REST::Settings
201
193
  end
202
194
 
203
195
  it 'creates subscription instance' do
204
- actual = Tracking.create_subscription(subscription)
196
+ actual = Tracking.create_subscription(JSON.parse(subscription))
205
197
  expect(actual.enabled).to eq(true)
206
198
  expect(actual.landing).to eq('landing page html')
207
199
  expect(actual.url).to eq('url')