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