diff options
Diffstat (limited to 'packages/integrations/prefetch/test/basic-prefetch.test.js')
-rw-r--r-- | packages/integrations/prefetch/test/basic-prefetch.test.js | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/packages/integrations/prefetch/test/basic-prefetch.test.js b/packages/integrations/prefetch/test/basic-prefetch.test.js deleted file mode 100644 index 5fab536aa..000000000 --- a/packages/integrations/prefetch/test/basic-prefetch.test.js +++ /dev/null @@ -1,130 +0,0 @@ -import { expect } from '@playwright/test'; -import { testFactory } from './test-utils.js'; - -const test = testFactory({ root: './fixtures/basic-prefetch/' }); - -test.describe('Basic prefetch', () => { - test.describe('dev', () => { - let devServer; - - test.beforeEach(async ({ astro }) => { - devServer = await astro.startDevServer(); - }); - - test.afterEach(async () => { - await devServer.stop(); - }); - - test.describe('prefetches rel="prefetch" links', () => { - test('skips /admin', async ({ page, astro }) => { - const requests = []; - - page.on('request', (request) => requests.push(request.url())); - - await page.goto(astro.resolveUrl('/')); - - await page.waitForLoadState('networkidle'); - - expect(requests.includes(astro.resolveUrl('/about')), '/about was prefetched').toBeTruthy(); - expect( - requests.includes(astro.resolveUrl('/contact')), - '/contact was prefetched' - ).toBeTruthy(); - expect(requests.includes(astro.resolveUrl('/admin')), '/admin was skipped').toBeFalsy(); - expect( - requests.filter((r) => r === astro.resolveUrl('/')).length === 1, - '/ was skipped by prefetch and only queried once' - ).toBeTruthy(); - }); - }); - - test.describe('prefetches rel="prefetch-intent" links only on hover', () => { - test('prefetches /uses on hover', async ({ page, astro }) => { - const requests = []; - - page.on('request', (request) => requests.push(request.url())); - - await page.goto(astro.resolveUrl('/')); - - await page.waitForLoadState('networkidle'); - - expect( - requests.includes(astro.resolveUrl('/uses')), - '/uses was not prefetched' - ).toBeFalsy(); - - await page.hover('a[href="/uses"]'); - - await page.waitForLoadState('networkidle'); - - expect( - requests.includes(astro.resolveUrl('/uses')), - '/uses was prefetched on hover' - ).toBeTruthy(); - }); - }); - }); - - test.describe('build', () => { - let previewServer; - - test.beforeEach(async ({ astro }) => { - await astro.build(); - previewServer = await astro.preview(); - }); - - // important: close preview server (free up port and connection) - test.afterEach(async () => { - await previewServer.stop(); - }); - - test.describe('prefetches rel="prefetch" links', () => { - test('skips /admin', async ({ page, astro }) => { - const requests = []; - - page.on('request', (request) => requests.push(request.url())); - - await page.goto(astro.resolveUrl('/')); - - await page.waitForLoadState('networkidle'); - - expect(requests.includes(astro.resolveUrl('/about')), '/about was prefetched').toBeTruthy(); - expect( - requests.includes(astro.resolveUrl('/contact')), - '/contact was prefetched' - ).toBeTruthy(); - expect(requests.includes(astro.resolveUrl('/admin')), '/admin was skipped').toBeFalsy(); - expect( - requests.filter((r) => r === astro.resolveUrl('/')).length === 1, - '/ was skipped by prefetch and only queried once' - ).toBeTruthy(); - }); - }); - - test.describe('prefetches rel="prefetch-intent" links only on hover', () => { - test('prefetches /uses on hover', async ({ page, astro }) => { - const requests = []; - - page.on('request', (request) => requests.push(request.url())); - - await page.goto(astro.resolveUrl('/')); - - await page.waitForLoadState('networkidle'); - - expect( - requests.includes(astro.resolveUrl('/uses')), - '/uses was not prefetched' - ).toBeFalsy(); - - await page.hover('a[href="/uses"]'); - - await page.waitForLoadState('networkidle'); - - expect( - requests.includes(astro.resolveUrl('/uses')), - '/uses was prefetched on hover' - ).toBeTruthy(); - }); - }); - }); -}); |