| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- // 测试打印任务创建和状态
- 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);
|