Created
May 13, 2020 18:51
-
-
Save jakedowns/4288d0dd0ebe62a073b187992ddae6bf to your computer and use it in GitHub Desktop.
ghost inspector wait for emails to arrive with subject(s)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
return new Promise((resolve,reject)=>{ | |
function checkForEmails(){ | |
var assertions = []; | |
var subject_assertions = {{giemail_assert_emails_arrived_with_subjects}}; | |
var subjects_in_dom = {{subjects_in_dom}}; | |
for(var i=0; i<subject_assertions.length; i++){ | |
// Exact Match | |
//assertions.push(subjects_in_dom.indexOf(subject_assertions[i]) >-1) | |
// Partial Matching | |
let found = false; | |
for(var j=0; j<subjects_in_dom.length; j++){ | |
if(subjects_in_dom[j].indexOf(subject_assertions[i]) >- 1){ | |
found = true; | |
} | |
} | |
assertions.push(found); | |
} | |
let result = assertions.reduce(function(acc,curr){ | |
return curr ? acc+1 : acc; | |
},0) === assertions.length; | |
console.log('GIEmail Assert Subjects in DOM', JSON.stringify({ | |
subject_assertions, | |
subjects_in_dom, | |
assertions, | |
result | |
})); | |
return result; | |
} | |
let start = Date.now(); | |
function recursiveCheck(){ | |
let now = Date.now(); | |
let passing = checkForEmails(); | |
if(passing){ | |
resolve("true"); | |
}else if(!passing && now - start < 59000){ | |
setTimeout(()=>{ | |
recursiveCheck(); | |
},500); | |
}else{ | |
resolve("false"); | |
} | |
} | |
recursiveCheck(); | |
}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment