57 lines
1.7 KiB
JavaScript
57 lines
1.7 KiB
JavaScript
const assert = require("assert");
|
|
const fs = require("fs");
|
|
const path = require("path");
|
|
|
|
const baseStaffApiPath = path.resolve(
|
|
__dirname,
|
|
"../../src/api/ccdiBaseStaff.js"
|
|
);
|
|
const baseStaffAssetApiPath = path.resolve(
|
|
__dirname,
|
|
"../../src/api/ccdiBaseStaffAsset.js"
|
|
);
|
|
|
|
assert(fs.existsSync(baseStaffApiPath), "未找到员工 API 文件 ccdiBaseStaff.js");
|
|
assert(
|
|
fs.existsSync(baseStaffAssetApiPath),
|
|
"未找到员工资产 API 文件 ccdiBaseStaffAsset.js"
|
|
);
|
|
|
|
const baseStaffSource = fs.readFileSync(baseStaffApiPath, "utf8");
|
|
const assetSource = fs.readFileSync(baseStaffAssetApiPath, "utf8");
|
|
|
|
[
|
|
"export function addBaseStaff(data)",
|
|
"export function updateBaseStaff(data)",
|
|
"data: data",
|
|
].forEach((token) => {
|
|
assert(
|
|
baseStaffSource.includes(token),
|
|
`员工 API 需保持透传聚合保存数据: ${token}`
|
|
);
|
|
});
|
|
|
|
[
|
|
"export function importBaseStaffAssetTemplate()",
|
|
"export function importBaseStaffAssetData(data)",
|
|
"export function getBaseStaffAssetImportStatus(taskId)",
|
|
"export function getBaseStaffAssetImportFailures(taskId, pageNum, pageSize)",
|
|
"/ccdi/baseStaff/asset/importTemplate",
|
|
"/ccdi/baseStaff/asset/importData",
|
|
"/ccdi/baseStaff/asset/importStatus/",
|
|
"/ccdi/baseStaff/asset/importFailures/",
|
|
].forEach((token) => {
|
|
assert(assetSource.includes(token), `员工资产 API 缺少关键契约: ${token}`);
|
|
});
|
|
|
|
[
|
|
"/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");
|