import { defineConfig } from "cypress"; import { drizzle } from "drizzle-orm/mysql2"; import * as schema from './src/db/schema'; import dotenv from 'dotenv'; import { sql } from "drizzle-orm"; import { migrate } from "drizzle-orm/mysql2/migrator"; export default defineConfig({ e2e: { setupNodeEvents(on, config) { // implement node event listeners here on('task', { clearDatabase: async () => { dotenv.config({ path: '.env.e2e-test' }); console.log(process.env.DATABASE_URL); const db = drizzle(process.env.DATABASE_URL ?? '', { schema, mode: 'default', }); await db.execute(sql`DROP TABLE IF EXISTS ${schema.sessions}`); await db.execute(sql`DROP TABLE IF EXISTS ${schema.surveyAnswersTable}`); await db.execute(sql`DROP TABLE IF EXISTS ${schema.surveySkillsTable}`); await db.execute(sql`DROP TABLE IF EXISTS ${schema.surveyCommentsTable}`); await db.execute(sql`DROP TABLE IF EXISTS ${schema.surveyPermissionsTable}`); await db.execute(sql`DROP TABLE IF EXISTS ${schema.surveyAccessTable}`); await db.execute(sql`DROP TABLE IF EXISTS ${schema.surveysTable}`); await db.execute(sql`DROP TABLE IF EXISTS ${schema.usersTable}`); await db.execute(sql`DROP TABLE IF EXISTS __drizzle_migrations`); await migrate(db, { migrationsFolder: './drizzle', }); return null; } }); }, }, });