@stamhoofd/models 2.92.0 → 2.94.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 (56) hide show
  1. package/dist/src/factories/RegistrationPeriodFactory.d.ts +1 -0
  2. package/dist/src/factories/RegistrationPeriodFactory.d.ts.map +1 -1
  3. package/dist/src/factories/RegistrationPeriodFactory.js +4 -0
  4. package/dist/src/factories/RegistrationPeriodFactory.js.map +1 -1
  5. package/dist/src/helpers/EmailBuilder.d.ts +1 -0
  6. package/dist/src/helpers/EmailBuilder.d.ts.map +1 -1
  7. package/dist/src/helpers/EmailBuilder.js +5 -3
  8. package/dist/src/helpers/EmailBuilder.js.map +1 -1
  9. package/dist/src/migrations/1755789797-email-counts-errors.sql +7 -0
  10. package/dist/src/migrations/1755789798-email-recipient-errors.sql +2 -0
  11. package/dist/src/migrations/1756115313-email-recipient-ids-and-errors.sql +10 -0
  12. package/dist/src/migrations/1756115314-email-recipient-email-optional.sql +2 -0
  13. package/dist/src/migrations/1756115315-email-recipients-count.sql +3 -0
  14. package/dist/src/migrations/1756115316-email-cached-counts.sql +4 -0
  15. package/dist/src/migrations/1756115317-email-deleted-at.sql +2 -0
  16. package/dist/src/migrations/1756293494-registration-period-next-period-id.sql +3 -0
  17. package/dist/src/migrations/1756293495-platform-next-period-id.sql +3 -0
  18. package/dist/src/models/Email.d.ts +62 -2
  19. package/dist/src/models/Email.d.ts.map +1 -1
  20. package/dist/src/models/Email.js +544 -198
  21. package/dist/src/models/Email.js.map +1 -1
  22. package/dist/src/models/Email.test.js +151 -43
  23. package/dist/src/models/Email.test.js.map +1 -1
  24. package/dist/src/models/EmailRecipient.d.ts +31 -1
  25. package/dist/src/models/EmailRecipient.d.ts.map +1 -1
  26. package/dist/src/models/EmailRecipient.js +53 -2
  27. package/dist/src/models/EmailRecipient.js.map +1 -1
  28. package/dist/src/models/Event.d.ts.map +1 -1
  29. package/dist/src/models/Event.js +2 -0
  30. package/dist/src/models/Event.js.map +1 -1
  31. package/dist/src/models/Platform.d.ts +1 -0
  32. package/dist/src/models/Platform.d.ts.map +1 -1
  33. package/dist/src/models/Platform.js +5 -0
  34. package/dist/src/models/Platform.js.map +1 -1
  35. package/dist/src/models/RegistrationPeriod.d.ts +3 -1
  36. package/dist/src/models/RegistrationPeriod.d.ts.map +1 -1
  37. package/dist/src/models/RegistrationPeriod.js +28 -7
  38. package/dist/src/models/RegistrationPeriod.js.map +1 -1
  39. package/package.json +2 -2
  40. package/src/factories/RegistrationPeriodFactory.ts +4 -0
  41. package/src/helpers/EmailBuilder.ts +6 -3
  42. package/src/migrations/1755789797-email-counts-errors.sql +7 -0
  43. package/src/migrations/1755789798-email-recipient-errors.sql +2 -0
  44. package/src/migrations/1756115313-email-recipient-ids-and-errors.sql +10 -0
  45. package/src/migrations/1756115314-email-recipient-email-optional.sql +2 -0
  46. package/src/migrations/1756115315-email-recipients-count.sql +3 -0
  47. package/src/migrations/1756115316-email-cached-counts.sql +4 -0
  48. package/src/migrations/1756115317-email-deleted-at.sql +2 -0
  49. package/src/migrations/1756293494-registration-period-next-period-id.sql +3 -0
  50. package/src/migrations/1756293495-platform-next-period-id.sql +3 -0
  51. package/src/models/Email.test.ts +165 -44
  52. package/src/models/Email.ts +620 -212
  53. package/src/models/EmailRecipient.ts +46 -2
  54. package/src/models/Event.ts +2 -0
  55. package/src/models/Platform.ts +4 -0
  56. package/src/models/RegistrationPeriod.ts +29 -7
