From dd2a7d583a334d81da4b969688c6b944ee5003fa Mon Sep 17 00:00:00 2001 From: EnixCoda Date: Mon, 1 Nov 2021 21:48:05 +0800 Subject: [PATCH] test: adjust test code for passing CI --- __tests__/cases/non-parallel/pjax.files-page.ts | 5 +++-- __tests__/cases/non-parallel/pjax.internal.ts | 12 ++++++------ __tests__/utils.ts | 10 ++++------ 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/__tests__/cases/non-parallel/pjax.files-page.ts b/__tests__/cases/non-parallel/pjax.files-page.ts index dddf372..bfe72bb 100644 --- a/__tests__/cases/non-parallel/pjax.files-page.ts +++ b/__tests__/cases/non-parallel/pjax.files-page.ts @@ -9,8 +9,9 @@ describe(`in Gitako project page`, () => { `.js-details-container div[role="row"] div[role="rowheader"] a[title*="."]`, ) if (commitLinks.length < 2) throw new Error(`No enough files`) - await commitLinks[i].click() - await waitForLegacyPJAXRedirect() + await waitForLegacyPJAXRedirect(async () => { + await commitLinks[i].click() + }) await expectToFind('table.js-file-line-container') await sleep(1000) diff --git a/__tests__/cases/non-parallel/pjax.internal.ts b/__tests__/cases/non-parallel/pjax.internal.ts index 2856405..4b57bec 100644 --- a/__tests__/cases/non-parallel/pjax.internal.ts +++ b/__tests__/cases/non-parallel/pjax.internal.ts @@ -5,7 +5,7 @@ import { patientClick, selectFileTreeItem, sleep, - waitForPJAXAPIRedirect + waitForLegacyPJAXRedirect } from '../../utils' describe(`in Gitako project page`, () => { @@ -16,17 +16,17 @@ describe(`in Gitako project page`, () => { await expandFloatModeSidebar() await patientClick(selectFileTreeItem('.babelrc')) - await waitForPJAXAPIRedirect() + await waitForLegacyPJAXRedirect() // The selector for file content await expectToFind('table.js-file-line-container') - page.goBack() - await waitForPJAXAPIRedirect() + await waitForLegacyPJAXRedirect(async () => { + await sleep(1000) // This prevents failing in some cases due to some mystery scheduling issue of puppeteer or jest + page.goBack() + }) // The selector for file content await expectToNotFind('table.js-file-line-container') - - // await waitForPJAXAPIRedirect() }) }) diff --git a/__tests__/utils.ts b/__tests__/utils.ts index 56e422b..c81b87e 100644 --- a/__tests__/utils.ts +++ b/__tests__/utils.ts @@ -68,12 +68,10 @@ export function once(event: string, target: 'document' | 'window') { }) } -export function waitForLegacyPJAXRedirect() { - return once('pjax:end', 'document') -} - -export function waitForPJAXAPIRedirect() { - return once('pjax:ready', 'document') +export async function waitForLegacyPJAXRedirect(action?: () => void | Promise) { + const promise = once('pjax:end', 'document') + await action?.() + return promise } export function selectFileTreeItem(path: string): string {