139 lines
4.7 KiB
JavaScript
139 lines
4.7 KiB
JavaScript
const axios = require('axios');
|
|||
|
|
|
||
|
|
// 测试配置
|
||
|
|
const API_BASE = 'http://localhost:3005/api';
|
||
|
|
|
||
|
|
// 测试用户信息
|
||
|
|
const user = {
|
||
|
|
username: 'admin',
|
||
|
|
password: 'X123c321@'
|
||
|
|
};
|
||
|
|
|
||
|
|
let token = '';
|
||
|
|
|
||
|
|
// 测试步骤
|
||
|
|
async function runTest() {
|
||
|
|
console.log('=== 开始测试申请-审批-执行流程 ===\n');
|
||
|
|
|
||
|
|
try {
|
||
|
|
// 1. 登录获取token
|
||
|
|
console.log('1. 登录系统...');
|
||
|
|
const loginResponse = await axios.post(`${API_BASE}/auth/login`, user);
|
||
|
|
if (loginResponse.data.success) {
|
||
|
|
console.log('✓ 登录成功');
|
||
|
|
token = loginResponse.data.data;
|
||
|
|
} else {
|
||
|
|
console.log('✗ 登录失败');
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 2. 创建一个测试预支申请
|
||
|
|
console.log('\n2. 创建测试预支申请...');
|
||
|
|
const advanceResponse = await axios.post(`${API_BASE}/advances`, {
|
||
|
|
amount: 1000,
|
||
|
|
reason: '测试预支申请',
|
||
|
|
currency: 'CNY',
|
||
|
|
advance_date: new Date().toISOString(),
|
||
|
|
applicant: '测试用户',
|
||
|
|
attachments: []
|
||
|
|
});
|
||
|
|
|
||
|
|
if (advanceResponse.data.success) {
|
||
|
|
console.log('✓ 预支申请创建成功');
|
||
|
|
const advanceId = advanceResponse.data.data.id;
|
||
|
|
console.log(` 预支申请ID: ${advanceId}`);
|
||
|
|
|
||
|
|
// 3. 审批通过预支申请
|
||
|
|
console.log('\n3. 审批通过预支申请...');
|
||
|
|
const approveResponse = await axios.post(`${API_BASE}/advances/${advanceId}/approve`);
|
||
|
|
if (approveResponse.data.success) {
|
||
|
|
console.log('✓ 预支申请审批通过');
|
||
|
|
} else {
|
||
|
|
console.log('✗ 预支申请审批失败');
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 4. 检查执行管理中的待执行列表
|
||
|
|
console.log('\n4. 检查执行管理待执行列表...');
|
||
|
|
const pendingResponse = await axios.get(`${API_BASE}/executions/pending`);
|
||
|
|
if (pendingResponse.data.success) {
|
||
|
|
console.log('✓ 获取待执行列表成功');
|
||
|
|
console.log(` 待执行数量: ${pendingResponse.data.data.length}`);
|
||
|
|
const pendingAdvance = pendingResponse.data.data.find(item => item.id === advanceId);
|
||
|
|
if (pendingAdvance) {
|
||
|
|
console.log('✓ 测试预支申请在待执行列表中');
|
||
|
|
} else {
|
||
|
|
console.log('✗ 测试预支申请不在待执行列表中');
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
console.log('✗ 获取待执行列表失败');
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 5. 执行预支申请
|
||
|
|
console.log('\n5. 执行预支申请...');
|
||
|
|
const executeResponse = await axios.post(`${API_BASE}/executions`, {
|
||
|
|
apply_id: advanceId,
|
||
|
|
apply_type: 'advance',
|
||
|
|
action: 'execute',
|
||
|
|
execute_method: 'bank',
|
||
|
|
voucher_no: 'TEST-001',
|
||
|
|
remark: '测试执行'
|
||
|
|
});
|
||
|
|
|
||
|
|
if (executeResponse.data.success) {
|
||
|
|
console.log('✓ 预支申请执行成功');
|
||
|
|
} else {
|
||
|
|
console.log('✗ 预支申请执行失败');
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 6. 检查执行管理中的已执行列表
|
||
|
|
console.log('\n6. 检查执行管理已执行列表...');
|
||
|
|
const executedResponse = await axios.get(`${API_BASE}/executions/executed`);
|
||
|
|
if (executedResponse.data.success) {
|
||
|
|
console.log('✓ 获取已执行列表成功');
|
||
|
|
console.log(` 已执行数量: ${executedResponse.data.data.length}`);
|
||
|
|
const executedAdvance = executedResponse.data.data.find(item => item.id === advanceId);
|
||
|
|
if (executedAdvance) {
|
||
|
|
console.log('✓ 测试预支申请在已执行列表中');
|
||
|
|
} else {
|
||
|
|
console.log('✗ 测试预支申请不在已执行列表中');
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
console.log('✗ 获取已执行列表失败');
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 7. 检查执行记录
|
||
|
|
console.log('\n7. 检查执行记录...');
|
||
|
|
const executionsResponse = await axios.get(`${API_BASE}/executions`);
|
||
|
|
if (executionsResponse.data.success) {
|
||
|
|
console.log('✓ 获取执行记录成功');
|
||
|
|
console.log(` 执行记录数量: ${executionsResponse.data.data.length}`);
|
||
|
|
const executionRecord = executionsResponse.data.data.find(item => item.apply_id === advanceId.toString());
|
||
|
|
if (executionRecord) {
|
||
|
|
console.log('✓ 测试预支申请有执行记录');
|
||
|
|
} else {
|
||
|
|
console.log('✗ 测试预支申请没有执行记录');
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
console.log('✗ 获取执行记录失败');
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
console.log('\n=== 测试完成 ===');
|
||
|
|
console.log('✓ 申请-审批-执行流程测试成功');
|
||
|
|
|
||
|
|
} else {
|
||
|
|
console.log('✗ 预支申请创建失败');
|
||
|
|
}
|
||
|
|
|
||
|
|
} catch (error) {
|
||
|
|
console.error('测试过程中发生错误:', error.message);
|
||
|
|
console.error('错误详情:', error.response ? error.response.data : error);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// 运行测试
|
||
|
|
runTest();
|