@@ -213,6 +213,7 @@ describe('<Messaging> Emails', function() {
213213 const templateName = 'MY_TEMPLATE_NAME'
214214 const templateValues = { foo : 'bar' }
215215 const attachments = [ 'path/to/file' ]
216+ const uniqueEmails = true
216217
217218 beforeEach ( ( ) => {
218219 emailEnvelope = new Backendless . EmailEnvelope ( { addresses :
[ '[email protected] ' ] } ) @@ -229,7 +230,8 @@ describe('<Messaging> Emails', function() {
229230 headers : { 'Content-Type' : 'application/json' } ,
230231 body : {
231232 addresses :
[ '[email protected] ' ] , 232- 'template-name' : templateName
233+ 'template-name' : templateName ,
234+ uniqueEmails : false ,
233235 }
234236 } )
235237
@@ -249,6 +251,7 @@ describe('<Messaging> Emails', function() {
249251 addresses :
[ '[email protected] ' ] , 250252 'template-name' : templateName ,
251253 'template-values' : templateValues ,
254+ uniqueEmails : false ,
252255 }
253256 } )
254257
@@ -268,7 +271,8 @@ describe('<Messaging> Emails', function() {
268271 addresses :
[ '[email protected] ' ] , 269272 'template-name' : templateName ,
270273 'template-values' : templateValues ,
271- attachment : attachments
274+ attachment : attachments ,
275+ uniqueEmails : false ,
272276 }
273277 } )
274278
@@ -285,9 +289,10 @@ describe('<Messaging> Emails', function() {
285289 path : `${ APP_PATH } /emailtemplate/send` ,
286290 headers : { 'Content-Type' : 'application/json' } ,
287291 body : {
288- addresses :
[ '[email protected] ' ] , 289- 'template-name' : templateName ,
290- attachment : attachments
292+ addresses :
[ '[email protected] ' ] , 293+ 'template-name' : templateName ,
294+ attachment : attachments ,
295+ uniqueEmails : false ,
291296 }
292297 } )
293298
@@ -299,14 +304,38 @@ describe('<Messaging> Emails', function() {
299304
300305 const result1 = await Backendless . Messaging . sendEmailFromTemplate ( templateName , emailEnvelope , attachments )
301306
307+ expect ( req1 ) . to . deep . include ( {
308+ method : 'POST' ,
309+ path : `${ APP_PATH } /emailtemplate/send` ,
310+ headers : { 'Content-Type' : 'application/json' } ,
311+ body : {
312+ addresses :
[ '[email protected] ' ] , 313+ 'template-name' : templateName ,
314+ attachment : [ 'path/to/file' ] ,
315+ uniqueEmails : false ,
316+ }
317+ } )
318+
319+ expect ( result1 ) . to . be . eql ( { fakeResult } )
320+ } )
321+
322+ it ( 'sends an email with templateValues, attachments and uniqueEmails' , async ( ) => {
323+ const req1 = prepareMockRequest ( { fakeResult } )
324+
325+ emailEnvelope . setUniqueEmails ( true )
326+
327+ const result1 = await Backendless . Messaging . sendEmailFromTemplate ( templateName , emailEnvelope , templateValues , attachments )
328+
302329 expect ( req1 ) . to . deep . include ( {
303330 method : 'POST' ,
304331 path : `${ APP_PATH } /emailtemplate/send` ,
305332 headers : { 'Content-Type' : 'application/json' } ,
306333 body : {
307334 addresses :
[ '[email protected] ' ] , 308335 'template-name' : templateName ,
309- attachment : attachments
336+ 'template-values' : { foo : 'bar' } ,
337+ attachment : attachments ,
338+ uniqueEmails : true ,
310339 }
311340 } )
312341
@@ -360,14 +389,16 @@ describe('<Messaging> Emails', function() {
360389 ccAddresses : [ 'test-ccAddress' ] ,
361390 bccAddresses : [ 'test-bccAddress' ] ,
362391 query : 'foo>123' ,
363- foo : 123
392+ foo : 123 ,
393+ uniqueEmails : true ,
364394 } )
365395
366396 expect ( emailEnvelope . toJSON ( ) ) . to . be . eql ( {
367397 'addresses' : [ 'test-address' ] ,
368398 'bcc-addresses' : [ 'test-bccAddress' ] ,
369399 'cc-addresses' : [ 'test-ccAddress' ] ,
370400 criteria : 'foo>123' ,
401+ uniqueEmails : true ,
371402 } )
372403 } )
373404
@@ -377,21 +408,23 @@ describe('<Messaging> Emails', function() {
377408 ccAddresses : 'test-ccAddress' ,
378409 bccAddresses : 'test-bccAddress' ,
379410 query : 'foo>123' ,
380- foo : 123
411+ foo : 123 ,
412+ uniqueEmails : true
381413 } )
382414
383415 expect ( emailEnvelope . toJSON ( ) ) . to . be . eql ( {
384416 'addresses' : [ 'test-address' ] ,
385417 'bcc-addresses' : [ 'test-bccAddress' ] ,
386418 'cc-addresses' : [ 'test-ccAddress' ] ,
387419 criteria : 'foo>123' ,
420+ uniqueEmails : true ,
388421 } )
389422 } )
390423
391424 it ( 'initial create without any options' , async ( ) => {
392425 emailEnvelope = Backendless . EmailEnvelope . create ( )
393426
394- expect ( emailEnvelope . toJSON ( ) ) . to . be . eql ( { } )
427+ expect ( emailEnvelope . toJSON ( ) ) . to . be . eql ( { uniqueEmails : false } )
395428 } )
396429
397430 it ( 'checks getters and setters of addresses' , async ( ) => {
@@ -412,7 +445,8 @@ describe('<Messaging> Emails', function() {
412445 expect ( emailEnvelope . getTo ( ) ) . to . be . eql ( [ 'address-2' , 'address-3' , 'address-4' , 'address-5' , 'address-6' ] )
413446
414447 expect ( emailEnvelope . toJSON ( ) ) . to . be . eql ( {
415- addresses : [ 'address-2' , 'address-3' , 'address-4' , 'address-5' , 'address-6' ]
448+ addresses : [ 'address-2' , 'address-3' , 'address-4' , 'address-5' , 'address-6' ] ,
449+ uniqueEmails : false ,
416450 } )
417451 } )
418452
@@ -434,7 +468,8 @@ describe('<Messaging> Emails', function() {
434468 expect ( emailEnvelope . getCc ( ) ) . to . be . eql ( [ 'address-2' , 'address-3' , 'address-4' , 'address-5' , 'address-6' ] )
435469
436470 expect ( emailEnvelope . toJSON ( ) ) . to . be . eql ( {
437- 'cc-addresses' : [ 'address-2' , 'address-3' , 'address-4' , 'address-5' , 'address-6' ]
471+ 'cc-addresses' : [ 'address-2' , 'address-3' , 'address-4' , 'address-5' , 'address-6' ] ,
472+ uniqueEmails : false ,
438473 } )
439474 } )
440475
@@ -456,7 +491,8 @@ describe('<Messaging> Emails', function() {
456491 expect ( emailEnvelope . getBcc ( ) ) . to . be . eql ( [ 'address-2' , 'address-3' , 'address-4' , 'address-5' , 'address-6' ] )
457492
458493 expect ( emailEnvelope . toJSON ( ) ) . to . be . eql ( {
459- 'bcc-addresses' : [ 'address-2' , 'address-3' , 'address-4' , 'address-5' , 'address-6' ]
494+ 'bcc-addresses' : [ 'address-2' , 'address-3' , 'address-4' , 'address-5' , 'address-6' ] ,
495+ uniqueEmails : false
460496 } )
461497 } )
462498
@@ -470,7 +506,26 @@ describe('<Messaging> Emails', function() {
470506 expect ( emailEnvelope . getQuery ( ) ) . to . be . eql ( 'query-2' )
471507
472508 expect ( emailEnvelope . toJSON ( ) ) . to . be . eql ( {
473- criteria : 'query-2'
509+ criteria : 'query-2' ,
510+ uniqueEmails : false ,
511+ } )
512+ } )
513+
514+ it ( 'checks getters and setters of uniqueEmails' , async ( ) => {
515+ emailEnvelope . setUniqueEmails ( true )
516+
517+ expect ( emailEnvelope . getUniqueEmails ( ) ) . to . be . eql ( true )
518+
519+ expect ( emailEnvelope . toJSON ( ) ) . to . be . eql ( {
520+ uniqueEmails : true ,
521+ } )
522+
523+ emailEnvelope . setUniqueEmails ( false )
524+
525+ expect ( emailEnvelope . getUniqueEmails ( ) ) . to . be . eql ( false )
526+
527+ expect ( emailEnvelope . toJSON ( ) ) . to . be . eql ( {
528+ uniqueEmails : false ,
474529 } )
475530 } )
476531
@@ -494,11 +549,15 @@ describe('<Messaging> Emails', function() {
494549 . setQuery ( 'query-1' )
495550 . setQuery ( 'query-2' )
496551
552+ . setUniqueEmails ( false )
553+ . setUniqueEmails ( true )
554+
497555 expect ( emailEnvelope . toJSON ( ) ) . to . be . eql ( {
498556 'addresses' : [ 'address-2' , 'address-3' , 'address-3' , 'address-4' , 'address-5' , ] ,
499557 'bcc-addresses' : [ 'address-2' , 'address-3' , 'address-4' , 'address-5' , 'address-6' , ] ,
500558 'cc-addresses' : [ 'address-2' , 'address-3' , 'address-4' , 'address-5' , 'address-6' , ] ,
501559 'criteria' : 'query-2' ,
560+ 'uniqueEmails' : true ,
502561 } )
503562 } )
504563
0 commit comments