Files
triggerdotdev--trigger.dev/apps/webapp/test/helpers/seedTestEnvironment.ts
T
2026-07-13 13:32:57 +08:00

47 lines
1.1 KiB
TypeScript

import type { PrismaClient } from "@trigger.dev/database";
import { randomBytes } from "crypto";
function randomHex(len = 12): string {
return randomBytes(Math.ceil(len / 2))
.toString("hex")
.slice(0, len);
}
export async function seedTestEnvironment(prisma: PrismaClient) {
const suffix = randomHex(8);
const apiKey = `tr_dev_${randomHex(24)}`;
const pkApiKey = `pk_dev_${randomHex(24)}`;
const organization = await prisma.organization.create({
data: {
title: `e2e-test-org-${suffix}`,
slug: `e2e-org-${suffix}`,
isActivated: true,
},
});
const project = await prisma.project.create({
data: {
name: `e2e-test-project-${suffix}`,
slug: `e2e-proj-${suffix}`,
externalRef: `proj_${suffix}`,
organizationId: organization.id,
engine: "V2",
},
});
const environment = await prisma.runtimeEnvironment.create({
data: {
slug: "dev",
type: "DEVELOPMENT",
apiKey,
pkApiKey,
shortcode: suffix.slice(0, 4),
projectId: project.id,
organizationId: organization.id,
},
});
return { organization, project, environment, apiKey };
}