88 lines
2.3 KiB
JavaScript
88 lines
2.3 KiB
JavaScript
const jwt = require('jsonwebtoken');
|
|
|
|
async function testApproval() {
|
|
console.log('🧪 測試批准功能...');
|
|
|
|
// 生成測試 token
|
|
const token = jwt.sign(
|
|
{ userId: 'admin-001', role: 'admin' },
|
|
process.env.JWT_SECRET || 'good777',
|
|
{ expiresIn: '1h' }
|
|
);
|
|
|
|
console.log('✅ Token 生成成功\n');
|
|
|
|
try {
|
|
// 首先獲取應用程式列表
|
|
const response = await fetch('http://localhost:3000/api/apps', {
|
|
headers: {
|
|
'Authorization': `Bearer ${token}`
|
|
}
|
|
});
|
|
|
|
if (!response.ok) {
|
|
console.log(`❌ 獲取應用程式失敗: ${response.status}`);
|
|
return;
|
|
}
|
|
|
|
const data = await response.json();
|
|
console.log(`✅ 獲取到 ${data.apps.length} 個應用程式`);
|
|
|
|
// 找到一個可以測試的應用程式
|
|
const testApp = data.apps[0];
|
|
if (!testApp) {
|
|
console.log('❌ 沒有找到可測試的應用程式');
|
|
return;
|
|
}
|
|
|
|
console.log(`\n測試應用程式: ${testApp.name} (ID: ${testApp.id})`);
|
|
console.log(`當前狀態: ${testApp.status}`);
|
|
|
|
// 測試批准功能
|
|
console.log('\n測試批准功能...');
|
|
const approveResponse = await fetch(`http://localhost:3000/api/apps/${testApp.id}`, {
|
|
method: 'PUT',
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
'Authorization': `Bearer ${token}`
|
|
},
|
|
body: JSON.stringify({
|
|
status: 'published'
|
|
})
|
|
});
|
|
|
|
if (approveResponse.ok) {
|
|
console.log('✅ 批准成功');
|
|
} else {
|
|
const errorData = await approveResponse.json();
|
|
console.log(`❌ 批准失敗: ${errorData.error}`);
|
|
}
|
|
|
|
// 測試拒絕功能
|
|
console.log('\n測試拒絕功能...');
|
|
const rejectResponse = await fetch(`http://localhost:3000/api/apps/${testApp.id}`, {
|
|
method: 'PUT',
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
'Authorization': `Bearer ${token}`
|
|
},
|
|
body: JSON.stringify({
|
|
status: 'rejected'
|
|
})
|
|
});
|
|
|
|
if (rejectResponse.ok) {
|
|
console.log('✅ 拒絕成功');
|
|
} else {
|
|
const errorData = await rejectResponse.json();
|
|
console.log(`❌ 拒絕失敗: ${errorData.error}`);
|
|
}
|
|
|
|
} catch (error) {
|
|
console.log(`❌ 測試失敗: ${error.message}`);
|
|
}
|
|
|
|
console.log('\n✅ 批准測試完成');
|
|
}
|
|
|
|
testApproval();
|