@@ -143,6 +143,9 @@ const getLatestImapMessageDate = (query, options) => new Promise((resolve, rejec
143143 console . log ( new Date ( ) . toISOString ( ) , 'Query IMAP' , { query } ) ;
144144 imap . search ( query , function ( err , results ) {
145145 if ( err ) return reject ( err ) ;
146+ if ( ! results || ! results . length ) {
147+ return resolve ( ) ;
148+ }
146149 const f = imap . fetch ( results , {
147150 bodies : [ 'HEADER.FIELDS (DATE)' ] ,
148151 } ) ;
@@ -165,7 +168,7 @@ const getLatestImapMessageDate = (query, options) => new Promise((resolve, rejec
165168 f . once ( 'end' , function ( ) {
166169 imap . end ( ) ;
167170 if ( ! dates ) {
168- return reject ( 'No message received' ) ;
171+ return resolve ( ) ;
169172 }
170173 return resolve ( new Date ( Math . max . apply ( null , dates ) ) ) ;
171174 } ) ;
@@ -184,7 +187,7 @@ const checkEmailReceived = async (query, options) => {
184187 for ( let i = 0 ; i < 10 ; i ++ ) {
185188 await tests . delay ( 15 * 1000 ) ; // to delivery messages to mailbox
186189 const latest_date = await getLatestImapMessageDate ( query , options ) ;
187- if ( dateDiffMinutes ( new Date ( ) , new Date ( latest_date ) ) < 5 ) {
190+ if ( latest_date && dateDiffMinutes ( new Date ( ) , latest_date ) < 5 ) {
188191 return true ;
189192 }
190193 }
0 commit comments