28 lines
906 B
TypeScript
28 lines
906 B
TypeScript
import { mkdirSync, writeFileSync, existsSync, readFileSync } from 'fs'
|
|||
|
|
import { resolve } from 'path'
|
||
|
|
import { allTestConversations } from './fixtures/test-chats'
|
||
|
|
|
||
|
|
const CHATS_PATH = resolve(process.cwd(), '.dev', 'chats.json')
|
||
|
|
|
||
|
|
export default async function globalSetup() {
|
||
|
|
const dir = resolve(process.cwd(), '.dev')
|
||
|
|
if (!existsSync(dir)) mkdirSync(dir, { recursive: true })
|
||
|
|
|
||
|
|
// Backup existing chats if present (for local dev)
|
||
|
|
let backup: string | null = null
|
||
|
|
if (existsSync(CHATS_PATH)) {
|
||
|
|
backup = readFileSync(CHATS_PATH, 'utf-8')
|
||
|
|
}
|
||
|
|
|
||
|
|
const payload = {
|
||
|
|
conversations: allTestConversations,
|
||
|
|
activeConversationId: 'e2e-films',
|
||
|
|
}
|
||
|
|
writeFileSync(CHATS_PATH, JSON.stringify(payload, null, 2), 'utf-8')
|
||
|
|
|
||
|
|
// Store backup path for teardown (we pass via env since globalSetup/Teardown don't share scope easily)
|
||
|
|
if (backup) {
|
||
|
|
process.env.AIUI_E2E_CHATS_BACKUP = backup
|
||
|
|
}
|
||
|
|
}
|