Files
radicle-explorer/tests/support/globalSetup.ts
T
Rūdolfs Ošiņšandxphoniex 26f96990a4 Extract fixture specific variables
Co-authored-by: xphoniex <dj.2dixx@gmail.com>
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2022-12-28 12:23:28 +01:00

34 lines
1.1 KiB
TypeScript

import type { FullConfig } from "@playwright/test";
import { seedPort, seedRemote } from "@tests/support/fixtures.js";
export default async function globalSetup(_config: FullConfig): Promise<void> {
assertHttpApiRunning();
}
// Assert that the test http-api is running. If it is not running, throw an
// error that explains how to run it.
async function assertHttpApiRunning(): Promise<void> {
const palmTestFixtureSeedId = seedRemote;
const notRunningMessage =
"The http-api server with test fixtures needs to be running.\n" +
"👉 You can start it with `./scripts/run-http-api-with-fixtures`\n";
let peerId: string | undefined = undefined;
try {
const response = await fetch(`http://0.0.0.0:${seedPort}`);
const data = await response.json();
peerId = data.peer.id;
} catch (err) {
console.error(err);
throw new Error(notRunningMessage);
}
if (peerId !== palmTestFixtureSeedId) {
const wrongSeedMessage = `The server on port ${seedPort} doesn't have the right fixtures.\n`;
throw new Error(wrongSeedMessage + notRunningMessage);
}
}