chore: remove backend/test-setup.js
This commit is contained in:
@@ -1,158 +0,0 @@
|
|||||||
// Simple test script - use fetch
|
|
||||||
import http from 'http';
|
|
||||||
|
|
||||||
async function testApi() {
|
|
||||||
console.log('🧪 开始测试API...');
|
|
||||||
|
|
||||||
// 1. 测试健康检查
|
|
||||||
console.log('\n1️⃣ 测试健康检查...');
|
|
||||||
const healthResult = await makeRequest('/health', 'GET');
|
|
||||||
console.log(healthResult);
|
|
||||||
|
|
||||||
// 2. 创建测试用户
|
|
||||||
console.log('\n2️⃣ 创建测试用户...');
|
|
||||||
const userResult = await makeRequest('/api/users', 'POST', {
|
|
||||||
name: '测试用户',
|
|
||||||
email: 'test@example.com'
|
|
||||||
});
|
|
||||||
console.log('用户创建结果:', userResult);
|
|
||||||
|
|
||||||
const userId = userResult.data?.id || 1;
|
|
||||||
console.log(`使用 User ID: ${userId}`);
|
|
||||||
|
|
||||||
// 3. 创建账户
|
|
||||||
console.log('\n3️⃣ 创建测试账户...');
|
|
||||||
const account1 = await makeRequest('/api/accounts', 'POST', {
|
|
||||||
userId,
|
|
||||||
name: '支付宝',
|
|
||||||
type: 'payment',
|
|
||||||
color: '#1890FF',
|
|
||||||
balance: 5000
|
|
||||||
});
|
|
||||||
console.log('账户1:', account1);
|
|
||||||
|
|
||||||
const account2 = await makeRequest('/api/accounts', 'POST', {
|
|
||||||
userId,
|
|
||||||
name: '微信钱包',
|
|
||||||
type: 'payment',
|
|
||||||
color: '#52C41A',
|
|
||||||
balance: 3000
|
|
||||||
});
|
|
||||||
console.log('账户2:', account2);
|
|
||||||
|
|
||||||
// 4. 创建记录
|
|
||||||
console.log('\n4️⃣ 创建交易记录...');
|
|
||||||
const today = new Date();
|
|
||||||
await makeRequest('/api/records', 'POST', {
|
|
||||||
userId,
|
|
||||||
accountId: account1.data?.id || 1,
|
|
||||||
type: 'income',
|
|
||||||
amount: 8500,
|
|
||||||
category: '工资',
|
|
||||||
description: '2026年4月工资',
|
|
||||||
date: new Date(today.getFullYear(), today.getMonth(), 1).toISOString()
|
|
||||||
});
|
|
||||||
|
|
||||||
await makeRequest('/api/records', 'POST', {
|
|
||||||
userId,
|
|
||||||
accountId: account1.data?.id || 1,
|
|
||||||
type: 'expense',
|
|
||||||
amount: 68,
|
|
||||||
category: '餐饮',
|
|
||||||
description: '午饭',
|
|
||||||
date: today.toISOString()
|
|
||||||
});
|
|
||||||
|
|
||||||
await makeRequest('/api/records', 'POST', {
|
|
||||||
userId,
|
|
||||||
accountId: account2.data?.id || 2,
|
|
||||||
type: 'expense',
|
|
||||||
amount: 25,
|
|
||||||
category: '交通',
|
|
||||||
description: '打车',
|
|
||||||
date: today.toISOString()
|
|
||||||
});
|
|
||||||
|
|
||||||
// 5. 创建预算
|
|
||||||
console.log('\n5️⃣ 创建预算...');
|
|
||||||
const month = `${today.getFullYear()}-${String(today.getMonth() + 1).padStart(2, '0')}`;
|
|
||||||
await makeRequest('/api/budgets', 'POST', {
|
|
||||||
userId,
|
|
||||||
category: '餐饮',
|
|
||||||
amount: 1500,
|
|
||||||
month
|
|
||||||
});
|
|
||||||
await makeRequest('/api/budgets', 'POST', {
|
|
||||||
userId,
|
|
||||||
category: '交通',
|
|
||||||
amount: 500,
|
|
||||||
month
|
|
||||||
});
|
|
||||||
await makeRequest('/api/budgets', 'POST', {
|
|
||||||
userId,
|
|
||||||
category: '购物',
|
|
||||||
amount: 1000,
|
|
||||||
month
|
|
||||||
});
|
|
||||||
await makeRequest('/api/budgets', 'POST', {
|
|
||||||
userId,
|
|
||||||
category: '娱乐',
|
|
||||||
amount: 500,
|
|
||||||
month
|
|
||||||
});
|
|
||||||
|
|
||||||
// 6. 测试仪表盘接口
|
|
||||||
console.log('\n6️⃣ 测试仪表盘接口...');
|
|
||||||
const dashboard = await makeRequest(`/api/dashboard/summary?userId=${userId}`, 'GET');
|
|
||||||
console.log('仪表盘数据:', dashboard);
|
|
||||||
|
|
||||||
console.log('\n✅ 所有API测试完成!');
|
|
||||||
}
|
|
||||||
|
|
||||||
function makeRequest(path, method = 'GET', data = null) {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
const postData = data ? JSON.stringify(data) : null;
|
|
||||||
|
|
||||||
const options = {
|
|
||||||
hostname: 'localhost',
|
|
||||||
port: 3001,
|
|
||||||
path,
|
|
||||||
method,
|
|
||||||
headers: {
|
|
||||||
'Content-Type': 'application/json'
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
if (postData) {
|
|
||||||
options.headers['Content-Length'] = Buffer.byteLength(postData);
|
|
||||||
}
|
|
||||||
|
|
||||||
const req = http.request(options, (res) => {
|
|
||||||
let body = '';
|
|
||||||
|
|
||||||
res.on('data', (chunk) => {
|
|
||||||
body += chunk;
|
|
||||||
});
|
|
||||||
|
|
||||||
res.on('end', () => {
|
|
||||||
try {
|
|
||||||
resolve(JSON.parse(body));
|
|
||||||
} catch {
|
|
||||||
resolve(body);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
req.on('error', (e) => {
|
|
||||||
reject(e);
|
|
||||||
});
|
|
||||||
|
|
||||||
if (postData) {
|
|
||||||
req.write(postData);
|
|
||||||
}
|
|
||||||
|
|
||||||
req.end();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
testApi().catch(console.error);
|
|
||||||
Reference in New Issue
Block a user