創意題與資料庫整合
This commit is contained in:
71
scripts/test-creative-flow.js
Normal file
71
scripts/test-creative-flow.js
Normal file
@@ -0,0 +1,71 @@
|
||||
// 測試創意測試流程
|
||||
const mysql = require('mysql2/promise')
|
||||
|
||||
async function testCreativeFlow() {
|
||||
const config = {
|
||||
host: process.env.DB_HOST || 'mysql.theaken.com',
|
||||
port: parseInt(process.env.DB_PORT || '33306'),
|
||||
user: process.env.DB_USER || 'hr_assessment',
|
||||
password: process.env.DB_PASSWORD || 'QFOts8FlibiI',
|
||||
database: process.env.DB_NAME || 'db_hr_assessment',
|
||||
}
|
||||
|
||||
console.log('🧪 測試創意測試流程')
|
||||
console.log('=' .repeat(50))
|
||||
|
||||
try {
|
||||
const connection = await mysql.createConnection(config)
|
||||
|
||||
// 1. 檢查資料庫中的題目
|
||||
const [questions] = await connection.execute('SELECT * FROM creative_questions ORDER BY id')
|
||||
console.log(`✅ 資料庫中有 ${questions.length} 道題目`)
|
||||
|
||||
// 2. 模擬 API 回應
|
||||
const apiResponse = {
|
||||
success: true,
|
||||
questions: questions
|
||||
}
|
||||
console.log('✅ API 回應格式正確')
|
||||
|
||||
// 3. 測試分數計算邏輯
|
||||
const mockAnswers = {
|
||||
0: 5, // 一般題目,選擇 5
|
||||
1: 5, // 反向題目,選擇 5
|
||||
2: 1, // 一般題目,選擇 1
|
||||
3: 1 // 反向題目,選擇 1
|
||||
}
|
||||
|
||||
let totalScore = 0
|
||||
questions.slice(0, 4).forEach((question, index) => {
|
||||
const answer = mockAnswers[index] || 1
|
||||
const score = question.is_reverse ? 6 - answer : answer
|
||||
totalScore += score
|
||||
|
||||
console.log(`題目 ${index + 1}: ${question.is_reverse ? '反向' : '一般'} - 選擇${answer} → 得分${score}`)
|
||||
})
|
||||
|
||||
const maxScore = 4 * 5
|
||||
const percentage = Math.round((totalScore / maxScore) * 100)
|
||||
|
||||
console.log(`\n📊 測試結果: ${totalScore}/${maxScore} (${percentage}%)`)
|
||||
|
||||
// 4. 檢查題目類別分布
|
||||
const categoryCount = {}
|
||||
questions.forEach(q => {
|
||||
categoryCount[q.category] = (categoryCount[q.category] || 0) + 1
|
||||
})
|
||||
|
||||
console.log('\n📋 題目類別分布:')
|
||||
Object.entries(categoryCount).forEach(([category, count]) => {
|
||||
console.log(`- ${category}: ${count} 題`)
|
||||
})
|
||||
|
||||
await connection.end()
|
||||
console.log('\n✅ 創意測試流程測試完成')
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ 測試失敗:', error.message)
|
||||
}
|
||||
}
|
||||
|
||||
testCreativeFlow()
|
Reference in New Issue
Block a user