52 lines
1.9 KiB
JavaScript
52 lines
1.9 KiB
JavaScript
// =====================================================
|
|
// 測試評分進度功能
|
|
// =====================================================
|
|
|
|
async function testScoringProgress() {
|
|
console.log('🔧 測試評分進度功能...\n');
|
|
|
|
try {
|
|
// 等待服務器啟動
|
|
console.log('⏳ 等待服務器啟動...');
|
|
await new Promise(resolve => setTimeout(resolve, 5000));
|
|
|
|
// 獲取競賽列表
|
|
console.log('📊 獲取競賽列表...');
|
|
const competitionsResponse = await fetch('http://localhost:3000/api/competitions');
|
|
const competitionsData = await competitionsResponse.json();
|
|
|
|
if (!competitionsData.success || !competitionsData.data || competitionsData.data.length === 0) {
|
|
console.log('❌ 沒有找到競賽數據');
|
|
return;
|
|
}
|
|
|
|
const competition = competitionsData.data[0];
|
|
console.log('✅ 找到競賽:', competition.name, '(ID:', competition.id + ')');
|
|
|
|
// 測試評分進度 API
|
|
console.log('\n📊 測試評分進度 API...');
|
|
const progressResponse = await fetch(`http://localhost:3000/api/competitions/scoring-progress?competitionId=${competition.id}`);
|
|
const progressData = await progressResponse.json();
|
|
|
|
console.log('📊 評分進度 API 回應:');
|
|
console.log('狀態碼:', progressResponse.status);
|
|
console.log('回應數據:', JSON.stringify(progressData, null, 2));
|
|
|
|
if (progressData.success) {
|
|
console.log('✅ 評分進度獲取成功!');
|
|
console.log(`📈 評分進度: ${progressData.data.completed}/${progressData.data.total} (${progressData.data.percentage}%)`);
|
|
} else {
|
|
console.log('❌ 評分進度獲取失敗:', progressData.message);
|
|
if (progressData.error) {
|
|
console.log('錯誤詳情:', progressData.error);
|
|
}
|
|
}
|
|
|
|
} catch (error) {
|
|
console.error('❌ 測試失敗:', error.message);
|
|
}
|
|
}
|
|
|
|
// 執行測試
|
|
testScoringProgress();
|