govuk_notify_rails 2.1.2 → 3.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2bee5bf91a1c68af6ccf1952817eca1e2b5bbef952c24dad320aa133edaddf62
4
- data.tar.gz: fd15514c7fd2ba953d1513d75fe642e336233d434befcfbaaf1721cbf45195ee
3
+ metadata.gz: b7ae8e3403bc21d367702344fca21fdbccfb591089e9bfdaab0bef913345012e
4
+ data.tar.gz: 3f8ea35ea1389e0e420a73c9d698cb752b625254927a0e39b6114ab68ae6c820
5
5
  SHA512:
6
- metadata.gz: e2d8cc69c884f15e1c786ef6ef4c780df1cd0f43d118b75f64987c8854b2af4440547975cf26320118b77041ed9b100914bef48929ef52f660e5991796e1e60d
7
- data.tar.gz: 599acbc8839e5322526bca9f0232d64b6f5decfed34c62f7a65bcc11ef1a2aaa0df46c4dc320bc0727ddbaff2565100e3c14ceac233268c5cf94265723343b4e
6
+ metadata.gz: a3656b4fba827f8290881dbdd910152756c7b32c82809769244e20dcb84fbe2617464dadf78c897a6a1bf2fc59da778264ab1726210c1e0a759170a60ba94c7d
7
+ data.tar.gz: ea580374689d4755e68585a2e80dd135f92ae1ac9dba74404ae4b976b255b77c47aec514cd4909342176ae63e78e4480dcfe5253541ec2eb85fe515c02daaa49
@@ -7,10 +7,20 @@ module GovukNotifyRails
7
7
  end
8
8
 
9
9
  def deliver!(message)
10
- response = notify_client.send_email(
11
- payload_for(message)
12
- )
13
- message.govuk_notify_response = response
10
+ payload = payload_for(message)
11
+
12
+ responses = message.to.map do |to|
13
+ notify_client.send_email(
14
+ payload.merge(email_address: to)
15
+ )
16
+ end
17
+
18
+ message.govuk_notify_responses = responses
19
+
20
+ # For backwards compatibility
21
+ message.govuk_notify_response = responses.first
22
+
23
+ responses
14
24
  end
15
25
 
16
26
  private
@@ -21,11 +31,11 @@ module GovukNotifyRails
21
31
 
22
32
  def payload_for(message)
23
33
  {
24
- email_address: message.to.first,
25
34
  template_id: message.govuk_notify_template,
26
35
  reference: message.govuk_notify_reference,
27
36
  personalisation: message.govuk_notify_personalisation,
28
- email_reply_to_id: message.govuk_notify_email_reply_to
37
+ email_reply_to_id: message.govuk_notify_email_reply_to,
38
+ one_click_unsubscribe_url: message.govuk_notify_one_click_unsubscribe_url
29
39
  }.compact
30
40
  end
31
41
 
@@ -2,8 +2,12 @@ module Mail
2
2
  class Message
3
3
  attr_accessor :govuk_notify_template
4
4
  attr_accessor :govuk_notify_reference
5
+ attr_accessor :govuk_notify_email_reply_to
6
+ attr_accessor :govuk_notify_one_click_unsubscribe_url
7
+
5
8
  attr_accessor :govuk_notify_personalisation
9
+
6
10
  attr_accessor :govuk_notify_response
7
- attr_accessor :govuk_notify_email_reply_to
11
+ attr_accessor :govuk_notify_responses
8
12
  end
9
13
  end
@@ -6,6 +6,7 @@ module GovukNotifyRails
6
6
  attr_accessor :govuk_notify_reference
7
7
  attr_accessor :govuk_notify_personalisation
8
8
  attr_accessor :govuk_notify_email_reply_to
9
+ attr_accessor :govuk_notify_one_click_unsubscribe_url
9
10
 
10
11
  protected
11
12
 
