You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dianshang-qianduan/tests/business-feasibility-step1....

31 lines
1.4 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

const assert = require("node:assert/strict");
const fs = require("node:fs");
const path = require("node:path");
const test = require("node:test");
const sourcePath = path.resolve(__dirname, "../src/views/demand/business-feasibility.vue");
const backendPath = path.resolve(
__dirname,
"../../dianshang-houduan/src/main/java/com/sztzjy/linkCommerce/service/impl/BusinessFeasibilityStepOneServiceImpl.java"
);
test("商业可行性论证第 1 步覆盖七个分析区块并由后端校验计算", () => {
const source = fs.readFileSync(sourcePath, "utf8");
const backend = fs.readFileSync(backendPath, "utf8");
["项目概述", "市场规模与竞争格局", "目标用户群体分析", "商业模式梳理", "成本结构分析", "定价与毛利分析", "风险识别与评估"].forEach((label) => {
assert.match(source, new RegExp(label));
});
assert.match(source, /以下提供了可行性分析的各个子模块/);
assert.match(source, /单位毛利 = 单位目标售价 单位总成本/);
assert.match(source, /unitTotalCost/);
assert.match(backend, /validateOverview\(request\.getProjectOverview\(\)\)/);
assert.match(backend, /validateRisks\(request\.getRisks\(\)\)/);
});
test("目标用户群体表格的表头保持横向表格单元格布局", () => {
const source = fs.readFileSync(sourcePath, "utf8");
assert.match(source, /\.table-wrap th \{[^}]*display:table-cell[^}]*text-align:center/);
});