From 915d51dc2f43138c4ea51e1cfe467c7f8d082c9b Mon Sep 17 00:00:00 2001 From: Jose Olarte III Date: Thu, 22 Aug 2024 21:24:05 +0800 Subject: [PATCH] In-progress: PWA install test --- test-playwright/05-install-pwa.spec.ts | 27 ++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 test-playwright/05-install-pwa.spec.ts diff --git a/test-playwright/05-install-pwa.spec.ts b/test-playwright/05-install-pwa.spec.ts new file mode 100644 index 000000000..aba9d0987 --- /dev/null +++ b/test-playwright/05-install-pwa.spec.ts @@ -0,0 +1,27 @@ +const { test, expect } = require('@playwright/test'); + +test('Install PWA', async ({ page, context }) => { + await page.goto('./'); + + // Wait for the service worker to register + await page.waitForSelector('service-worker-registered-indicator', { + timeout: 10000, // Adjust timeout according to your needs + }); + + // Trigger the install prompt manually + const [installPrompt] = await Promise.all([ + page.waitForEvent('beforeinstallprompt'), + page.evaluate(() => { + window.dispatchEvent(new Event('beforeinstallprompt')); + }), + ]); + + // Accept the install prompt + await installPrompt.prompt(); + + // Check if the PWA was installed successfully + const result = await installPrompt.userChoice; + expect(result.outcome).toBe('accepted'); + + // Additional checks go here +});