add utility to wait for logger
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
import { Selector } from "testcafe";
|
import { Selector } from "testcafe";
|
||||||
import {
|
import {
|
||||||
getSiteRoot, getPageUrl, generateTestForm, deleteEvent, deleteForm, doLogin, generateAccessToken, getPostRequestLogger,
|
getSiteRoot, getPageUrl, generateTestForm, deleteEvent, deleteForm, doLogin, generateAccessToken, getPostRequestLogger, waitForLogger,
|
||||||
} from "../utils";
|
} from "../utils";
|
||||||
|
|
||||||
const LOGGER = getPostRequestLogger("events/");
|
const LOGGER = getPostRequestLogger("events/");
|
||||||
@@ -78,6 +78,8 @@ test("Logged in user can create event", async (t) => {
|
|||||||
await t.click(submit);
|
await t.click(submit);
|
||||||
|
|
||||||
const parsed = JSON.parse(LOGGER.requests[0].response.body as string);
|
const parsed = JSON.parse(LOGGER.requests[0].response.body as string);
|
||||||
|
|
||||||
|
await waitForLogger(LOGGER);
|
||||||
// eslint-disable-next-line no-param-reassign
|
// eslint-disable-next-line no-param-reassign
|
||||||
t.fixtureCtx.eventId = parsed.id;
|
t.fixtureCtx.eventId = parsed.id;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Selector } from "testcafe";
|
import { Selector } from "testcafe";
|
||||||
import {
|
import {
|
||||||
getSiteRoot, getPageUrl, deleteForm, doLogin, generateAccessToken, getPostRequestLogger,
|
getSiteRoot, getPageUrl, deleteForm, doLogin, generateAccessToken, getPostRequestLogger, waitForLogger
|
||||||
} from "../utils";
|
} from "../utils";
|
||||||
|
|
||||||
const LOGGER = getPostRequestLogger("signupForm/");
|
const LOGGER = getPostRequestLogger("signupForm/");
|
||||||
@@ -97,6 +97,8 @@ test("Logged in user can create signup", async (t) => {
|
|||||||
await t.click(submit);
|
await t.click(submit);
|
||||||
|
|
||||||
const parsed = JSON.parse(LOGGER.requests[0].response.body as string);
|
const parsed = JSON.parse(LOGGER.requests[0].response.body as string);
|
||||||
|
|
||||||
|
await waitForLogger(LOGGER);
|
||||||
// eslint-disable-next-line no-param-reassign
|
// eslint-disable-next-line no-param-reassign
|
||||||
t.fixtureCtx.formId = parsed.id;
|
t.fixtureCtx.formId = parsed.id;
|
||||||
|
|
||||||
|
|||||||
@@ -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 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user