/** * 打包模块 API 测试用例 * 测试打包单据和明细表相关的 API 接口 */ import { expect, test, describe, beforeEach, afterEach, jest } from '@jest/globals'; // Mock request 模块 jest.mock('@/utils/request', () => ({ default: jest.fn(() => Promise.resolve({ code: 200, data: {} })) })); import { listPacking, getPacking, addPacking, updatePacking, delPacking, listPackingDetail, listPackedCoil, addPackingDetail, updatePackingDetail, delPackingDetail, batchAddPackingDetail, getPackingByNo, submitPacking, cancelSubmitPacking } from './packing'; import request from '@/utils/request'; describe('Packing API Tests', () => { beforeEach(() => { jest.clearAllMocks(); }); describe('打包单据主表 API', () => { test('listPacking - 查询打包单据列表', () => { const query = { pageNum: 1, pageSize: 20, packingNo: 'PK20260323001' }; listPacking(query); expect(request).toHaveBeenCalledWith({ url: '/wms/packing/list', method: 'get', params: query }); }); test('getPacking - 查询单个打包单据详情', () => { const packingId = '1'; getPacking(packingId); expect(request).toHaveBeenCalledWith({ url: '/wms/packing/1', method: 'get' }); }); test('addPacking - 新增打包单据', () => { const data = { batchNo: 'BATCH001', packingDate: '2026-03-23', team: '甲', operator: '张三', remark: '测试备注' }; addPacking(data); expect(request).toHaveBeenCalledWith({ url: '/wms/packing', method: 'post', data: data }); }); test('updatePacking - 修改打包单据', () => { const data = { packingId: '1', batchNo: 'BATCH001', packingDate: '2026-03-23', team: '甲', operator: '张三', remark: '修改后的备注' }; updatePacking(data); expect(request).toHaveBeenCalledWith({ url: '/wms/packing', method: 'put', data: data }); }); test('delPacking - 删除打包单据', () => { const packingId = '1'; delPacking(packingId); expect(request).toHaveBeenCalledWith({ url: '/wms/packing/1', method: 'delete' }); }); test('getPackingByNo - 根据单据号查询打包单据', () => { const packingNo = 'PK20260323001'; getPackingByNo(packingNo); expect(request).toHaveBeenCalledWith({ url: '/wms/packing/no/PK20260323001', method: 'get' }); }); test('submitPacking - 提交打包单据', () => { const packingId = '1'; submitPacking(packingId); expect(request).toHaveBeenCalledWith({ url: '/wms/packing/submit/1', method: 'post' }); }); test('cancelSubmitPacking - 取消提交打包单据', () => { const packingId = '1'; cancelSubmitPacking(packingId); expect(request).toHaveBeenCalledWith({ url: '/wms/packing/cancelSubmit/1', method: 'post' }); }); }); describe('打包明细表 API', () => { test('listPackingDetail - 查询打包明细列表', () => { const query = { packingId: '1', pageNum: 1, pageSize: 20 }; listPackingDetail(query); expect(request).toHaveBeenCalledWith({ url: '/wms/packingDetail/list', method: 'get', params: query }); }); test('addPackingDetail - 新增打包明细', () => { const data = { packingId: '1', coilId: '1001', coilNo: '26L0312345', itemName: '镀锌板', specification: '1.0*1000*C', material: 'DX51D+Z', netWeight: 5.5, beforePosition: 'A区01号位', afterPosition: '' }; addPackingDetail(data); expect(request).toHaveBeenCalledWith({ url: '/wms/packingDetail', method: 'post', data: data }); }); test('updatePackingDetail - 修改打包明细', () => { const data = { detailId: '1', packingId: '1', afterPosition: 'B区02号位' }; updatePackingDetail(data); expect(request).toHaveBeenCalledWith({ url: '/wms/packingDetail', method: 'put', data: data }); }); test('delPackingDetail - 删除打包明细', () => { const detailId = '1'; delPackingDetail(detailId); expect(request).toHaveBeenCalledWith({ url: '/wms/packingDetail/1', method: 'delete' }); }); test('batchAddPackingDetail - 批量新增打包明细', () => { const data = [ { packingId: '1', coilId: '1001', coilNo: '26L0312345', itemName: '镀锌板', specification: '1.0*1000*C', material: 'DX51D+Z', netWeight: 5.5, beforePosition: 'A区01号位', afterPosition: '' }, { packingId: '1', coilId: '1002', coilNo: '26L0312346', itemName: '镀锌板', specification: '1.0*1000*C', material: 'DX51D+Z', netWeight: 5.2, beforePosition: 'A区02号位', afterPosition: '' } ]; batchAddPackingDetail(data); expect(request).toHaveBeenCalledWith({ url: '/wms/packingDetail/batch', method: 'post', data: data }); }); }); describe('已打包钢卷查询 API', () => { test('listPackedCoil - 查询已打包钢卷列表', () => { const query = { pageNum: 1, pageSize: 20, packingNo: 'PK20260323001', batchNo: 'BATCH001', coilNo: '26L0312345', team: '甲' }; listPackedCoil(query); expect(request).toHaveBeenCalledWith({ url: '/wms/packing/packedCoilList', method: 'get', params: query }); }); test('listPackedCoil - 带日期范围参数查询已打包钢卷', () => { const query = { pageNum: 1, pageSize: 20, params: { beginPackingDate: '2026-03-01', endPackingDate: '2026-03-31' } }; listPackedCoil(query); expect(request).toHaveBeenCalledWith({ url: '/wms/packing/packedCoilList', method: 'get', params: query }); }); }); });