@@ -19,6 +20,7 @@ module GovukNotifyRails
19
20
  message.govuk_notify_reference = govuk_notify_reference
20
21
  message.govuk_notify_personalisation = govuk_notify_personalisation
21
22
  message.govuk_notify_email_reply_to = govuk_notify_email_reply_to
23
+ message.govuk_notify_one_click_unsubscribe_url = govuk_notify_one_click_unsubscribe_url
22
24
  end
23
25
 
24
26
  def set_template(template)
@@ -37,6 +39,10 @@ module GovukNotifyRails
37
39
  self.govuk_notify_email_reply_to = address
38
40
  end
39
41
 
42
+ def set_one_click_unsubscribe_url(url)
43
+ self.govuk_notify_one_click_unsubscribe_url = url
44
+ end
45
+
40
46
  def _default_body
41
47
  'This is a GOV.UK Notify email with template %s and personalisation: %s' % [govuk_notify_template, govuk_notify_personalisation]
42
48
  end
@@ -1,3 +1,3 @@
1
1
  module GovukNotifyRails
2
- VERSION = '2.1.2'.freeze
2
+ VERSION = '3.0.0'.freeze
3
3
  end
@@ -2,6 +2,9 @@ class NotifyMailer < GovukNotifyRails::Mailer
2
2
  def test_email(user)
3
3
  set_template('9661d08a-486d-4c67-865e-ad976f17871d')
4
4
  set_reference('my_reference')
5
+ set_email_reply_to('527c131f-ef4b-4b5b-8f9b-3202581af277')
6
+ set_one_click_unsubscribe_url('https://example.com/unsubscribe?token=123456')
7
+
5
8
  set_personalisation(
6
9
  full_name: user.name
7
10
  )
@@ -181,3 +181,291 @@ NotifyMailer#test_email: processed outbound mail in 0.5ms
181
181
  NotifyMailer#test_email: processed outbound mail in 0.4ms
182
182
  NotifyMailer#test_email: processed outbound mail in 0.4ms
183
183
  NotifyMailer#test_email: processed outbound mail in 0.4ms