@@ -1 +1 @@
1
- {"version":3,"file":"Email.js","sourceRoot":"","sources":["../../../src/models/Email.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Email.js","sourceRoot":"","sources":["../../../src/models/Email.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,40 @@ async function buildEmail(data) {
41
41
  await model.save();
42
42
  return model;
43
43
  }
44
+ /**
45
+ * An email that won't be able to fetch recipients
46
+ */
47
+ async function buildFailEmail(data) {
48
+ Email_1.Email.recipientLoaders.set(structures_1.EmailRecipientFilterType.Members, {
49
+ fetch: async (query) => {
50
+ throw new Error('This is a simulated error while fetching recipients');
51
+ },
52
+ count: async (query) => {
53
+ return data.recipients.length;
54
+ },
55
+ });
56
+ const model = new Email_1.Email();
57
+ model.userId = null;
58
+ model.organizationId = data.organizationId ?? null;
59
+ model.recipientFilter = structures_1.EmailRecipientFilter.create({
60
+ filters: [
61
+ structures_1.EmailRecipientSubfilter.create({
62
+ type: structures_1.EmailRecipientFilterType.Members,
63
+ filter: { id: { $in: ['test'] } },
64
+ }),
65
+ ],
66
+ });
67
+ model.subject = data.subject ?? 'This is a test email';
68
+ model.html = data.html ?? '<p>This is a test email</p>';
69
+ model.text = data.text ?? 'This is a test email';
70
+ model.json = data.json ?? {};
71
+ model.status = data.status ?? structures_1.EmailStatus.Draft;
72
+ model.attachments = [];
73
+ model.fromAddress = data.fromAddress ?? 'test@stamhoofd.be';
74
+ model.fromName = data.fromName ?? null;
75
+ await model.save();
76
+ return model;
77
+ }
44
78
  describe('Model.Email', () => {
45
79
  it('Correctly whitelists email recipients', async () => {
46
80
  test_utils_1.TestUtils.setEnvironment('WHITELISTED_EMAIL_DESTINATIONS', ['*@stamhoofd-allowed-domain-tests.be']);
@@ -58,11 +92,15 @@ describe('Model.Email', () => {
58
92
  }),
59
93
  ],
60
94
  });
61
- await model.send();
95
+ await model.queueForSending(true);
62
96
  await model.refresh();
63
97
  // Check if it was sent correctly
64
98
  expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
65
- expect(model.recipientCount).toBe(2);
99
+ expect(model.emailRecipientsCount).toBe(2);
100
+ expect(model.succeededCount).toBe(1);
101
+ expect(model.failedCount).toBe(1);
102
+ expect(model.emailErrors).toBe(null);
103
+ expect(model.recipientsErrors).toBe(null);
66
104
  expect(model.status).toBe(structures_1.EmailStatus.Sent);
67
105
  expect(await email_1.EmailMocker.broadcast.getSucceededCount()).toBe(1);
68
106
  expect(await email_1.EmailMocker.broadcast.getFailedCount()).toBe(0); // never tried to send any failed emails (whitelist)
@@ -105,12 +143,15 @@ describe('Model.Email', () => {
105
143
  // Only one failure (the first email)
106
144
  // It should automatically retry to send the email
107
145
  email_1.EmailMocker.broadcast.failNext(new Error('This is a simulated network error'));
108
- await model.send();
146
+ await model.queueForSending(true);
109
147
  await model.refresh();
110
148
  // Check if it was sent correctly
111
149
  expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
112
- expect(model.recipientCount).toBe(2);
150
+ expect(model.emailRecipientsCount).toBe(2);
113
151
  expect(model.status).toBe(structures_1.EmailStatus.Sent);
152
+ expect(model.succeededCount).toBe(2);
153
+ expect(model.failedCount).toBe(0);
154
+ expect(model.softFailedCount).toBe(0);
114
155
  // Both have succeeded
115
156
  expect(await email_1.EmailMocker.broadcast.getSucceededCount()).toBe(2);
116
157
  expect(await email_1.EmailMocker.broadcast.getFailedCount()).toBe(1); // One retry
@@ -129,6 +170,38 @@ describe('Model.Email', () => {
129
170
  }),
130
171
  ]);
131
172
  }, 15_000);
173
+ it('Email changes to failed state if email recipients fails to build', async () => {
174
+ const model = await buildFailEmail({
175
+ recipients: [
176
+ structures_1.EmailRecipient.create({
177
+ firstName: 'Test',
178
+ lastName: 'Test',
179
+ email: 'example@domain.be',
180
+ }),
181
+ structures_1.EmailRecipient.create({
182
+ firstName: 'Test',
183
+ lastName: 'Test',
184
+ email: 'example2@domain.be',
185
+ }),
186
+ ],
187
+ });
188
+ await expect(model.queueForSending(true)).toReject();
189
+ await model.refresh();
190
+ // Check if it was sent correctly
191
+ expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.NotCreated);
192
+ expect(model.recipientsErrors).toEqual(test_utils_1.STExpect.simpleErrors([{
193
+ code: 'unknown_error',
194
+ message: 'This is a simulated error while fetching recipients',
195
+ }]));
196
+ expect(model.emailRecipientsCount).toBe(null);
197
+ expect(model.status).toBe(structures_1.EmailStatus.Failed);
198
+ expect(model.succeededCount).toBe(0);
199
+ expect(model.failedCount).toBe(0);
200
+ expect(model.softFailedCount).toBe(0);
201
+ // Both have succeeded
202
+ expect(await email_1.EmailMocker.broadcast.getSucceededCount()).toBe(0);
203
+ expect(await email_1.EmailMocker.broadcast.getFailedCount()).toBe(0); // One retry
204
+ }, 15_000);
132
205
  it('Marks email recipient as failed if fails three times', async () => {
133
206
  const model = await buildEmail({
134
207
  recipients: [
@@ -144,20 +217,21 @@ describe('Model.Email', () => {
144
217
  }),
145
218
  ],
146
219
  });
147
- // Only one failure (the first email)
148
- // It should automatically retry to send the email
149
220
  email_1.EmailMocker.broadcast.failNext(new Error('This is a simulated network error 1'));
150
221
  email_1.EmailMocker.broadcast.failNext(new Error('This is a simulated network error 2'));
151
222
  email_1.EmailMocker.broadcast.failNext(new Error('This is a simulated network error 3'));
152
223
  email_1.EmailMocker.broadcast.failNext(new Error('This is a simulated network error 4'));
153
224
  email_1.EmailMocker.broadcast.failNext(new Error('This is a simulated network error 5'));
154
225
  email_1.EmailMocker.broadcast.failNext(new Error('This is a simulated network error 6'));
155
- await model.send();
226
+ await model.queueForSending(true);
156
227
  await model.refresh();
157
228
  // Check if it was sent correctly
158
229
  expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
159
- expect(model.recipientCount).toBe(2);
230
+ expect(model.emailRecipientsCount).toBe(2);
160
231
  expect(model.status).toBe(structures_1.EmailStatus.Sent);
232
+ expect(model.succeededCount).toBe(0);
233
+ expect(model.failedCount).toBe(2);
234
+ expect(model.softFailedCount).toBe(0);
161
235
  // Both have succeeded
162
236
  expect(await email_1.EmailMocker.broadcast.getSucceededCount()).toBe(0);
163
237
  expect(await email_1.EmailMocker.broadcast.getFailedCount()).toBe(6); // Two retries for each recipient
@@ -168,6 +242,9 @@ describe('Model.Email', () => {
168
242
  email: 'example@domain.be',
169
243
  sentAt: null,
170
244
  failCount: 1,
245
+ failError: test_utils_1.STExpect.simpleErrors([{
246
+ message: /This is a simulated network error (3|6)/,
247
+ }]),
171
248
  firstFailedAt: expect.any(Date),
172
249
  lastFailedAt: expect.any(Date),
173
250
  }),
@@ -175,6 +252,9 @@ describe('Model.Email', () => {
175
252
  email: 'example2@domain.be',
176
253
  sentAt: null,
177
254
  failCount: 1,
255
+ failError: test_utils_1.STExpect.simpleErrors([{
256
+ message: /This is a simulated network error (3|6)/,
257
+ }]),
178
258
  firstFailedAt: expect.any(Date),
179
259
  lastFailedAt: expect.any(Date),
180
260
  }),
@@ -188,12 +268,15 @@ describe('Model.Email', () => {
188
268
  }),
189
269
  ],
190
270
  });
