161 lines
6.3 KiB
TypeScript
161 lines
6.3 KiB
TypeScript
import { vi } from "vitest";
|
|
|
|
// Manual mock for the API layer. Every endpoint resolves with the standard
|
|
// `{ code: 0, data }` envelope so pages can render without a live backend.
|
|
// Object envelope covering the shapes pages read: `data.list` for paginated
|
|
// tables plus the nested arrays detail pages iterate (`details`, etc.). All
|
|
// default to empty so `.map`/`.length` access never throws.
|
|
function makeData() {
|
|
return {
|
|
list: [],
|
|
total: 0,
|
|
records: [],
|
|
nodes: [],
|
|
edges: [],
|
|
details: [],
|
|
payments: [],
|
|
receipts: [],
|
|
items: [],
|
|
children: [],
|
|
bolts: [],
|
|
pans: [],
|
|
colors: [],
|
|
};
|
|
}
|
|
|
|
const ok = () => Promise.resolve({ code: 0, msg: "ok", success: true, data: makeData() });
|
|
|
|
export const login = vi.fn(() =>
|
|
Promise.resolve({ code: 0, msg: "ok", data: { token: "test-token", userInfo: { tenantId: "t1", name: "tester" } } }),
|
|
);
|
|
export const getUserInfo = vi.fn(() =>
|
|
Promise.resolve({ code: 0, msg: "ok", data: { name: "tester", menuPaths: [], roles: [] } }),
|
|
);
|
|
export const logout = vi.fn(ok);
|
|
export const changePassword = vi.fn(ok);
|
|
export const listUsers = vi.fn(ok);
|
|
export const getUser = vi.fn(ok);
|
|
export const createUser = vi.fn(ok);
|
|
export const updateUser = vi.fn(ok);
|
|
export const deleteUser = vi.fn(ok);
|
|
export const updateUserStatus = vi.fn(ok);
|
|
export const listRoles = vi.fn(ok);
|
|
export const createRole = vi.fn(ok);
|
|
export const updateRole = vi.fn(ok);
|
|
export const deleteRole = vi.fn(ok);
|
|
export const setRolePermissions = vi.fn(ok);
|
|
export const listMenus = vi.fn(ok);
|
|
export const createMenu = vi.fn(ok);
|
|
export const updateMenu = vi.fn(ok);
|
|
export const deleteMenu = vi.fn(ok);
|
|
export const listLogs = vi.fn(ok);
|
|
export const listConfigs = vi.fn(ok);
|
|
export const updateConfig = vi.fn(ok);
|
|
export const listProducts = vi.fn(ok);
|
|
export const getProduct = vi.fn(ok);
|
|
export const createProduct = vi.fn(ok);
|
|
export const updateProduct = vi.fn(ok);
|
|
export const deleteProduct = vi.fn(ok);
|
|
export const exportProducts = vi.fn(ok);
|
|
export const getProductSummary = vi.fn(ok);
|
|
export const getColorDetail = vi.fn(ok);
|
|
export const getProductTree = vi.fn(ok);
|
|
export const listYarns = vi.fn(ok);
|
|
export const createYarn = vi.fn(ok);
|
|
export const updateYarn = vi.fn(ok);
|
|
export const deleteYarn = vi.fn(ok);
|
|
export const listProductBatches = vi.fn(ok);
|
|
export const createProductBatch = vi.fn(ok);
|
|
export const updateProductBatch = vi.fn(ok);
|
|
export const deleteProductBatch = vi.fn(ok);
|
|
export const listPans = vi.fn(ok);
|
|
export const savePans = vi.fn(ok);
|
|
export const listBolts = vi.fn(ok);
|
|
export const saveBolts = vi.fn(ok);
|
|
export const listPanView = vi.fn(ok);
|
|
export const listBoltView = vi.fn(ok);
|
|
export const getStockSummary = vi.fn(ok);
|
|
export const getStockByColor = vi.fn(ok);
|
|
export const getStockByLocation = vi.fn(ok);
|
|
export const listStockChecks = vi.fn(ok);
|
|
export const getStockCheck = vi.fn(ok);
|
|
export const createStockCheck = vi.fn(ok);
|
|
export const confirmStockCheck = vi.fn(ok);
|
|
export const listStockAdjusts = vi.fn(ok);
|
|
export const getStockAdjust = vi.fn(ok);
|
|
export const createStockAdjust = vi.fn(ok);
|
|
export const approveStockAdjust = vi.fn(ok);
|
|
export const listUpstream = vi.fn(ok);
|
|
export const listDownstream = vi.fn(ok);
|
|
export const createRelation = vi.fn(ok);
|
|
export const updateRelation = vi.fn(ok);
|
|
export const listRelationHistory = vi.fn(ok);
|
|
export const listSuppliers = vi.fn(ok);
|
|
export const getSupplier = vi.fn(ok);
|
|
export const createSupplier = vi.fn(ok);
|
|
export const updateSupplier = vi.fn(ok);
|
|
export const deleteSupplier = vi.fn(ok);
|
|
export const listPurchaseOrders = vi.fn(ok);
|
|
export const getPurchaseOrder = vi.fn(ok);
|
|
export const createPurchaseOrder = vi.fn(ok);
|
|
export const updatePurchaseOrder = vi.fn(ok);
|
|
export const confirmPurchaseOrder = vi.fn(ok);
|
|
export const cancelPurchaseOrder = vi.fn(ok);
|
|
export const listPurchaseReceipts = vi.fn(ok);
|
|
export const getPurchaseReceipt = vi.fn(ok);
|
|
export const createPurchaseReceipt = vi.fn(ok);
|
|
export const confirmPurchaseReceipt = vi.fn(ok);
|
|
export const listPurchasePayments = vi.fn(ok);
|
|
export const createPurchasePayment = vi.fn(ok);
|
|
export const getPurchaseStatsSummary = vi.fn(ok);
|
|
export const getPurchaseStatsBySupplier = vi.fn(ok);
|
|
export const getPurchaseStatsByProduct = vi.fn(ok);
|
|
export const listInventoryLogs = vi.fn(ok);
|
|
|
|
// ── Production ───────────────────────────────────
|
|
|
|
export const createProductionPlan = vi.fn(ok);
|
|
export const listProductionPlan = vi.fn(ok);
|
|
export const getProductionPlan = vi.fn(() =>
|
|
Promise.resolve({
|
|
code: 0, msg: 'ok', success: true,
|
|
data: {
|
|
planId: 'plan-1', planCode: 'PP-001', productName: '测试产品', color: '红色',
|
|
fabricCode: 'FC-01', colorCode: 'CC-01', targetQuantity: '1000', completedQuantity: '0',
|
|
yarnUsagePerMeter: '0.5', productionPrice: '10', supplierId: 's1', status: 0,
|
|
remark: '', startTime: '2024-01-01', creator: 'admin', operator: 'admin',
|
|
createdAt: '2024-01-01', updatedAt: '2024-01-01', tenantId: 't1',
|
|
yarnRatios: [], processSteps: [], inboundRecords: [],
|
|
},
|
|
}),
|
|
);
|
|
export const confirmPlan = vi.fn(ok);
|
|
export const createShareLink = vi.fn(ok);
|
|
export const completeStep = vi.fn(ok);
|
|
export const createInbound = vi.fn(ok);
|
|
export const listInbound = vi.fn(ok);
|
|
export const getShareLinkPlanView = vi.fn(() =>
|
|
Promise.resolve({
|
|
code: 0, msg: 'ok', success: true,
|
|
data: {
|
|
plan: {
|
|
planId: 'plan-1', planCode: 'PP-001', productName: '测试产品', color: '红色',
|
|
fabricCode: 'FC-01', colorCode: 'CC-01', targetQuantity: '1000', completedQuantity: '0',
|
|
yarnUsagePerMeter: '0.5', productionPrice: '10', supplierId: 's1', status: 1,
|
|
remark: '', startTime: '2024-01-01', creator: 'admin', operator: 'admin',
|
|
createdAt: '2024-01-01', updatedAt: '2024-01-01', tenantId: 't1',
|
|
yarnRatios: [], processSteps: [], inboundRecords: [],
|
|
},
|
|
link: {
|
|
linkId: 'link-1', tenantId: 't1', planId: 'plan-1', shortCode: 'abc123',
|
|
token: 'tok', factoryType: 'weaving', hideSensitive: 0, status: 0,
|
|
clickCount: 1, clickedAt: '', respondedAt: '', rejectReason: '',
|
|
expiresAt: '2024-12-31', createdBy: 'admin', createdAt: '2024-01-01', updatedAt: '2024-01-01',
|
|
},
|
|
},
|
|
}),
|
|
);
|
|
export const clickShareLink = vi.fn(ok);
|
|
export const confirmShareLink = vi.fn(ok);
|
|
export const rejectShareLink = vi.fn(ok);
|