From 71d19d44cf7d2579ea706ca9d25415e96c3041a4 Mon Sep 17 00:00:00 2001 From: Ojakoo Date: Sun, 12 Feb 2023 13:34:57 +0200 Subject: [PATCH] add utility to wait for logger --- tests/testcafe/admin/create-event.test.ts | 4 +++- tests/testcafe/admin/create-signup.test.ts | 4 +++- tests/testcafe/utils.ts | 9 +++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/tests/testcafe/admin/create-event.test.ts b/tests/testcafe/admin/create-event.test.ts index 41f0917..d280d74 100644 --- a/tests/testcafe/admin/create-event.test.ts +++ b/tests/testcafe/admin/create-event.test.ts @@ -1,6 +1,6 @@ import { Selector } from "testcafe"; import { - getSiteRoot, getPageUrl, generateTestForm, deleteEvent, deleteForm, doLogin, generateAccessToken, getPostRequestLogger, + getSiteRoot, getPageUrl, generateTestForm, deleteEvent, deleteForm, doLogin, generateAccessToken, getPostRequestLogger, waitForLogger, } from "../utils"; const LOGGER = getPostRequestLogger("events/"); @@ -78,6 +78,8 @@ test("Logged in user can create event", async (t) => { await t.click(submit); const parsed = JSON.parse(LOGGER.requests[0].response.body as string); + + await waitForLogger(LOGGER); // eslint-disable-next-line no-param-reassign t.fixtureCtx.eventId = parsed.id; diff --git a/tests/testcafe/admin/create-signup.test.ts b/tests/testcafe/admin/create-signup.test.ts index c933e70..17426ab 100644 --- a/tests/testcafe/admin/create-signup.test.ts +++ b/tests/testcafe/admin/create-signup.test.ts @@ -1,6 +1,6 @@ import { Selector } from "testcafe"; import { - getSiteRoot, getPageUrl, deleteForm, doLogin, generateAccessToken, getPostRequestLogger, + getSiteRoot, getPageUrl, deleteForm, doLogin, generateAccessToken, getPostRequestLogger, waitForLogger } from "../utils"; const LOGGER = getPostRequestLogger("signupForm/"); @@ -97,6 +97,8 @@ test("Logged in user can create signup", async (t) => { await t.click(submit); const parsed = JSON.parse(LOGGER.requests[0].response.body as string); + + await waitForLogger(LOGGER); // eslint-disable-next-line no-param-reassign t.fixtureCtx.formId = parsed.id; diff --git a/tests/testcafe/utils.ts b/tests/testcafe/utils.ts index d2401f5..113df83 100644 --- a/tests/testcafe/utils.ts +++ b/tests/testcafe/utils.ts @@ -157,3 +157,12 @@ export const generateTestEvent = async (formIds = [], jwt_access: string) => ( ); export const sleep = async (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); + +export const waitForLogger = async (logger: RequestLogger) => { + for (let i = 0; i < 50; i++) { + await sleep(100); + if (logger.requests.length > 0 ) { + return; + } + } +}