184
+ NotifyMailer#test_email: processed outbound mail in 4.8ms
185
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
186
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
187
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
188
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
189
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
190
+ NotifyMailer#test_email: processed outbound mail in 3.5ms
191
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
192
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
193
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
194
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
195
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
196
+ NotifyMailer#test_email: processed outbound mail in 3.6ms
197
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
198
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
199
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
200
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
201
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
202
+ NotifyMailer#test_email: processed outbound mail in 9.9ms
203
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
204
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
205
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
206
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
207
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
208
+ NotifyMailer#test_email: processed outbound mail in 9.1ms
209
+ NotifyMailer#test_email: processed outbound mail in 1.8ms
210
+ NotifyMailer#test_email: processed outbound mail in 1.5ms
211
+ NotifyMailer#test_email: processed outbound mail in 1.4ms
212
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
213
+ NotifyMailer#test_email: processed outbound mail in 1.3ms
214
+ NotifyMailer#test_email: processed outbound mail in 3.5ms
215
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
216
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
217
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
218
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
219
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
220
+ NotifyMailer#test_email: processed outbound mail in 3.8ms
221
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
222
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
223
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
224
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
225
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
226
+ NotifyMailer#test_email: processed outbound mail in 3.6ms
227
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
228
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
229
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
230
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
231
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
232
+ NotifyMailer#test_email: processed outbound mail in 3.6ms
233
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
234
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
235
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
236
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
237
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
238
+ NotifyMailer#test_email: processed outbound mail in 10.9ms
239
+ NotifyMailer#test_email: processed outbound mail in 1.8ms
240
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
241
+ NotifyMailer#test_email: processed outbound mail in 0.9ms
242
+ NotifyMailer#test_email: processed outbound mail in 1.0ms
243
+ NotifyMailer#test_email: processed outbound mail in 1.2ms
244
+ NotifyMailer#test_email: processed outbound mail in 3.5ms
245
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
246
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
247
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
248
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
249
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
250
+ NotifyMailer#test_email: processed outbound mail in 3.5ms
251
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
252
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
253
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
254
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
255
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
256
+ NotifyMailer#test_email: processed outbound mail in 3.9ms
257
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
258
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
259
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
260
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
261
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
262
+ NotifyMailer#test_email: processed outbound mail in 3.7ms
263
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
264
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
265
+ NotifyMailer#test_email: processed outbound mail in 0.9ms
266
+ NotifyMailer#test_email: processed outbound mail in 0.7ms
267
+ NotifyMailer#test_email: processed outbound mail in 0.8ms
268
+ NotifyMailer#test_email: processed outbound mail in 3.5ms
269
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
270
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
271
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
272
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
273
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
274
+ NotifyMailer#test_email: processed outbound mail in 9.4ms
275
+ NotifyMailer#test_email: processed outbound mail in 1.6ms
276
+ NotifyMailer#test_email: processed outbound mail in 1.3ms
277
+ NotifyMailer#test_email: processed outbound mail in 1.2ms
278
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
279
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
280
+ NotifyMailer#test_email: processed outbound mail in 3.5ms
281
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
282
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
283
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
284
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
285
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
286
+ NotifyMailer#test_email: processed outbound mail in 3.6ms
287
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
288
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
289
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
290
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
291
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
292
+ NotifyMailer#test_email: processed outbound mail in 3.9ms
293
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
294
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
295
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
296
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
297
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
298
+ NotifyMailer#test_email: processed outbound mail in 3.4ms
299
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
300
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
301
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
302
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
303
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
304
+ NotifyMailer#test_email: processed outbound mail in 3.3ms
305
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
306
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
307
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
308
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
309
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
310
+ NotifyMailer#test_email: processed outbound mail in 3.7ms
311
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
312
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
313
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
314
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
315
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
316
+ NotifyMailer#test_email: processed outbound mail in 10.0ms
317
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
318
+ NotifyMailer#test_email: processed outbound mail in 1.2ms
319
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
320
+ NotifyMailer#test_email: processed outbound mail in 1.1ms
321
+ NotifyMailer#test_email: processed outbound mail in 1.1ms
322
+ NotifyMailer#test_email: processed outbound mail in 8.3ms
323
+ NotifyMailer#test_email: processed outbound mail in 1.3ms
324
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
325
+ NotifyMailer#test_email: processed outbound mail in 1.2ms
326
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
327
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
328
+ NotifyMailer#test_email: processed outbound mail in 5.5ms
329
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
330
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
331
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
332
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
333
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
334
+ NotifyMailer#test_email: processed outbound mail in 3.2ms
335
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
336
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
337
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
338
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
339
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
340
+ NotifyMailer#test_email: processed outbound mail in 3.4ms
341
+ NotifyMailer#test_email: processed outbound mail in 8.4ms
342
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
343
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
344
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
345
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
346
+ NotifyMailer#test_email: processed outbound mail in 3.5ms
347
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
348
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
349
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
350
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
351
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
352
+ NotifyMailer#test_email: processed outbound mail in 4.1ms
353
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
354
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
355
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
356
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
357
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
358
+ NotifyMailer#test_email: processed outbound mail in 3.3ms
359
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
360
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
361
+ NotifyMailer#test_email: processed outbound mail in 1.1ms
362
+ NotifyMailer#test_email: processed outbound mail in 0.9ms
363
+ NotifyMailer#test_email: processed outbound mail in 0.7ms
364
+ NotifyMailer#test_email: processed outbound mail in 3.5ms
365
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
366
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
367
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
368
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
369
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
370
+ NotifyMailer#test_email: processed outbound mail in 3.6ms
371
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
372
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
373
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
374
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
375
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
376
+ NotifyMailer#test_email: processed outbound mail in 3.6ms
377
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
378
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
379
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
380
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
381
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
382
+ NotifyMailer#test_email: processed outbound mail in 24.5ms
383
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
384
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
385
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
386
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
387
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
388
+ NotifyMailer#test_email: processed outbound mail in 26.1ms
389
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
390
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
391
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
392
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
393
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
394
+ NotifyMailer#test_email: processed outbound mail in 26.2ms
395
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
396
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
397
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
398
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
399
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
400
+ NotifyMailer#test_email: processed outbound mail in 30.0ms
401
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
402
+ NotifyMailer#test_email: processed outbound mail in 5.5ms
403
+ NotifyMailer#test_email: processed outbound mail in 0.7ms
404
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
405
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
406
+ NotifyMailer#test_email: processed outbound mail in 0.8ms
407
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
408
+ NotifyMailer#test_email: processed outbound mail in 28.0ms
409
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
410
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
411
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
412
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
413
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
414
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
415
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
416
+ NotifyMailer#test_email: processed outbound mail in 18.1ms
417
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
418
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
419
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
420
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
421
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
422
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
423
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
424
+ NotifyMailer#test_email: processed outbound mail in 17.5ms
425
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
426
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
427
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
428
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
429
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
430
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
431
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
432
+ NotifyMailer#test_email: processed outbound mail in 23.8ms
433
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
434
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
435
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
436
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
437
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
438
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
439
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
440
+ NotifyMailer#test_email: processed outbound mail in 26.0ms
441
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
442
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
443
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
444
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
445
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
446
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
447
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
448
+ NotifyMailer#test_email: processed outbound mail in 32.4ms
449
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
450
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
451
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
452
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
453
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
454
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
455
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
456
+ NotifyMailer#test_email: processed outbound mail in 36.9ms
457
+ NotifyMailer#test_email: processed outbound mail in 1.4ms
458
+ NotifyMailer#test_email: processed outbound mail in 0.8ms
459
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
460
+ NotifyMailer#test_email: processed outbound mail in 1.0ms
461
+ NotifyMailer#test_email: processed outbound mail in 0.7ms
462
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
463
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
464
+ NotifyMailer#test_email: processed outbound mail in 24.2ms
465
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
466
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
467
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
468
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
469
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
470
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
471
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
@@ -5,19 +5,23 @@ describe GovukNotifyRails::Delivery do
5
5
  describe '#deliver!' do
