45 lines
1.3 KiB
JavaScript
45 lines
1.3 KiB
JavaScript
|
|
const assert = require("assert");
|
||
|
|
const fs = require("fs");
|
||
|
|
const path = require("path");
|
||
|
|
|
||
|
|
const baseStaffApiPath = path.resolve(
|
||
|
|
__dirname,
|
||
|
|
"../../src/api/ccdiBaseStaff.js"
|
||
|
|
);
|
||
|
|
const assetApiPath = path.resolve(
|
||
|
|
__dirname,
|
||
|
|
"../../src/api/ccdiAssetInfo.js"
|
||
|
|
);
|
||
|
|
|
||
|
|
assert(fs.existsSync(baseStaffApiPath), "未找到员工 API 文件 ccdiBaseStaff.js");
|
||
|
|
assert(fs.existsSync(assetApiPath), "未找到员工资产 API 文件 ccdiAssetInfo.js");
|
||
|
|
|
||
|
|
const baseStaffSource = fs.readFileSync(baseStaffApiPath, "utf8");
|
||
|
|
const assetSource = fs.readFileSync(assetApiPath, "utf8");
|
||
|
|
|
||
|
|
[
|
||
|
|
"export function addBaseStaff(data)",
|
||
|
|
"export function updateBaseStaff(data)",
|
||
|
|
"data: data",
|
||
|
|
].forEach((token) => {
|
||
|
|
assert(
|
||
|
|
baseStaffSource.includes(token),
|
||
|
|
`员工 API 需保持透传聚合保存数据: ${token}`
|
||
|
|
);
|
||
|
|
});
|
||
|
|
|
||
|
|
[
|
||
|
|
"export function importAssetTemplate()",
|
||
|
|
"export function importAssetData(data)",
|
||
|
|
"export function getAssetImportStatus(taskId)",
|
||
|
|
"export function getAssetImportFailures(taskId, pageNum, pageSize)",
|
||
|
|
"/ccdi/assetInfo/importTemplate",
|
||
|
|
"/ccdi/assetInfo/importData",
|
||
|
|
"/ccdi/assetInfo/importStatus/",
|
||
|
|
"/ccdi/assetInfo/importFailures/",
|
||
|
|
].forEach((token) => {
|
||
|
|
assert(assetSource.includes(token), `员工资产 API 缺少关键契约: ${token}`);
|
||
|
|
});
|
||
|
|
|
||
|
|
console.log("employee-asset-api-contract test passed");
|