// 测试打印任务创建和状态 const { DataSource } = require('typeorm'); const { PrintTaskService } = require('./packages/feie-printer-module-mt/dist/services/print-task.service'); const { PrintStatus } = require('./packages/feie-printer-module-mt/dist/types/feie.types'); async function testPrintTaskCreation() { console.log('测试打印任务创建...'); // 模拟配置 const feieConfig = { user: 'test@example.com', ukey: 'test-ukey', baseUrl: 'https://api.feieyun.cn/Api/Open/', timeout: 10000, maxRetries: 3 }; // 创建数据源(简化版) const dataSource = new DataSource({ type: 'postgres', host: '127.0.0.1', port: 5432, username: 'postgres', password: '', database: 'postgres', synchronize: false, logging: false }); try { await dataSource.initialize(); console.log('数据库连接成功'); const printTaskService = new PrintTaskService(dataSource, feieConfig); // 测试1: 创建延迟为0的任务 console.log('\n测试1: 创建delaySeconds=0的任务'); const task1 = await printTaskService.createPrintTask(1, { orderId: 999, printerSn: 'TEST123', content: '测试打印内容', printType: 'RECEIPT', delaySeconds: 0 }); console.log('任务1状态:', task1.printStatus); console.log('任务1计划时间:', task1.scheduledAt); console.log('预期状态: DELAYED'); console.log('实际状态:', task1.printStatus === PrintStatus.DELAYED ? '✓ 正确' : '✗ 错误'); // 测试2: 创建延迟为120秒的任务 console.log('\n测试2: 创建delaySeconds=120的任务'); const task2 = await printTaskService.createPrintTask(1, { orderId: 1000, printerSn: 'TEST456', content: '测试延迟打印内容', printType: 'RECEIPT', delaySeconds: 120 }); console.log('任务2状态:', task2.printStatus); console.log('任务2计划时间:', task2.scheduledAt); console.log('预期状态: DELAYED'); console.log('实际状态:', task2.printStatus === PrintStatus.DELAYED ? '✓ 正确' : '✗ 错误'); // 测试3: 创建未指定delaySeconds的任务 console.log('\n测试3: 创建未指定delaySeconds的任务'); const task3 = await printTaskService.createPrintTask(1, { orderId: 1001, printerSn: 'TEST789', content: '测试未指定延迟内容', printType: 'RECEIPT' // 不指定delaySeconds }); console.log('任务3状态:', task3.printStatus); console.log('任务3计划时间:', task3.scheduledAt); console.log('预期状态: DELAYED'); console.log('实际状态:', task3.printStatus === PrintStatus.DELAYED ? '✓ 正确' : '✗ 错误'); console.log('\n所有测试完成'); } catch (error) { console.error('测试失败:', error); } finally { await dataSource.destroy(); } } // 运行测试 testPrintTaskCreation().catch(console.error);