From 67876d88cd1f5aa59594ae1aeb807a68cbb82911 Mon Sep 17 00:00:00 2001 From: collierrgbsitisfise Date: Wed, 1 Dec 2021 19:35:38 +0200 Subject: [PATCH 1/4] chore: adjust 'packages/mail/src/mail.d.ts' Error for callBack function of 'send' and 'sendMultiple' methods is not described as nullable, but it should cause error is null when emails where successfully delivered --- packages/mail/src/mail.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mail/src/mail.d.ts b/packages/mail/src/mail.d.ts index fa827498..0930ddc0 100644 --- a/packages/mail/src/mail.d.ts +++ b/packages/mail/src/mail.d.ts @@ -32,12 +32,12 @@ declare class MailService { /** * Send email */ - send(data: MailDataRequired | MailDataRequired[], isMultiple?: boolean, cb?: (err: Error | ResponseError, result: [ClientResponse, {}]) => void): Promise<[ClientResponse, {}]>; + send(data: MailDataRequired | MailDataRequired[], isMultiple?: boolean, cb?: (err: Error | ResponseError | null, result: [ClientResponse, {}]) => void): Promise<[ClientResponse, {}]>; /** * Send multiple emails (shortcut) */ - sendMultiple(data: MailDataRequired, cb?: (error: Error | ResponseError, result: [ClientResponse, {}]) => void): Promise<[ClientResponse, {}]>; + sendMultiple(data: MailDataRequired, cb?: (error: Error | ResponseError | null, result: [ClientResponse, {}]) => void): Promise<[ClientResponse, {}]>; } declare const mail: MailService; From c333b033d0f448be8c70257f9773452fc77b88fb Mon Sep 17 00:00:00 2001 From: collierrgbsitisfise Date: Sun, 26 Dec 2021 20:35:37 +0200 Subject: [PATCH 2/4] chore: add more test cases for mail functionality --- packages/mail/src/mail.spec.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/packages/mail/src/mail.spec.js b/packages/mail/src/mail.spec.js index 09698baa..b2226175 100644 --- a/packages/mail/src/mail.spec.js +++ b/packages/mail/src/mail.spec.js @@ -47,6 +47,23 @@ describe('sgMail.send()', () => { }); }); + it('should not be null(error) in callBack function for unsuccessfully delivered emails', (done) => { + sgClient.setDefaultHeader('X-Mock', 202); + sgMail.send({}, false, (error, response) => { + expect(error).to.not.be.null(); + done(); + }); + }); + + it('should be null(error) in callBack function for successfully delivered emails', (done) => { + sgClient.setDefaultHeader('X-Mock', 202); + sgMail.send(data, false, (error, response) => { + expect(error).to.be.null(); + done(); + }); + }); + + it('should throw an error if callback is not a function', () => { return expect(function() { sgMail.send(data, false, {}); From b4c94db264c5cab30763dc7c809faa8a9e783574 Mon Sep 17 00:00:00 2001 From: collierrgbsitisfise Date: Sun, 26 Dec 2021 20:39:58 +0200 Subject: [PATCH 3/4] chore: remove redundant 'setDefaultHeader' --- packages/mail/src/mail.spec.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/mail/src/mail.spec.js b/packages/mail/src/mail.spec.js index b2226175..6e48371e 100644 --- a/packages/mail/src/mail.spec.js +++ b/packages/mail/src/mail.spec.js @@ -48,7 +48,6 @@ describe('sgMail.send()', () => { }); it('should not be null(error) in callBack function for unsuccessfully delivered emails', (done) => { - sgClient.setDefaultHeader('X-Mock', 202); sgMail.send({}, false, (error, response) => { expect(error).to.not.be.null(); done(); From d93fa81890a03303a293b87555b17e6ff2653d77 Mon Sep 17 00:00:00 2001 From: collierrgbsitisfise Date: Mon, 27 Dec 2021 11:59:08 +0200 Subject: [PATCH 4/4] chore: remove redundant line-break --- packages/mail/src/mail.spec.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/mail/src/mail.spec.js b/packages/mail/src/mail.spec.js index 6e48371e..623161b6 100644 --- a/packages/mail/src/mail.spec.js +++ b/packages/mail/src/mail.spec.js @@ -62,7 +62,6 @@ describe('sgMail.send()', () => { }); }); - it('should throw an error if callback is not a function', () => { return expect(function() { sgMail.send(data, false, {});