47 lines
1.5 KiB
TypeScript
47 lines
1.5 KiB
TypeScript
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;
|
|
}
|
|
});
|
|
},
|
|
},
|
|
});
|