6
6
  let(:api_key) { 'api-key' }
7
7
  let(:notify_client) { double('NotifyClient') }
8
- let(:reply_to) { "email_reply_to_reference" }
8
+ let(:to) { ['email@example.com'] }
9
9
 
10
- let(:personalisation) { { name: 'John' } }
11
10
  let(:reference) { 'my_reference' }
11
+ let(:reply_to) { 'email_reply_to_uuid' }
12
+ let(:unsubscribe_url) { 'https://example.com/unsubscribe?token=123456' }
13
+
14
+ let(:personalisation) { { name: 'John' } }
12
15
 
13
16
  let(:message) do
14
17
  instance_double(
15
18
  Mail::Message,
16
- to: ['email@example.com'],
19
+ to: to,
17
20
  govuk_notify_template: 'template-123',
18
21
  govuk_notify_reference: reference,
19
- govuk_notify_personalisation: personalisation,
20
- govuk_notify_email_reply_to: reply_to
22
+ govuk_notify_email_reply_to: reply_to,
23
+ govuk_notify_one_click_unsubscribe_url: unsubscribe_url,
24
+ govuk_notify_personalisation: personalisation
21
25
  )
22
26
  end
23
27
 
@@ -26,6 +30,7 @@ describe GovukNotifyRails::Delivery do
26
30
  before(:each) do
27
31
  allow(notify_client).to receive(:new).with(api_key).and_return(notify_client)
28
32
  allow(subject).to receive(:notify_client).and_return(notify_client)
