summaryrefslogtreecommitdiff
path: root/packages/integrations/prefetch/test/custom-selectors.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/prefetch/test/custom-selectors.test.js')
-rw-r--r--packages/integrations/prefetch/test/custom-selectors.test.js32
1 files changed, 20 insertions, 12 deletions
diff --git a/packages/integrations/prefetch/test/custom-selectors.test.js b/packages/integrations/prefetch/test/custom-selectors.test.js
index 64ac5fc63..d57ac3b90 100644
--- a/packages/integrations/prefetch/test/custom-selectors.test.js
+++ b/packages/integrations/prefetch/test/custom-selectors.test.js
@@ -25,20 +25,24 @@ test.describe('Custom prefetch selectors', () => {
test.describe('prefetches links by custom selector', () => {
test('only prefetches /contact', async ({ page, astro }) => {
- const requests = new Set();
+ const requests = [];
- page.on('request', async (request) => requests.add(request.url()));
+ page.on('request', async (request) => requests.push(request.url()));
await page.goto(astro.resolveUrl('/'));
await page.waitForLoadState('networkidle');
- await expect(requests.has(astro.resolveUrl('/about')), '/about was skipped').toBeFalsy();
- await expect(
- requests.has(astro.resolveUrl('/contact')),
+ expect(requests.includes(astro.resolveUrl('/about')), '/about was skipped').toBeFalsy();
+ expect(
+ requests.includes(astro.resolveUrl('/contact')),
'/contact was prefetched'
).toBeTruthy();
- await expect(requests.has(astro.resolveUrl('/admin')), '/admin was skipped').toBeFalsy();
+ 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();
});
});
});
@@ -58,20 +62,24 @@ test.describe('Custom prefetch selectors', () => {
test.describe('prefetches links by custom selector', () => {
test('only prefetches /contact', async ({ page, astro }) => {
- const requests = new Set();
+ const requests = [];
- page.on('request', async (request) => requests.add(request.url()));
+ page.on('request', async (request) => requests.push(request.url()));
await page.goto(astro.resolveUrl('/'));
await page.waitForLoadState('networkidle');
- await expect(requests.has(astro.resolveUrl('/about')), '/about was skipped').toBeFalsy();
- await expect(
- requests.has(astro.resolveUrl('/contact')),
+ expect(requests.includes(astro.resolveUrl('/about')), '/about was skipped').toBeFalsy();
+ expect(
+ requests.includes(astro.resolveUrl('/contact')),
'/contact was prefetched'
).toBeTruthy();
- await expect(requests.has(astro.resolveUrl('/admin')), '/admin was skipped').toBeFalsy();
+ 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();
});
});
});