191
- await model.send();
271
+ await model.queueForSending(true);
192
272
  await model.refresh();
193
273
  // Check if it was sent correctly
194
274
  expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
195
- expect(model.recipientCount).toBe(1);
275
+ expect(model.emailRecipientsCount).toBe(1);
196
276
  expect(model.status).toBe(structures_1.EmailStatus.Sent);
277
+ expect(model.succeededCount).toBe(1);
278
+ expect(model.failedCount).toBe(0);
279
+ expect(model.softFailedCount).toBe(0);
197
280
  // Both have succeeded
198
281
  expect(await email_1.EmailMocker.broadcast.getSucceededCount()).toBe(1);
199
282
  expect(await email_1.EmailMocker.broadcast.getFailedCount()).toBe(0);
@@ -207,7 +290,7 @@ describe('Model.Email', () => {
207
290
  }),
208
291
  ]);
209
292
  // Check to header
210
- expect(await email_1.EmailMocker.broadcast.getSucceededEmail(0).to).toEqual('example@domain.be');
293
+ expect(email_1.EmailMocker.broadcast.getSucceededEmail(0).to).toEqual('example@domain.be');
211
294
  }, 15_000);
212
295
  it('Includes recipient names in mail header', async () => {
213
296
  const model = await buildEmail({
@@ -219,12 +302,15 @@ describe('Model.Email', () => {
219
302
  }),
220
303
  ],
221
304
  });
222
- await model.send();
305
+ await model.queueForSending(true);
223
306
  await model.refresh();
224
307
  // Check if it was sent correctly
225
308
  expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
226
- expect(model.recipientCount).toBe(1);
309
+ expect(model.emailRecipientsCount).toBe(1);
227
310
  expect(model.status).toBe(structures_1.EmailStatus.Sent);
311
+ expect(model.succeededCount).toBe(1);
312
+ expect(model.failedCount).toBe(0);
313
+ expect(model.softFailedCount).toBe(0);
228
314
  // Both have succeeded
229
315
  expect(await email_1.EmailMocker.broadcast.getSucceededCount()).toBe(1);
230
316
  expect(await email_1.EmailMocker.broadcast.getFailedCount()).toBe(0);
@@ -240,7 +326,7 @@ describe('Model.Email', () => {
240
326
  }),
241
327
  ]);
