113 lines
3.6 KiB
JavaScript
113 lines
3.6 KiB
JavaScript
// 测试分包商收款信息API
|
|||
|
|
|
||
|
|
const BASE_URL = 'http://localhost:3003/api';
|
||
|
|
|
||
|
|
async function testSubcontractorPaymentAPIs() {
|
||
|
|
console.log('=== 测试分包商收款信息API ===\n');
|
||
|
|
|
||
|
|
try {
|
||
|
|
// 1. 首先获取一个现有的分包商
|
||
|
|
console.log('1. 获取分包商列表...');
|
||
|
|
const listRes = await fetch(`${BASE_URL}/subcontractors`);
|
||
|
|
const listData = await listRes.json();
|
||
|
|
|
||
|
|
if (!listData.success || listData.data.length === 0) {
|
||
|
|
console.log('没有找到分包商,需要先创建测试数据');
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
const subcontractor = listData.data[0];
|
||
|
|
console.log(`找到分包商: ${subcontractor.name} (ID: ${subcontractor.id})`);
|
||
|
|
|
||
|
|
const subcontractorId = subcontractor.id;
|
||
|
|
|
||
|
|
// 2. 测试获取分包商收款信息
|
||
|
|
console.log('\n2. 测试获取分包商收款信息...');
|
||
|
|
const getRes = await fetch(`${BASE_URL}/subcontractors/${subcontractorId}/payment-infos`);
|
||
|
|
const getData = await getRes.json();
|
||
|
|
|
||
|
|
console.log(`状态: ${getRes.status}`);
|
||
|
|
console.log(`成功: ${getData.success}`);
|
||
|
|
console.log(`收款信息数量: ${getData.count || 0}`);
|
||
|
|
|
||
|
|
if (getData.data && getData.data.length > 0) {
|
||
|
|
console.log('收款信息:');
|
||
|
|
getData.data.forEach((payment, i) => {
|
||
|
|
console.log(` ${i+1}. ${payment.account_name} - ${payment.bank_name} (${payment.bank_account})`);
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
// 3. 测试添加收款信息
|
||
|
|
console.log('\n3. 测试添加收款信息...');
|
||
|
|
const newPayment = {
|
||
|
|
account_name: '测试账户',
|
||
|
|
bank_account: '1234567890123456',
|
||
|
|
bank_name: '测试银行',
|
||
|
|
qr_code: 'https://example.com/qr.png',
|
||
|
|
is_primary: true
|
||
|
|
};
|
||
|
|
|
||
|
|
const addRes = await fetch(`${BASE_URL}/subcontractors/${subcontractorId}/payment-infos`, {
|
||
|
|
method: 'POST',
|
||
|
|
headers: {
|
||
|
|
'Content-Type': 'application/json'
|
||
|
|
},
|
||
|
|
body: JSON.stringify(newPayment)
|
||
|
|
});
|
||
|
|
|
||
|
|
const addData = await addRes.json();
|
||
|
|
|
||
|
|
console.log(`状态: ${addRes.status}`);
|
||
|
|
console.log(`成功: ${addData.success}`);
|
||
|
|
console.log(`消息: ${addData.message}`);
|
||
|
|
|
||
|
|
if (addData.data) {
|
||
|
|
console.log(`添加的收款信息ID: ${addData.data.id}`);
|
||
|
|
const paymentId = addData.data.id;
|
||
|
|
|
||
|
|
// 4. 测试更新收款信息
|
||
|
|
console.log('\n4. 测试更新收款信息...');
|
||
|
|
const updatedPayment = {
|
||
|
|
account_name: '更新后的测试账户',
|
||
|
|
bank_account: '6543210987654321',
|
||
|
|
bank_name: '更新银行',
|
||
|
|
qr_code: 'https://example.com/updated-qr.png',
|
||
|
|
is_primary: false
|
||
|
|
};
|
||
|
|
|
||
|
|
const updateRes = await fetch(`${BASE_URL}/subcontractors/payment-infos/${paymentId}`, {
|
||
|
|
method: 'PUT',
|
||
|
|
headers: {
|
||
|
|
'Content-Type': 'application/json'
|
||
|
|
},
|
||
|
|
body: JSON.stringify(updatedPayment)
|
||
|
|
});
|
||
|
|
|
||
|
|
const updateData = await updateRes.json();
|
||
|
|
|
||
|
|
console.log(`状态: ${updateRes.status}`);
|
||
|
|
console.log(`成功: ${updateData.success}`);
|
||
|
|
console.log(`消息: ${updateData.message}`);
|
||
|
|
|
||
|
|
// 5. 测试删除收款信息
|
||
|
|
console.log('\n5. 测试删除收款信息...');
|
||
|
|
const deleteRes = await fetch(`${BASE_URL}/subcontractors/payment-infos/${paymentId}`, {
|
||
|
|
method: 'DELETE'
|
||
|
|
});
|
||
|
|
|
||
|
|
const deleteData = await deleteRes.json();
|
||
|
|
|
||
|
|
console.log(`状态: ${deleteRes.status}`);
|
||
|
|
console.log(`成功: ${deleteData.success}`);
|
||
|
|
console.log(`消息: ${deleteData.message}`);
|
||
|
|
}
|
||
|
|
|
||
|
|
console.log('\n=== 测试完成 ===');
|
||
|
|
|
||
|
|
} catch (error) {
|
||
|
|
console.error('测试失败:', error.message);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// 运行测试
|
||
|
|
testSubcontractorPaymentAPIs();
|