import pkg from "@prisma/client"; import bcrypt from "bcryptjs"; const { PrismaClient } = pkg; const prisma = new PrismaClient(); async function main() { // Create or get a test user with PREMIUM plan const testEmail = "test.premium@example.com"; const testPassword = "TestPassword123!"; // Check if user exists let user = await prisma.user.findUnique({ where: { email: testEmail }, }); if (!user) { const passwordHash = await bcrypt.hash(testPassword, 10); user = await prisma.user.create({ data: { email: testEmail, name: "Test Premium User", passwordHash, plan: "PREMIUM", emailVerified: new Date(), }, }); console.log("Created test premium user:", user.email); } else { console.log("User already exists:", user.email); } // Create a test subscription if (user.stripeId) { console.log("User already has stripeId:", user.stripeId); } else { const user2 = await prisma.user.update({ where: { id: user.id }, data: { stripeId: "cus_test_" + Date.now(), subscription: { create: { stripeId: "sub_test_" + Date.now(), stripePriceId: "price_test", stripeCustomerId: "cus_test_" + Date.now(), status: "active", currentPeriodEnd: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000), }, }, }, include: { subscription: true }, }); console.log("Created subscription for user:", user2.email); } console.log("\nTest user credentials:"); console.log("Email:", testEmail); console.log("Password:", testPassword); } main() .catch((err) => { console.error(err); process.exit(1); }) .finally(async () => { await prisma.$disconnect(); });