test: update project page test due to file list overscan

This commit is contained in:
EnixCoda 2022-06-25 13:08:51 +08:00
parent d02c32bb4b
commit 1289ccdbd6
2 changed files with 7 additions and 10 deletions

View file

@ -7,7 +7,7 @@ import {
} from '../../utils'
describe(`in Gitako project page`, () => {
beforeAll(() => page.goto('https://github.com/EnixCoda/Gitako'))
beforeAll(() => page.goto('https://github.com/EnixCoda/Gitako/tree/test/200-changed-files-200-lines-each'))
it('should render Gitako', async () => {
await expectToFind('.gitako-side-bar .gitako-side-bar-body-wrapper')
@ -22,11 +22,11 @@ describe(`in Gitako project page`, () => {
const filesEle = await page.waitForSelector('.gitako-side-bar .files')
// node of tsconfig.json should NOT be rendered before scroll down
await expectToNotFind(selectFileTreeItem('package.json'))
await expectToNotFind(selectFileTreeItem('tsconfig.json'))
const box = await filesEle?.boundingBox()
if (box) {
await page.mouse.move(box.x + 40, box.y + 40)
await scroll({ totalDistance: 200, duration: 1000 })
await scroll({ totalDistance: 7000, stepDistance: 100 })
// node of tsconfig.json should be rendered now
await expectToFind(selectFileTreeItem('tsconfig.json'))

View file

@ -12,17 +12,14 @@ export function sleep(timeout: number) {
export async function scroll({
totalDistance,
step = 1,
duration = 500,
stepDistance = 100,
}: {
totalDistance: number
step?: number
duration?: number
stepDistance?: number
}) {
let distance = 0
while ((distance += step) < totalDistance) {
await (page.mouse as any).wheel({ deltaY: step })
await sleep((duration * step) / totalDistance)
while ((distance += stepDistance) < totalDistance) {
await (page.mouse as any).wheel({ deltaY: stepDistance })
}
}