Files
wjl 1a0ebde95d feat: 初始化 PicAnalysis 项目
完整的前后端图片分析应用,包含:
- 后端:Express + Prisma + SQLite,101个单元测试全部通过
- 前端:React + TypeScript + Vite,47个单元测试,89.73%覆盖率
- E2E测试:Playwright 测试套件
- MCP集成:Playwright MCP配置完成并测试通过

功能模块:
- 用户认证(JWT)
- 文档管理(CRUD)
- 待办管理(三态工作流)
- 图片管理(上传、截图、OCR)

测试覆盖:
- 后端单元测试:101/101 
- 前端单元测试:47/47 
- E2E测试:通过 
- MCP Playwright测试:通过 

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 20:10:11 +08:00

33 lines
980 B
TypeScript

/**
* Test Environment Setup
* Load test environment variables before tests run
*/
import { execSync } from 'child_process';
import path from 'path';
import fs from 'fs';
// Use development database for tests (simplest approach)
process.env.DATABASE_URL = 'file:./dev.db';
process.env.JWT_SECRET = 'test-secret-key-for-jest-development-purpose';
process.env.NODE_ENV = 'test';
// Initialize test database if needed
const dbPath = path.join(__dirname, '..', 'dev.db');
if (!fs.existsSync(dbPath)) {
try {
const schemaPath = path.join(__dirname, '..', 'prisma', 'schema.prisma');
execSync(`npx prisma db push --schema="${schemaPath}" --skip-generate`, {
stdio: 'inherit',
cwd: path.join(__dirname, '..'),
windowsHide: true
});
console.log('✅ Test database initialized');
} catch (error) {
console.error('❌ Failed to initialize test database:', error);
throw error;
}
} else {
console.log('✅ Using existing database');
}