242
328
  // Check to header
243
- expect(await email_1.EmailMocker.broadcast.getSucceededEmail(0).to).toEqual('"John Von Doe" <example@domain.be>');
329
+ expect(email_1.EmailMocker.broadcast.getSucceededEmail(0).to).toEqual('"John Von Doe" <example@domain.be>');
244
330
  }, 15_000);
245
331
  it('Skips invalid email addresses', async () => {
246
332
  const model = await buildEmail({
@@ -252,12 +338,15 @@ describe('Model.Email', () => {
252
338
  }),
253
339
  ],
254
340
  });
255
- await model.send();
341
+ await model.queueForSending(true);
256
342
  await model.refresh();
257
343
  // Check if it was sent correctly
258
344
  expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
259
- expect(model.recipientCount).toBe(1);
345
+ expect(model.emailRecipientsCount).toBe(1);
260
346
  expect(model.status).toBe(structures_1.EmailStatus.Sent);
347
+ expect(model.succeededCount).toBe(0);
348
+ expect(model.failedCount).toBe(1);
349
+ expect(model.softFailedCount).toBe(0);
261
350
  // Both have succeeded
262
351
  expect(await email_1.EmailMocker.broadcast.getSucceededCount()).toBe(0);
263
352
  expect(await email_1.EmailMocker.broadcast.getFailedCount()).toBe(0);
@@ -269,7 +358,10 @@ describe('Model.Email', () => {
269
358
  lastName: 'Von Doe',
270
359
  email: 'invalid',
271
360
  failCount: 1,
272
- failErrorMessage: 'Invalid email address',
361
+ failError: test_utils_1.STExpect.simpleErrors([{
362
+ code: 'invalid_email_address',
363
+ message: 'Invalid email address',
364
+ }]),
273
365
  firstFailedAt: expect.any(Date),
274
366
  lastFailedAt: expect.any(Date),
275
367
  }),
@@ -290,12 +382,15 @@ describe('Model.Email', () => {
290
382
  }),
291
383
  ],
