Skip to content

Commit

Permalink
fix(EMS-1269): no PDF - CRON - Submission deadline email (#2670)
Browse files Browse the repository at this point in the history
* fix(EMS-1269): fixed submission deadline email helper

* fix(EMS-1269): added console.info

---------

Co-authored-by: Zain Kassam <zkassam@ukexportfinance.gov.uk>
  • Loading branch information
Zainzzkk and Zain Kassam authored Jul 2, 2024
1 parent cc7a2ca commit 743388c
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 26 deletions.
22 changes: 12 additions & 10 deletions src/api/.keystone/config.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,12 @@ describe('helpers/send-email-application-submission-deadline/send-email', () =>
expect(sendEmailSubmissionDeadlineSpy).toHaveBeenCalledTimes(1);
expect(sendEmailSubmissionDeadlineSpy).toHaveBeenCalledWith(variables.email, variables);
});

test('it should return an array of length 1', async () => {
const result = await applicationSubmissionDeadineEmail.send([application]);

expect(result.length).toEqual(1);
});
});

describe('error handling', () => {
Expand All @@ -56,9 +62,7 @@ describe('helpers/send-email-application-submission-deadline/send-email', () =>
});

test('should return success as false', async () => {
await expect(applicationSubmissionDeadineEmail.send([application])).rejects.toThrow(
'Sending application submission deadline email (sendEmail.submissionDeadlineEmail)',
);
await expect(applicationSubmissionDeadineEmail.send([application])).rejects.toThrow('Sending application submission deadline email (send helper)');
});
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,25 @@ import { Application, EmailResponse } from '../../../types';
* generates an array of promises to send submission deadline emails
* resolves all promises and logs the number of emails sent
* @param {Array<Application>} applications: Array of applications
* @returns {Promise<void>} application submission deadline emails sent
* @returns {Array<Promise>} application submission deadline emails sent
*/
const send = async (applications: Array<Application>) => {
const promises = applications.map(async (application) => {
const variables = mapApplicationSubmissionDeadlineVariables(application);
try {
console.info('Sending application submission deadline emails - send helper');

return sendEmail.submissionDeadlineEmail(variables.email, variables);
}) as Array<Promise<EmailResponse>>;
const mapped = applications.map(async (application) => {
const variables = mapApplicationSubmissionDeadlineVariables(application);

return Promise.all(promises)
.then((sent) => {
console.info('Application submission deadline emails sent: ', sent.length);
})
.catch((err) => {
console.error('Error sending application submission deadline email (sendEmail.submissionDeadlineEmail) %O', err);
throw new Error(`Sending application submission deadline email (sendEmail.submissionDeadlineEmail) ${err}`);
});
return sendEmail.submissionDeadlineEmail(variables.email, variables);
}) as Array<Promise<EmailResponse>>;

const promises = await Promise.all(mapped);

return promises;
} catch (err) {
console.error('Error sending application submission deadline email (send helper) %O', err);
throw new Error(`Sending application submission deadline email (send helper) ${err}`);
}
};

const applicationSubmissionDeadineEmail = {
Expand Down

0 comments on commit 743388c

Please sign in to comment.