From b6b39a0703139470d71b18d9fe12d7da29b31ea4 Mon Sep 17 00:00:00 2001 From: Vincent LAURENT Date: Fri, 29 Oct 2021 17:41:00 +0200 Subject: [PATCH] =?UTF-8?q?Test=20sur=20la=20taille=20des=20objets=20plus?= =?UTF-8?q?=20fiable=20et=20t=C3=A9l=C3=A9chargement=20du=20pdf?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 ++- tests/signature.test.js | 28 +++++++++++++++------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 2e6c62d..b91bcc5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ data package-lock.json package.json -node_modules \ No newline at end of file +node_modules +tests/downloads/ diff --git a/tests/signature.test.js b/tests/signature.test.js index d60e9c8..0e771cf 100644 --- a/tests/signature.test.js +++ b/tests/signature.test.js @@ -12,11 +12,12 @@ var host = "localhost:"+(9000 + Math.floor((Math.random() * 1000))); describe("Signature d'un pdf", () => { var originX; var originY; + var hash; beforeAll(async () => { server = cp.spawn("php", ["-S", host, "-t", "public"]); browser = await puppeteer.launch({ headless: headless }); page = await browser.newPage(); - await page.setViewport({ width: 1200, height: 800 }) + await page.setViewport({ width: 1200, height: 700 }) await page.goto('http://' + host + '/'); }); it('Upload et chargement du pdf', async () => { @@ -24,6 +25,7 @@ describe("Signature d'un pdf", () => { await page.waitForNavigation() await page.waitForSelector('#canvas-pdf-15', {visible: true}); expect(await page.evaluate(() => { return document.querySelectorAll('.canvas-pdf').length })).toBe(16); + hash = await page.url().replace(/^.+\//, ''); }); it("Création d'une signature", async () => { await page.waitForSelector('#label_svg_signature_add', {visible: true}); @@ -78,11 +80,13 @@ describe("Signature d'un pdf", () => { it("Ajout d'une seconde signature", async () => { await page.click("#label_svg_0"); await page.waitForTimeout(100); - await page.mouse.click(100,100); + await page.mouse.click(originX + 50, originY + 50); expect(await page.evaluate(() => { return canvasEditions[0].getObjects().length; })).toBe(2); + expect(await page.evaluate(() => { return Math.round(canvasEditions[0].getObjects()[1].getScaledHeight())})).toBe(150); + expect(await page.evaluate(() => { return Math.round(canvasEditions[0].getObjects()[1].getScaledWidth())})).toBe(150); }); - it("Suppression de la seconde signature", async () => { - await page.mouse.click(100,100); + it("Suppression de la seconde signature du pdf", async () => { + await page.mouse.click(originX + 50, originY + 50); await page.waitForTimeout(100); await page.keyboard.press('Delete'); expect(await page.evaluate(() => { return canvasEditions[0].getObjects().length; })).toBe(1); @@ -92,20 +96,18 @@ describe("Signature d'un pdf", () => { await page.waitForTimeout(100); expect(await page.evaluate(() => { return document.querySelector("#label_svg_0 img") })).toBeNull(); }); + it("Téléchargement du pdf signé", async () => { + await page._client.send('Page.setDownloadBehavior', {behavior: 'allow', downloadPath: './tests/downloads'}); + await page.click("#save"); + await page.waitForTimeout(500); + await expect(require('fs').existsSync('./tests/downloads/'+hash+'_signe.pdf')).toBe(true); + }); afterAll(async () => { if(process.env.DEBUG) { return; } + await require('fs').unlinkSync('./tests/downloads/'+hash+'_signe.pdf'); await server.kill(); await browser.close(); }); }); - - - - - - - - -