Files
klp-oa/klp-ui/src/api/wms/packing.test.js

289 lines
6.4 KiB
JavaScript
Raw Normal View History

/**
* 打包模块 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
});
});
});
});