add utility to wait for logger

This commit is contained in:
Ojakoo
2023-02-12 13:34:57 +02:00
parent 4146af7207
commit 71d19d44cf
3 changed files with 15 additions and 2 deletions
+3 -1
View File
@@ -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;
+3 -1
View File
@@ -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;
+9
View File
@@ -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;
}
}
}