292
384
  });
293
- await model.send();
385
+ await model.queueForSending(true);
294
386
  await model.refresh();
295
387
  // Check if it was sent correctly
296
388
  expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
297
- expect(model.recipientCount).toBe(1);
389
+ expect(model.emailRecipientsCount).toBe(1);
298
390
  expect(model.status).toBe(structures_1.EmailStatus.Sent);
391
+ expect(model.succeededCount).toBe(1);
392
+ expect(model.failedCount).toBe(0);
393
+ expect(model.softFailedCount).toBe(0);
299
394
  // Both have succeeded
300
395
  expect(await email_1.EmailMocker.broadcast.getSucceededCount()).toBe(1);
301
396
  expect(await email_1.EmailMocker.broadcast.getFailedCount()).toBe(0);
@@ -305,6 +400,7 @@ describe('Model.Email', () => {
305
400
  expect.objectContaining({
306
401
  email: 'valid@example.com',
307
402
  sentAt: expect.any(Date),
403
+ failError: null,
308
404
  }),
309
405
  ]);
310
406
  }, 15_000);
@@ -327,17 +423,20 @@ describe('Model.Email', () => {
327
423
  fromAddress: 'info@my-platform.com',
328
424
  fromName: 'My Platform',
329
425
  });
330
- await model.send();
426
+ await model.queueForSending(true);
331
427
  await model.refresh();
332
428
  // Check if it was sent correctly
333
429
  expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
334
- expect(model.recipientCount).toBe(1);
430
+ expect(model.emailRecipientsCount).toBe(1);
335
431
  expect(model.status).toBe(structures_1.EmailStatus.Sent);
432
+ expect(model.succeededCount).toBe(1);
433
+ expect(model.failedCount).toBe(0);
434
+ expect(model.softFailedCount).toBe(0);
336
435
  // Both have succeeded
337
436
  expect(await email_1.EmailMocker.broadcast.getSucceededCount()).toBe(1);
338
437
  expect(await email_1.EmailMocker.broadcast.getFailedCount()).toBe(0);
339
438
  // Check to header
