待测试
This commit is contained in:
@@ -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");
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user