qe-fe-automation
Version:
FE test automation framework using cypress
37 lines (34 loc) • 978 B
text/typescript
const fs = require('fs');
const pdfParse = require('pdf-parse');
// ts-prune-ignore-next
export const readPdf = (PDFfilename: string) => {
const pdf = `cypress/downloads/${PDFfilename}`;
return new Promise((resolve) => {
const dataBuffer = fs.readFileSync(pdf);
pdfParse(dataBuffer).then(function ({ text }: { text: string }) {
const arr = text.split('\n');
resolve(arr);
});
});
};
// ts-prune-ignore-next
export const findPDF = (PDFfilename: string) => {
const PDFfile = `cypress/downloads/${PDFfilename}`;
return fs.existsSync(PDFfile);
};
// ts-prune-ignore-next
export const hasPDF = (PDFfilename: string, ms: number) => {
const delay = 10;
return new Promise((resolve, reject) => {
if (ms < 10) {
return resolve(false);
}
const found = findPDF(PDFfilename);
if (found) {
return resolve(true);
}
setTimeout(() => {
hasPDF(PDFfilename, ms - delay).then(resolve, reject);
}, 10);
});
};