新增評分項目設定、資料庫整合

This commit is contained in:
2025-09-22 00:33:12 +08:00
parent 8de09129be
commit 9d4c586ad3
20 changed files with 2321 additions and 79 deletions

View File

@@ -0,0 +1,69 @@
const fetch = (...args) => import('node-fetch').then(({default: fetch}) => fetch(...args));
const API_BASE = 'http://localhost:3000/api';
async function testCriteriaAPI() {
try {
console.log('🔄 測試評分標準 API...');
// 1. 測試獲取預設模板
console.log('\n1. 測試獲取預設模板...');
const defaultResponse = await fetch(`${API_BASE}/criteria-templates/default`);
const defaultData = await defaultResponse.json();
if (defaultData.success) {
console.log('✅ 預設模板獲取成功');
console.log(` 模板名稱: ${defaultData.data.name}`);
console.log(` 評分項目數量: ${defaultData.data.items.length}`);
defaultData.data.items.forEach((item, index) => {
console.log(` ${index + 1}. ${item.name} (權重: ${item.weight}%)`);
});
} else {
console.log('❌ 預設模板獲取失敗:', defaultData.error);
}
// 2. 測試創建新模板
console.log('\n2. 測試創建新模板...');
const newTemplate = {
name: '測試模板',
description: '這是一個測試模板',
items: [
{ name: '測試項目1', description: '測試描述1', weight: 50, maxScore: 10 },
{ name: '測試項目2', description: '測試描述2', weight: 50, maxScore: 10 }
]
};
const createResponse = await fetch(`${API_BASE}/criteria-templates`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(newTemplate)
});
const createData = await createResponse.json();
if (createData.success) {
console.log('✅ 新模板創建成功');
console.log(` 模板 ID: ${createData.data.id}`);
} else {
console.log('❌ 新模板創建失敗:', createData.error);
}
// 3. 測試獲取所有模板
console.log('\n3. 測試獲取所有模板...');
const allResponse = await fetch(`${API_BASE}/criteria-templates`);
const allData = await allResponse.json();
if (allData.success) {
console.log('✅ 所有模板獲取成功');
console.log(` 模板總數: ${allData.data.length}`);
} else {
console.log('❌ 所有模板獲取失敗:', allData.error);
}
console.log('\n🎉 API 測試完成!');
} catch (error) {
console.error('❌ 測試失敗:', error.message);
}
}
testCriteriaAPI();