forked from trent_larson/crowd-funder-for-time-pwa
In-progress: PWA install test
This commit is contained in:
27
test-playwright/05-install-pwa.spec.ts
Normal file
27
test-playwright/05-install-pwa.spec.ts
Normal file
@@ -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
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user