33
+ allow(message).to receive(:govuk_notify_responses=)
29
34
  allow(message).to receive(:govuk_notify_response=)
30
35
  end
31
36
 
@@ -35,10 +40,12 @@ describe GovukNotifyRails::Delivery do
35
40
  email_address: 'email@example.com',
36
41
  template_id: 'template-123',
37
42
  reference: reference,
38
- personalisation: personalisation,
39
- email_reply_to_id: reply_to
43
+ email_reply_to_id: reply_to,
44
+ one_click_unsubscribe_url: unsubscribe_url,
45
+ personalisation: personalisation
40
46
  }
41
47
  )
48
+
42
49
  subject.deliver!(message)
43
50
  end
44
51
 
@@ -48,7 +55,12 @@ describe GovukNotifyRails::Delivery do
48
55
  end
49
56
 
50
57
  it 'returns the client response' do
51
- expect(subject.deliver!(message)).to eq('response')
58
+ expect(subject.deliver!(message)).to eq(['response'])
59
+ end
60
+
61
+ it 'assigns the client responses for later inspection' do
62
+ subject.deliver!(message)
63
+ expect(message).to have_received(:govuk_notify_responses=).with(['response'])
52
64
  end
53
65
 
54
66
  it 'assigns the client response for later inspection' do
@@ -57,6 +69,37 @@ describe GovukNotifyRails::Delivery do
57
69
  end
58
70
  end
59
71
 
72
+ context 'multiple to addresses' do
73
+ let(:to) { ['email1@example.com', 'email2@example.com'] }
74
+
75
+ it 'supports messages without personalisation' do
76
+ expect(notify_client).to receive(:send_email).with(
77
+ a_hash_including(email_address: 'email1@example.com')
78
+ )
79
+
80
+ expect(notify_client).to receive(:send_email).with(
81
+ a_hash_including(email_address: 'email2@example.com')
82
+ )
83
+
84
+ subject.deliver!(message)
85
+ end
86
+
87
+ context 'client response' do
88
+ before do
89
+ allow(notify_client).to receive(:send_email).and_return('response1', 'response2')
90
+ subject.deliver!(message)
91
+ end
92
+
93
+ it 'assigns the client responses for later inspection' do
94
+ expect(message).to have_received(:govuk_notify_responses=).with(['response1', 'response2'])
95
+ end
96
+
97
+ it 'assigns the first client response for later inspection' do
98
+ expect(message).to have_received(:govuk_notify_response=).with('response1')
99
+ end
100
+ end
101
+ end
102
+
60
103
  context 'no personalisation set' do
61
104
  let(:personalisation) { nil }
62
105
 
@@ -66,7 +109,8 @@ describe GovukNotifyRails::Delivery do
66
109
  email_address: 'email@example.com',
67
110
  template_id: 'template-123',
68
111
  reference: reference,
69
- email_reply_to_id: "email_reply_to_reference"
112
+ email_reply_to_id: reply_to,
113
+ one_click_unsubscribe_url: unsubscribe_url
70
114
  }
71
115
  )
72
116
  subject.deliver!(message)
@@ -82,7 +126,8 @@ describe GovukNotifyRails::Delivery do
82
126
  email_address: 'email@example.com',
83
127
  template_id: 'template-123',
84
128
  personalisation: personalisation,
85
- email_reply_to_id: "email_reply_to_reference"
129
+ email_reply_to_id: reply_to,
130
+ one_click_unsubscribe_url: unsubscribe_url
86
131
  }
87
132
  )
88
133
  subject.deliver!(message)
@@ -98,7 +143,25 @@ describe GovukNotifyRails::Delivery do
98
143
  email_address: 'email@example.com',
99
144
  template_id: 'template-123',
100
145
  personalisation: personalisation,
