@@ -198,7 +198,7 @@ describe('EmailClient', () => {
198198
199199 await client . sendTemplateSubmittedEmailToSuppliers ( mockTemplate ) ;
200200
201- expect ( sesClient . send ) . toHaveBeenCalledTimes ( 2 ) ;
201+ expect ( sesClient . send ) . toHaveBeenCalledTimes ( 3 ) ;
202202 expect ( sesClient . send ) . toHaveBeenCalledWith (
203203 expect . any ( SendRawEmailCommand )
204204 ) ;
@@ -211,27 +211,49 @@ describe('EmailClient', () => {
211211
212212 const supplier1EmailContent =
213213 sesCall1Input . input . RawMessage ?. Data ?. toString ( ) ;
214+
214215 expect ( supplier1EmailContent ) . toContain ( expandedTemplateId ) ;
216+ expect ( supplier1EmailContent ) . toContain ( recipientEmails . supplier1 [ 0 ] ) ;
215217 expect ( supplier1EmailContent ) . toContain ( 'template-name' ) ;
216218 expect ( supplier1EmailContent ) . toContain ( 'supplier1' ) ;
217219 expect ( supplier1EmailContent ) . not . toContain ( 'supplier2' ) ;
218220 expect ( supplier1EmailContent ) . toContain ( 'proof1.pdf' ) ;
219221 expect ( supplier1EmailContent ) . not . toContain ( 'proof2.pdf' ) ;
220222
221- // check email to supplier2
223+ // check emails to supplier2
222224 const sesCall2Input = sesClient . send . mock . calls [ 1 ] [ 0 ] ;
223225 if ( ! ( sesCall2Input instanceof SendRawEmailCommand ) ) {
224226 throw new TypeError ( 'Unexpected command given to SES client' ) ;
225227 }
226228
227- const supplier2EmailContent =
229+ const supplier2Recipient1EmailContent =
228230 sesCall2Input . input . RawMessage ?. Data ?. toString ( ) ;
229- expect ( supplier2EmailContent ) . toContain ( expandedTemplateId ) ;
230- expect ( supplier2EmailContent ) . toContain ( 'template-name' ) ;
231- expect ( supplier2EmailContent ) . not . toContain ( 'supplier1' ) ;
232- expect ( supplier2EmailContent ) . toContain ( 'supplier2' ) ;
233- expect ( supplier2EmailContent ) . not . toContain ( 'proof1.pdf' ) ;
234- expect ( supplier2EmailContent ) . toContain ( 'proof2.pdf' ) ;
231+ expect ( supplier2Recipient1EmailContent ) . toContain ( expandedTemplateId ) ;
232+ expect ( supplier2Recipient1EmailContent ) . toContain (
233+ recipientEmails . supplier2 [ 0 ]
234+ ) ;
235+ expect ( supplier2Recipient1EmailContent ) . toContain ( 'template-name' ) ;
236+ expect ( supplier2Recipient1EmailContent ) . not . toContain ( 'supplier1' ) ;
237+ expect ( supplier2Recipient1EmailContent ) . toContain ( 'supplier2' ) ;
238+ expect ( supplier2Recipient1EmailContent ) . not . toContain ( 'proof1.pdf' ) ;
239+ expect ( supplier2Recipient1EmailContent ) . toContain ( 'proof2.pdf' ) ;
240+
241+ const sesCall3Input = sesClient . send . mock . calls [ 2 ] [ 0 ] ;
242+ if ( ! ( sesCall3Input instanceof SendRawEmailCommand ) ) {
243+ throw new TypeError ( 'Unexpected command given to SES client' ) ;
244+ }
245+
246+ const supplier2Recipient2EmailContent =
247+ sesCall3Input . input . RawMessage ?. Data ?. toString ( ) ;
248+ expect ( supplier2Recipient2EmailContent ) . toContain ( expandedTemplateId ) ;
249+ expect ( supplier2Recipient2EmailContent ) . toContain (
250+ recipientEmails . supplier2 [ 1 ]
251+ ) ;
252+ expect ( supplier2Recipient2EmailContent ) . toContain ( 'template-name' ) ;
253+ expect ( supplier2Recipient2EmailContent ) . not . toContain ( 'supplier1' ) ;
254+ expect ( supplier2Recipient2EmailContent ) . toContain ( 'supplier2' ) ;
255+ expect ( supplier2Recipient2EmailContent ) . not . toContain ( 'proof1.pdf' ) ;
256+ expect ( supplier2Recipient2EmailContent ) . toContain ( 'proof2.pdf' ) ;
235257 } ) ;
236258 } ) ;
237259} ) ;
0 commit comments