Files
ccdi/ruoyi-ui/tests/unit/staff-family-asset-api-contract.test.js

46 lines
1.4 KiB
JavaScript
Raw Normal View History

2026-03-13 13:48:12 +08:00
const assert = require("assert");
const fs = require("fs");
const path = require("path");
const relationApiPath = path.resolve(
__dirname,
"../../src/api/ccdiStaffFmyRelation.js"
);
const assetApiPath = path.resolve(
__dirname,
"../../src/api/ccdiAssetInfo.js"
);
assert(fs.existsSync(relationApiPath), "未找到亲属关系 API 文件 ccdiStaffFmyRelation.js");
assert(fs.existsSync(assetApiPath), "未找到资产 API 文件 ccdiAssetInfo.js");
const relationSource = fs.readFileSync(relationApiPath, "utf8");
const assetSource = fs.readFileSync(assetApiPath, "utf8");
[
"export function getRelation(id)",
"export function addRelation(data)",
"export function updateRelation(data)",
"data: data",
].forEach((token) => {
assert(
relationSource.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("staff-family-asset-api-contract test passed");