54 lines
1.5 KiB
JavaScript
54 lines
1.5 KiB
JavaScript
const jwt = require('jsonwebtoken');
|
||
|
||
async function testPagination() {
|
||
console.log('🧪 測試分頁功能...');
|
||
|
||
// 生成測試 token
|
||
const token = jwt.sign(
|
||
{ userId: 'admin-001', role: 'admin' },
|
||
process.env.JWT_SECRET || 'good777',
|
||
{ expiresIn: '1h' }
|
||
);
|
||
|
||
console.log('✅ Token 生成成功\n');
|
||
|
||
// 測試不同的分頁參數
|
||
const testCases = [
|
||
{ page: 1, limit: 3, description: '第1頁,每頁3筆' },
|
||
{ page: 2, limit: 3, description: '第2頁,每頁3筆' },
|
||
{ page: 1, limit: 5, description: '第1頁,每頁5筆' },
|
||
{ page: 1, limit: 10, description: '第1頁,每頁10筆' }
|
||
];
|
||
|
||
for (const testCase of testCases) {
|
||
console.log(`\n${testCase.description}:`);
|
||
|
||
try {
|
||
const params = new URLSearchParams({
|
||
page: testCase.page.toString(),
|
||
limit: testCase.limit.toString()
|
||
});
|
||
|
||
const response = await fetch(`http://localhost:3000/api/apps?${params}`, {
|
||
headers: {
|
||
'Authorization': `Bearer ${token}`
|
||
}
|
||
});
|
||
|
||
if (response.ok) {
|
||
const data = await response.json();
|
||
console.log(` 狀態碼: ${response.status}`);
|
||
console.log(` 應用程式數量: ${data.apps.length}`);
|
||
console.log(` 分頁資訊:`, data.pagination);
|
||
} else {
|
||
console.log(` 錯誤: ${response.status} ${response.statusText}`);
|
||
}
|
||
} catch (error) {
|
||
console.log(` 請求失敗: ${error.message}`);
|
||
}
|
||
}
|
||
|
||
console.log('\n✅ 分頁測試完成');
|
||
}
|
||
|
||
testPagination();
|