rwsdk
Version:
Build fast, server-driven webapps on Cloudflare with SSR, RSC, and realtime
31 lines (30 loc) • 1.15 kB
JavaScript
import { setupTarballEnvironment } from "../../lib/e2e/tarball.mjs";
import { createSmokeTestComponents } from "./codeUpdates.mjs";
import { log } from "./constants.mjs";
/**
* Sets up the test environment for smoke tests, preparing any resources needed for testing
*/
export async function setupTestEnvironment(options = {}) {
if (!options.projectDir) {
throw new Error("projectDir is required for smoke tests");
}
const tarballEnv = await setupTarballEnvironment({
projectDir: options.projectDir,
packageManager: options.packageManager,
});
const resources = {
tempDirCleanup: tarballEnv.cleanup,
workerName: undefined,
originalCwd: process.cwd(),
targetDir: tarballEnv.targetDir,
workerCreatedDuringTest: false,
stopDev: undefined,
resourceUniqueKey: `smoke-test-${Date.now()}`,
};
if (resources.targetDir) {
// Create the smoke test components in the user's project
log("Creating smoke test components");
await createSmokeTestComponents(resources.targetDir, options.skipClient);
}
return resources;
}