340
- expect(await email_1.EmailMocker.broadcast.getSucceededEmail(0)).toMatchObject({
439
+ expect(email_1.EmailMocker.broadcast.getSucceededEmail(0)).toMatchObject({
341
440
  to: 'example@domain.be',
342
441
  from: '"My Platform" <info@my-platform.com>',
343
442
  replyTo: undefined,
@@ -362,17 +461,20 @@ describe('Model.Email', () => {
362
461
  fromAddress: 'info@other-platform.com',
363
462
  fromName: 'My Platform',
364
463
  });
365
- await model.send();
464
+ await model.queueForSending(true);
366
465
  await model.refresh();
367
466
  // Check if it was sent correctly
368
467
  expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
369
- expect(model.recipientCount).toBe(1);
468
+ expect(model.emailRecipientsCount).toBe(1);
370
469
  expect(model.status).toBe(structures_1.EmailStatus.Sent);
470
+ expect(model.succeededCount).toBe(1);
471
+ expect(model.failedCount).toBe(0);
472
+ expect(model.softFailedCount).toBe(0);
371
473
  // Both have succeeded
372
474
  expect(await email_1.EmailMocker.broadcast.getSucceededCount()).toBe(1);
373
475
  expect(await email_1.EmailMocker.broadcast.getFailedCount()).toBe(0);
374
476
  // Check to header
375
- expect(await email_1.EmailMocker.broadcast.getSucceededEmail(0)).toMatchObject({
477
+ expect(email_1.EmailMocker.broadcast.getSucceededEmail(0)).toMatchObject({
376
478
  to: 'example@domain.be',
377
479
  from: '"My Platform" <noreply@broadcast.my-platform.com>', // domain has changed here
378
480
  replyTo: '"My Platform" <info@other-platform.com>', // Reply to should be set
@@ -401,17 +503,20 @@ describe('Model.Email', () => {
401
503
  fromAddress: 'info@my-platform.com',
402
504
  fromName: 'My Platform',
403
505
  });
404
- await model.send();
506
+ await model.queueForSending(true);
405
507
  await model.refresh();
406
508
  // Check if it was sent correctly
407
509
  expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
408
- expect(model.recipientCount).toBe(1);
510
+ expect(model.emailRecipientsCount).toBe(1);
409
511
  expect(model.status).toBe(structures_1.EmailStatus.Sent);
512
+ expect(model.succeededCount).toBe(1);
513
+ expect(model.failedCount).toBe(0);
514
+ expect(model.softFailedCount).toBe(0);
410
515
  // Both have succeeded
411
516
  expect(await email_1.EmailMocker.broadcast.getSucceededCount()).toBe(1);
412
517
  expect(await email_1.EmailMocker.broadcast.getFailedCount()).toBe(0);
413
518
  // Check to header
414
- expect(await email_1.EmailMocker.broadcast.getSucceededEmail(0)).toMatchObject({
519
+ expect(email_1.EmailMocker.broadcast.getSucceededEmail(0)).toMatchObject({
415
520
  to: 'example@domain.be',
416
521
  from: '"My Platform" <noreply-uritest@broadcast.my-platform.com>', // domain has changed here
417
522
  replyTo: '"My Platform" <info@my-platform.com>', // Reply to should be set
@@ -441,17 +546,20 @@ describe('Model.Email', () => {
441
546
  fromAddress: 'info@my-platform.com',
442
547
  fromName: 'My Platform',
443
548
  });
444
- await model.send();
549
+ await model.queueForSending(true);
445
550
  await model.refresh();
446
551
  // Check if it was sent correctly
447
552
  expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
448
- expect(model.recipientCount).toBe(1);
553
+ expect(model.emailRecipientsCount).toBe(1);
449
554
  expect(model.status).toBe(structures_1.EmailStatus.Sent);
555
+ expect(model.succeededCount).toBe(1);
556
+ expect(model.failedCount).toBe(0);
557
+ expect(model.softFailedCount).toBe(0);
450
558
  // Both have succeeded
451
559
  expect(await email_1.EmailMocker.broadcast.getSucceededCount()).toBe(1);
452
560
  expect(await email_1.EmailMocker.broadcast.getFailedCount()).toBe(0);
453
561
  // Check to header
454
- expect(await email_1.EmailMocker.broadcast.getSucceededEmail(0)).toMatchObject({
562
+ expect(email_1.EmailMocker.broadcast.getSucceededEmail(0)).toMatchObject({
455
563
  to: 'example@domain.be',
456
564
  from: '"My Platform" <info@my-platform.com>', // domain has changed here
457
565
  replyTo: undefined,
@@ -482,17 +590,17 @@ describe('Model.Email', () => {
482
590
  text: '{{fromAddress}}',
483
591
  subject: '{{fromAddress}}',
484
592
  });
485
- await model.send();
593
+ await model.queueForSending(true);
486
594
  await model.refresh();
487
595
  // Check if it was sent correctly
488
596
  expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
489
- expect(model.recipientCount).toBe(1);
597
+ expect(model.emailRecipientsCount).toBe(1);
490
598
  expect(model.status).toBe(structures_1.EmailStatus.Sent);
491
599
  // Both have succeeded
492
600
  expect(await email_1.EmailMocker.broadcast.getSucceededCount()).toBe(1);
493
601
  expect(await email_1.EmailMocker.broadcast.getFailedCount()).toBe(0);
494
602
  // Check to header
495
- expect(await email_1.EmailMocker.broadcast.getSucceededEmail(0)).toMatchObject({
603
+ expect(email_1.EmailMocker.broadcast.getSucceededEmail(0)).toMatchObject({
496
604
  to: 'example@domain.be',
497
605
  from: '"Custom Name" <noreply-' + organization.uri + '@broadcast.my-platform.com>',
498
606
  replyTo: '"Custom Name" <custom@customdomain.com>', // domain has changed here
@@ -530,17 +638,17 @@ describe('Model.Email', () => {
530
638
  text: '{{primaryColor}};{{primaryColorContrast}};{{organizationName}};{{fromName}}',
531
639
  subject: '{{primaryColor}};{{primaryColorContrast}};{{organizationName}};{{fromName}}',
532
640
  });
533
- await model.send();
641
+ await model.queueForSending(true);
534
642
  await model.refresh();
535
643
  // Check if it was sent correctly
536
644
  expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
537
- expect(model.recipientCount).toBe(1);
645
+ expect(model.emailRecipientsCount).toBe(1);
538
646
  expect(model.status).toBe(structures_1.EmailStatus.Sent);
539
647
  // Both have succeeded
540
648
  expect(await email_1.EmailMocker.broadcast.getSucceededCount()).toBe(1);
541
649
  expect(await email_1.EmailMocker.broadcast.getFailedCount()).toBe(0);
542
650
  // Check to header
543
- expect(await email_1.EmailMocker.broadcast.getSucceededEmail(0)).toMatchObject({
651
+ expect(email_1.EmailMocker.broadcast.getSucceededEmail(0)).toMatchObject({
544
652
  subject: `${brightYellow};${expectedContrastColor};${organization.name};${organization.name}`,
545
653
  html: `${brightYellow};${expectedContrastColor};${organization.name};${organization.name}`,
546
654
  text: `${brightYellow};${expectedContrastColor};${organization.name};${organization.name}`,
@@ -579,17 +687,17 @@ describe('Model.Email', () => {
579
687
  text: '{{primaryColor}};{{primaryColorContrast}};{{organizationName}};{{fromName}}',
580
688
  subject: '{{primaryColor}};{{primaryColorContrast}};{{organizationName}};{{fromName}}',
581
689
  });
582
- await model.send();
690
+ await model.queueForSending(true);
583
691
  await model.refresh();
584
692
  // Check if it was sent correctly
585
693
  expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
586
- expect(model.recipientCount).toBe(1);
694
+ expect(model.emailRecipientsCount).toBe(1);
587
695
  expect(model.status).toBe(structures_1.EmailStatus.Sent);
588
696
  // Both have succeeded
589
697
  expect(await email_1.EmailMocker.broadcast.getSucceededCount()).toBe(1);
590
698
  expect(await email_1.EmailMocker.broadcast.getFailedCount()).toBe(0);
591
699
  // Check to header
592
- expect(await email_1.EmailMocker.broadcast.getSucceededEmail(0)).toMatchObject({
700
+ expect(email_1.EmailMocker.broadcast.getSucceededEmail(0)).toMatchObject({
593
701
  subject: `${brightBlue};${expectedContrastColor};${organization.name};Custom Name`,
594
702
  html: `${brightBlue};${expectedContrastColor};${organization.name};Custom Name`,
595
703
  text: `${brightBlue};${expectedContrastColor};${organization.name};Custom Name`,
@@ -621,17 +729,17 @@ describe('Model.Email', () => {
621
729
  text: '{{primaryColor}};{{primaryColorContrast}};{{organizationName}};{{fromName}}',
622
730
  subject: '{{primaryColor}};{{primaryColorContrast}};{{organizationName}};{{fromName}}',
623
731
  });
624
- await model.send();
732
+ await model.queueForSending(true);
625
733
  await model.refresh();
626
734
  // Check if it was sent correctly
627
735
  expect(model.recipientsStatus).toBe(structures_1.EmailRecipientsStatus.Created);
628
- expect(model.recipientCount).toBe(1);
736
+ expect(model.emailRecipientsCount).toBe(1);
629
737
  expect(model.status).toBe(structures_1.EmailStatus.Sent);
630
738
  // Both have succeeded
631
739
  expect(await email_1.EmailMocker.broadcast.getSucceededCount()).toBe(1);
632
740
  expect(await email_1.EmailMocker.broadcast.getFailedCount()).toBe(0);
633
741
  // Check to header
634
- expect(await email_1.EmailMocker.broadcast.getSucceededEmail(0)).toMatchObject({
742
+ expect(email_1.EmailMocker.broadcast.getSucceededEmail(0)).toMatchObject({
635
743
  subject: `${darkRed};${expectedContrastColor};${platform.config.name};${platform.config.name}`,
636
744
  html: `${darkRed};${expectedContrastColor};${platform.config.name};${platform.config.name}`,
637
745
  text: `${darkRed};${expectedContrastColor};${platform.config.name};${platform.config.name}`,