待测试

This commit is contained in:
rain
2026-07-27 17:17:31 +08:00
parent 1eae3bbef4
commit 04287e6777
35 changed files with 4238 additions and 22750 deletions
+15 -11
View File
@@ -15,8 +15,8 @@ const loadMockModule = async () => {
return import(moduleUrl);
};
const assertScopedOwner = ({ list, find, ids, nestedField }) => {
assert.deepStrictEqual(list("1001").map((item) => item.id), ids);
const assertScopedOwner = ({ list, find, ids, idField = "id", mutationField = "title", nestedField }) => {
assert.deepStrictEqual(list("1001").map((item) => item[idField]), ids);
assert.deepStrictEqual(list("1002"), [], "另一家谱不得读取 1001 的内容夹具");
assert.strictEqual(find("1002", ids[0]), null, "已知 ID 换谱后必须失败关闭");
assert.strictEqual(find("1001", "unknown"), null, "未知实体不得回退首条记录");
@@ -25,8 +25,8 @@ const assertScopedOwner = ({ list, find, ids, nestedField }) => {
const listed = list("1001");
const original = find("1001", ids[0]);
listed[0].title = "被列表调用方修改";
assert.notStrictEqual(find("1001", ids[0]).title, "被列表调用方修改");
listed[0][mutationField] = "被列表调用方修改";
assert.notStrictEqual(find("1001", ids[0])[mutationField], "被列表调用方修改");
if (nestedField) {
const mutateNested = (item, value) => {
if (item[nestedField][0] && typeof item[nestedField][0] === "object") {
@@ -68,7 +68,8 @@ const run = async () => {
list: listFamilyFeedFixtures,
find: findFamilyFeedFixture,
ids: ["1", "2"],
nestedField: "comments",
idField: "feedId",
mutationField: "feedContent",
});
assertScopedOwner({
list: listFamilyArticleFixtures,
@@ -83,8 +84,11 @@ const run = async () => {
nestedField: "photos",
});
for (const item of listFamilyFeedFixtures("1001")) {
assert.strictEqual(typeof item.feedId, "string", "feed.feedId 必须保持词法字符串");
assert.strictEqual(item.genealogyId, "1001", "feed 必须显式持有家谱身份");
}
for (const [list, entityName] of [
[listFamilyFeedFixtures, "feed"],
[listFamilyArticleFixtures, "article"],
[listFamilyAlbumFixtures, "album"],
]) {
@@ -95,9 +99,9 @@ const run = async () => {
}
const firstFeed = findFamilyFeedFixture("1001", "1");
firstFeed.comments[0].content = "被详情调用方修改";
firstFeed.feedContent = "被详情调用方修改";
assert.notStrictEqual(
findFamilyFeedFixture("1001", "1").comments[0].content,
findFamilyFeedFixture("1001", "1").feedContent,
"被详情调用方修改",
);
@@ -113,8 +117,8 @@ const run = async () => {
"const hasRemoteConfig = () => false; const resolveRuntimeMode = () => 'mock'; const runtimeConfig = { baseUrl: '', clientId: 'test', tenantId: 'test' };\n",
)
.replace(
/^import \{ AUTH_TAC_SCENE, assertSmsCode \}[^\n]+\r?\n/m,
"const AUTH_TAC_SCENE = {}; const assertSmsCode = (value) => value;\n",
/^import \{ AUTH_VERIFICATION_OPERATION, assertSmsCode \}[^\n]+\r?\n/m,
"const AUTH_VERIFICATION_OPERATION = {}; const assertSmsCode = (value) => value;\n",
)
.replace(
/^import \{ GENEALOGY_ACCESS_PRESET, fromApiGenealogyAccess \}[^\n]+\r?\n/m,
@@ -135,7 +139,7 @@ const run = async () => {
(error) => error?.code === "WRITE_UNAVAILABLE" && /不会保存/.test(error.message),
"mock createFeed 必须明确失败,不能污染只读内容 owner",
);
assert.deepStrictEqual(listFamilyFeedFixtures("1001").map((item) => item.id), ["1", "2"]);
assert.deepStrictEqual(listFamilyFeedFixtures("1001").map((item) => item.feedId), ["1", "2"]);
process.stdout.write("FAMILY-FIXTURE-RUNTIME-SMOKE PASS\n");
};