Skip to content

Commit 782aae7

Browse files
committed
Stabilize data e2e assertions
1 parent 2ea6c0e commit 782aae7

1 file changed

Lines changed: 6 additions & 23 deletions

File tree

packages/react-virtuoso/e2e/data.test.ts

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,38 +5,21 @@ import { navigateToExample } from './utils.ts'
55
test.describe('list with hundred items', () => {
66
test.beforeEach(async ({ baseURL, page }) => {
77
await navigateToExample(page, baseURL, 'data')
8-
await page.waitForSelector('[data-testid=virtuoso-scroller]')
9-
await page.waitForSelector('[data-testid=virtuoso-item-list]')
10-
await page.waitForTimeout(400)
8+
await expect(page.locator('[data-testid=virtuoso-scroller]')).toBeVisible()
9+
await expect(page.locator('[data-testid=virtuoso-item-list]')).toBeVisible()
1110
})
1211

1312
test('renders 10 items', async ({ page }) => {
14-
await page.waitForTimeout(400)
15-
const itemCount = await page.evaluate(() => {
16-
const listContainer = document.querySelector('[data-testid=virtuoso-item-list]')!
17-
return listContainer.childElementCount
18-
})
19-
expect(itemCount).toBe(10)
13+
await expect(page.locator('[data-testid=virtuoso-item-list] > div')).toHaveCount(10)
2014
})
2115

2216
test('fills in the scroller', async ({ page }) => {
23-
const scrollHeight = await page.evaluate(() => {
24-
const scroller = document.querySelector('[data-testid=virtuoso-scroller]')!
25-
return scroller.scrollHeight
26-
})
27-
expect(scrollHeight).toBe(100 * 30)
17+
await expect.poll(() => page.locator('[data-testid=virtuoso-scroller]').evaluate((scroller) => scroller.scrollHeight)).toBe(100 * 30)
2818
})
2919

3020
test('increases the items', async ({ page }) => {
31-
await page.evaluate(() => {
32-
document.querySelector('button')!.click()
33-
})
21+
await page.getByRole('button', { name: 'Append 20 Items' }).click()
3422

35-
const scrollHeight = await page.evaluate(() => {
36-
const scroller = document.querySelector('[data-testid=virtuoso-scroller]')!
37-
return scroller.scrollHeight
38-
})
39-
40-
expect(scrollHeight).toBe(120 * 30)
23+
await expect.poll(() => page.locator('[data-testid=virtuoso-scroller]').evaluate((scroller) => scroller.scrollHeight)).toBe(120 * 30)
4124
})
4225
})

0 commit comments

Comments
 (0)