101
- reference: reference
146
+ reference: reference,
147
+ one_click_unsubscribe_url: unsubscribe_url
148
+ }
149
+ )
150
+ subject.deliver!(message)
151
+ end
152
+ end
153
+
154
+ context 'no unsubscribe url set' do
155
+ let(:unsubscribe_url) { nil }
156
+
157
+ it 'supports messages without unsubscribe url' do
158
+ expect(notify_client).to receive(:send_email).with(
159
+ {
160
+ email_address: 'email@example.com',
161
+ template_id: 'template-123',
162
+ reference: reference,
163
+ email_reply_to_id: reply_to,
164
+ personalisation: personalisation
102
165
  }
103
166
  )
104
167
  subject.deliver!(message)
@@ -5,6 +5,9 @@ RSpec.describe NotifyMailer, type: :mailer do
5
5
  describe 'new_message_test_email' do
6
6
  let(:template) { '9661d08a-486d-4c67-865e-ad976f17871d' }
7
7
  let(:reference) { 'my_reference' }
8
+ let(:reply_to) { '527c131f-ef4b-4b5b-8f9b-3202581af277' }
9
+ let(:unsubscribe_url) { 'https://example.com/unsubscribe?token=123456' }
10
+
8
11
  let(:user) { double('User', name: 'Test Name', email: 'test@example.com') }
9
12
  let(:mail) { described_class.test_email(user) }
10
13
 
@@ -28,6 +31,14 @@ RSpec.describe NotifyMailer, type: :mailer do
28
31
  expect(mail.govuk_notify_reference).to eq(reference)
29
32
  end
30
33
 
34
+ it 'sets the reply_to' do
35
+ expect(mail.govuk_notify_email_reply_to).to eq(reply_to)
36
+ end
37
+
38
+ it 'sets the unsubscribe url' do
39
+ expect(mail.govuk_notify_one_click_unsubscribe_url).to eq(unsubscribe_url)
40
+ end
41
+
31
42
  it 'sets the personalisation' do
32
43
  expect(mail.govuk_notify_personalisation.keys).to eq([:full_name])
33
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_notify_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.2
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jesus Laiz
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-22 00:00:00.000000000 Z
11
+ date: 2024-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '5.1'
33
+ version: '6.2'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '5.1'
40
+ version: '6.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.7'
47
+ version: '2.2'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.7'
54
+ version: '2.2'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -94,7 +94,7 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 3.0.5
97
- description:
97
+ description:
98
98
  email:
99
99
  - zheileman@users.noreply.github.com
100
100
  executables: []
@@ -166,7 +166,7 @@ homepage: https://github.com/ministryofjustice/govuk_notify_rails
166
166
  licenses:
167
167
  - MIT
168
168
  metadata: {}
169
- post_install_message:
169
+ post_install_message:
170
170
  rdoc_options: []
171
171
  require_paths:
172
172
  - lib
@@ -181,12 +181,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
181
181
  - !ruby/object:Gem::Version
182
182
  version: '0'
183
183
  requirements: []
184
- rubygems_version: 3.0.6
185
- signing_key:
184
+ rubygems_version: 3.4.10
185
+ signing_key:
186
186
  specification_version: 4
187
187
  summary: Custom ActionMailer delivery method for sending emails via GOV.UK Notify
188
188
  API
189
189
  test_files:
190
+ - spec/dummy/README.md
191
+ - spec/dummy/Rakefile
190
192
  - spec/dummy/app/assets/config/manifest.js
191
193
  - spec/dummy/app/assets/javascripts/application.js
192
194
  - spec/dummy/app/assets/javascripts/cable.js
@@ -237,8 +239,6 @@ test_files:
237
239
  - spec/dummy/public/apple-touch-icon.png
238
240
  - spec/dummy/public/favicon.ico
239
241
  - spec/dummy/public/robots.txt
240
- - spec/dummy/Rakefile
241
- - spec/dummy/README.md
242
242
  - spec/govuk_notify_delivery/delivery_spec.rb
243
243
  - spec/mailers/notify_mailer_spec.rb
244
244
  - spec/spec_helper.rb