Files
ai-showcase-platform/scripts/test-user-management-integration.js

79 lines
2.9 KiB
JavaScript

async function testUserManagementIntegration() {
console.log('🧪 測試用戶管理與資料庫整合...\n');
try {
// 1. 測試獲取用戶列表 API
console.log('1. 測試獲取用戶列表 API...');
const usersResponse = await fetch('http://localhost:3000/api/admin/users');
if (usersResponse.ok) {
const usersData = await usersResponse.json();
console.log('✅ 用戶列表 API 成功');
console.log('用戶數量:', usersData.data?.users?.length || 0);
console.log('統計數據:', {
總用戶數: usersData.data?.stats?.totalUsers || 0,
活躍用戶: usersData.data?.stats?.activeUsers || 0,
管理員: usersData.data?.stats?.adminCount || 0,
開發者: usersData.data?.stats?.developerCount || 0,
非活躍用戶: usersData.data?.stats?.inactiveUsers || 0,
本月新增: usersData.data?.stats?.newThisMonth || 0
});
} else {
console.log('❌ 用戶列表 API 失敗:', usersResponse.status);
const errorData = await usersResponse.text();
console.log('錯誤信息:', errorData);
}
// 2. 測試邀請用戶 API
console.log('\n2. 測試邀請用戶 API...');
const inviteResponse = await fetch('http://localhost:3000/api/admin/users', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
email: 'test@example.com',
role: 'user'
})
});
if (inviteResponse.ok) {
const inviteData = await inviteResponse.json();
console.log('✅ 邀請用戶 API 成功');
console.log('邀請連結:', inviteData.data?.invitationLink);
} else {
const errorData = await inviteResponse.text();
console.log('❌ 邀請用戶 API 失敗:', inviteResponse.status, errorData);
}
// 3. 測試管理員頁面載入
console.log('\n3. 測試管理員頁面載入...');
const adminResponse = await fetch('http://localhost:3000/admin');
if (adminResponse.ok) {
console.log('✅ 管理員頁面載入成功');
const pageContent = await adminResponse.text();
if (pageContent.includes('用戶管理')) {
console.log('✅ 用戶管理頁面正常顯示');
} else {
console.log('⚠️ 用戶管理頁面可能未正常顯示');
}
} else {
console.log('❌ 管理員頁面載入失敗:', adminResponse.status);
}
console.log('\n🎉 用戶管理整合測試完成!');
console.log('\n📋 整合內容:');
console.log('✅ 創建了用戶管理 API 端點');
console.log('✅ 更新了 UserService 以支持管理功能');
console.log('✅ 連接了前端組件與後端 API');
console.log('✅ 實現了真實的數據載入和統計');
} catch (error) {
console.error('❌ 測試過程中發生錯誤:', error);
}
}
testUserManagementIntegration();