Files
nxxmdata/bank-backend/test-completed-supervisions-api.js
2025-09-24 17:49:32 +08:00

122 lines
3.8 KiB
JavaScript

const axios = require('axios')
const BASE_URL = 'http://localhost:5351'
async function testCompletedSupervisionsAPI() {
try {
console.log('开始测试监管任务已结项API...')
// 1. 登录获取token
console.log('\n1. 用户登录...')
const loginResponse = await axios.post(`${BASE_URL}/api/auth/login`, {
username: 'admin',
password: 'admin123'
})
if (!loginResponse.data.success) {
throw new Error('登录失败: ' + loginResponse.data.message)
}
const token = loginResponse.data.data.token
console.log('✅ 登录成功')
const headers = {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
}
// 2. 获取监管任务已结项列表
console.log('\n2. 获取监管任务已结项列表...')
const listResponse = await axios.get(`${BASE_URL}/api/completed-supervisions`, {
headers,
params: {
page: 1,
limit: 10
}
})
console.log('监管任务已结项列表响应:', JSON.stringify(listResponse.data, null, 2))
// 3. 获取监管任务已结项统计
console.log('\n3. 获取监管任务已结项统计...')
const statsResponse = await axios.get(`${BASE_URL}/api/completed-supervisions/stats`, {
headers
})
console.log('监管任务已结项统计响应:', JSON.stringify(statsResponse.data, null, 2))
// 4. 创建新的监管任务已结项
console.log('\n4. 创建新的监管任务已结项...')
const newTask = {
applicationNumber: 'APP2024999',
contractNumber: 'LOAN2024999',
productName: '测试养殖贷',
customerName: '测试用户',
idType: 'ID_CARD',
idNumber: '440999999999999999',
assetType: '测试动物',
assetQuantity: 100,
totalRepaymentPeriods: 12,
settlementStatus: 'unsettled',
settlementNotes: '这是一个测试任务'
}
const createResponse = await axios.post(`${BASE_URL}/api/completed-supervisions`, newTask, {
headers
})
console.log('创建监管任务已结项响应:', JSON.stringify(createResponse.data, null, 2))
const createdTaskId = createResponse.data.data.id
// 5. 获取单个监管任务已结项详情
console.log('\n5. 获取监管任务已结项详情...')
const detailResponse = await axios.get(`${BASE_URL}/api/completed-supervisions/${createdTaskId}`, {
headers
})
console.log('监管任务已结项详情响应:', JSON.stringify(detailResponse.data, null, 2))
// 6. 更新监管任务已结项
console.log('\n6. 更新监管任务已结项...')
const updateData = {
settlementStatus: 'settled',
settlementDate: '2024-12-20',
settlementNotes: '更新后的备注信息'
}
const updateResponse = await axios.put(`${BASE_URL}/api/completed-supervisions/${createdTaskId}`, updateData, {
headers
})
console.log('更新监管任务已结项响应:', JSON.stringify(updateResponse.data, null, 2))
// 7. 批量更新状态
console.log('\n7. 批量更新状态...')
const batchUpdateResponse = await axios.put(`${BASE_URL}/api/completed-supervisions/batch/status`, {
ids: [createdTaskId],
settlementStatus: 'partial'
}, {
headers
})
console.log('批量更新状态响应:', JSON.stringify(batchUpdateResponse.data, null, 2))
// 8. 删除监管任务已结项
console.log('\n8. 删除监管任务已结项...')
const deleteResponse = await axios.delete(`${BASE_URL}/api/completed-supervisions/${createdTaskId}`, {
headers
})
console.log('删除监管任务已结项响应:', JSON.stringify(deleteResponse.data, null, 2))
console.log('\n✅ 所有监管任务已结项API测试完成')
} catch (error) {
console.error('❌ 测试失败:', error.response?.data || error.message)
}
}
// 运行测试
testCompletedSupervisionsAPI()