sync update from LAN repo (source master @ ca48c4ec)
This commit is contained in:
1 parent
8bc8b0e082
commit
ea9dcff9c0
873 files changed
+107866
-14011
No files matched your search
@@ -0,0 +1,79 @@
|
||||
import assert from "node:assert/strict";
|
||||
import test from "node:test";
|
||||
|
||||
import {
|
||||
actionNeedsNarrative,
|
||||
parseNarrativeSummary,
|
||||
parseTaskActionStructure,
|
||||
taskActionStructureLines,
|
||||
} from "./task-deeplink";
|
||||
|
||||
test("purpose 或 actor 为 null 时需要传播网简介", () => {
|
||||
const missingPurpose = parseTaskActionStructure(
|
||||
{
|
||||
state: 200,
|
||||
msg: "操作成功",
|
||||
data: {
|
||||
actionId: "9",
|
||||
purpose: null,
|
||||
actor: "媒体",
|
||||
expectedBehavior: "转发",
|
||||
drivingFactor: "认同",
|
||||
narrationList: ["叙事01", "叙事02"],
|
||||
},
|
||||
},
|
||||
"9",
|
||||
);
|
||||
assert.equal(missingPurpose?.purpose, null);
|
||||
assert.equal(missingPurpose?.actor, "媒体");
|
||||
assert.equal(actionNeedsNarrative(missingPurpose), true);
|
||||
assert.equal(missingPurpose?.narration, "叙事01;叙事02");
|
||||
|
||||
const bothPresent = parseTaskActionStructure(
|
||||
{
|
||||
state: 200,
|
||||
data: { purpose: "扩大影响", actor: "媒体", narrationList: [] },
|
||||
},
|
||||
"9",
|
||||
);
|
||||
assert.equal(actionNeedsNarrative(bothPresent), false);
|
||||
});
|
||||
|
||||
test("目的和行为体等字段为 null 时不写入用户消息", () => {
|
||||
const detail = parseTaskActionStructure(
|
||||
{
|
||||
state: 200,
|
||||
data: {
|
||||
actionId: "9",
|
||||
purpose: null,
|
||||
actor: null,
|
||||
expectedBehavior: null,
|
||||
drivingFactor: null,
|
||||
narrationList: null,
|
||||
},
|
||||
},
|
||||
"9",
|
||||
);
|
||||
assert.ok(detail);
|
||||
detail.narrativeSummary = "这条传播网主要讨论暑期文旅。";
|
||||
assert.deepEqual(taskActionStructureLines(detail), ["传播网简介:这条传播网主要讨论暑期文旅。"]);
|
||||
});
|
||||
|
||||
test("传播网简介拼进用户消息,空简介不占行", () => {
|
||||
const summary = parseNarrativeSummary({
|
||||
state: "200",
|
||||
msg: "操作成功",
|
||||
data: { summary: "这条传播网主要讨论暑期文旅。" },
|
||||
});
|
||||
assert.equal(summary, "这条传播网主要讨论暑期文旅。");
|
||||
const lines = taskActionStructureLines({
|
||||
actionId: "9",
|
||||
purpose: null,
|
||||
actor: "媒体",
|
||||
expectedBehavior: "",
|
||||
drivingFactor: "",
|
||||
narration: "",
|
||||
narrativeSummary: summary,
|
||||
});
|
||||
assert.deepEqual(lines, ["行为体:媒体", "传播网简介:这条传播网主要讨论暑期文旅。"]);
|
||||
});
|
||||
Reference in new issue
Block a user