@xihe-lab/tapd-cli 2.0.0-rc.5 → 2.0.0-rc.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/LICENSE +16 -4
  2. package/README.md +13 -1
  3. package/package.json +7 -4
  4. package/dist/advisor/domain-axis.test.d.ts +0 -2
  5. package/dist/advisor/domain-axis.test.d.ts.map +0 -1
  6. package/dist/advisor/domain-axis.test.js +0 -198
  7. package/dist/advisor/domain-axis.test.js.map +0 -1
  8. package/dist/flags.test.d.ts +0 -2
  9. package/dist/flags.test.d.ts.map +0 -1
  10. package/dist/flags.test.js +0 -56
  11. package/dist/flags.test.js.map +0 -1
  12. package/dist/output/formatter.test.d.ts +0 -2
  13. package/dist/output/formatter.test.d.ts.map +0 -1
  14. package/dist/output/formatter.test.js +0 -170
  15. package/dist/output/formatter.test.js.map +0 -1
  16. package/dist/pipeline/engine.test.d.ts +0 -2
  17. package/dist/pipeline/engine.test.d.ts.map +0 -1
  18. package/dist/pipeline/engine.test.js +0 -419
  19. package/dist/pipeline/engine.test.js.map +0 -1
  20. package/dist/pipeline/expression.test.d.ts +0 -2
  21. package/dist/pipeline/expression.test.d.ts.map +0 -1
  22. package/dist/pipeline/expression.test.js +0 -111
  23. package/dist/pipeline/expression.test.js.map +0 -1
  24. package/dist/pipeline/record.test.d.ts +0 -2
  25. package/dist/pipeline/record.test.d.ts.map +0 -1
  26. package/dist/pipeline/record.test.js +0 -109
  27. package/dist/pipeline/record.test.js.map +0 -1
  28. package/dist/pipeline/template.test.d.ts +0 -2
  29. package/dist/pipeline/template.test.d.ts.map +0 -1
  30. package/dist/pipeline/template.test.js +0 -94
  31. package/dist/pipeline/template.test.js.map +0 -1
  32. package/dist/pipeline/unwrap.test.d.ts +0 -2
  33. package/dist/pipeline/unwrap.test.d.ts.map +0 -1
  34. package/dist/pipeline/unwrap.test.js +0 -36
  35. package/dist/pipeline/unwrap.test.js.map +0 -1
  36. package/dist/pipeline/validate.test.d.ts +0 -2
  37. package/dist/pipeline/validate.test.d.ts.map +0 -1
  38. package/dist/pipeline/validate.test.js +0 -166
  39. package/dist/pipeline/validate.test.js.map +0 -1
  40. package/dist/pm/discovery.test.d.ts +0 -2
  41. package/dist/pm/discovery.test.d.ts.map +0 -1
  42. package/dist/pm/discovery.test.js +0 -147
  43. package/dist/pm/discovery.test.js.map +0 -1
  44. package/dist/pm/domains.test.d.ts +0 -2
  45. package/dist/pm/domains.test.d.ts.map +0 -1
  46. package/dist/pm/domains.test.js +0 -141
  47. package/dist/pm/domains.test.js.map +0 -1
  48. package/dist/pm/iteration.test.d.ts +0 -2
  49. package/dist/pm/iteration.test.d.ts.map +0 -1
  50. package/dist/pm/iteration.test.js +0 -125
  51. package/dist/pm/iteration.test.js.map +0 -1
  52. package/dist/pm/pm-command.test.d.ts +0 -2
  53. package/dist/pm/pm-command.test.d.ts.map +0 -1
  54. package/dist/pm/pm-command.test.js +0 -321
  55. package/dist/pm/pm-command.test.js.map +0 -1
  56. package/dist/pm/tpl-communication-stakeholder.test.d.ts +0 -2
  57. package/dist/pm/tpl-communication-stakeholder.test.d.ts.map +0 -1
  58. package/dist/pm/tpl-communication-stakeholder.test.js +0 -392
  59. package/dist/pm/tpl-communication-stakeholder.test.js.map +0 -1
  60. package/dist/pm/tpl-integration-scope.test.d.ts +0 -2
  61. package/dist/pm/tpl-integration-scope.test.d.ts.map +0 -1
  62. package/dist/pm/tpl-integration-scope.test.js +0 -387
  63. package/dist/pm/tpl-integration-scope.test.js.map +0 -1
  64. package/dist/pm/tpl-quality-risk.test.d.ts +0 -2
  65. package/dist/pm/tpl-quality-risk.test.d.ts.map +0 -1
  66. package/dist/pm/tpl-quality-risk.test.js +0 -414
  67. package/dist/pm/tpl-quality-risk.test.js.map +0 -1
  68. package/dist/pm/tpl-schedule-cost.test.d.ts +0 -2
  69. package/dist/pm/tpl-schedule-cost.test.d.ts.map +0 -1
  70. package/dist/pm/tpl-schedule-cost.test.js +0 -376
  71. package/dist/pm/tpl-schedule-cost.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"pm-command.test.js","sourceRoot":"","sources":["../../src/pm/pm-command.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=tpl-communication-stakeholder.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tpl-communication-stakeholder.test.d.ts","sourceRoot":"","sources":["../../src/pm/tpl-communication-stakeholder.test.ts"],"names":[],"mappings":""}
@@ -1,392 +0,0 @@
1
- // S6 场景模板测试:communication-weekly / communication-notify / stakeholder-map
2
- //
3
- // 被测对象是随包发布的内置模板(packages/cli/templates/pm/*.yaml),经真实发现链路
4
- // (discoverPmTemplates → loadPmTemplate)加载,registry 为 mock,不触真实 API:
5
- // - weekly / map:只读场景,断言 report 口径(zzz/risk 过滤、比率保留分母、口径脚注、降级)
6
- // - notify:写场景,断言写闸门(无 --yes 退出码 2)+ <p> 包裹 + entry_type 归一化 + where 跳过
7
- // - 静态校验:loadPmTemplate(剥 domain)→ validateTemplate(参数 schema/引用/写标记)
8
- import assert from 'node:assert/strict';
9
- import { mkdtempSync, rmSync } from 'node:fs';
10
- import { tmpdir } from 'node:os';
11
- import path from 'node:path';
12
- import { z } from 'zod';
13
- import { ToolRegistry } from '@xihe-lab/tapd-core';
14
- import { buildProgram } from '../program.js';
15
- import { discoverPmTemplates, loadPmTemplate, resolvePmEntry } from './discovery.js';
16
- import { validateTemplate } from '../pipeline/validate.js';
17
- // ---- 时间助手(与模板 window 口径一致)----
18
- const DAY = 86400000;
19
- const isoDay = (offsetDays) => new Date(Date.now() + offsetDays * DAY).toISOString().slice(0, 10);
20
- const TODAY = isoDay(0);
21
- const YESTERDAY = isoDay(-1);
22
- const TOMORROW = isoDay(1);
23
- const at = (day, hm = '10:00:00') => `${day} ${hm}`;
24
- // ---- mock 数据 ----
25
- // 真实通道下 client.get 已解包 TAPD 信封,列表返回裸数组(tapd-client.ts unwrap)
26
- const OPEN_ITERATIONS = [
27
- { id: '3001', name: 'Sprint A', startdate: '2026-09-01', enddate: '2026-09-15', status: 'open' },
28
- { id: '3003', name: 'zzz-delete-me 老迭代', startdate: '2026-12-31', status: 'open' },
29
- { id: '3002', name: 'Sprint B', startdate: '2026-09-10', enddate: '2026-09-24', status: 'open' },
30
- ];
31
- const STORIES = [
32
- { id: 's1', name: '登录重构', owner: 'alice', cc: 'dave', participator: 'alice;bob', status: 'done', priority_label: 'high', created: at(TODAY, '09:00'), completed: at(TODAY, '18:00'), label: '' },
33
- { id: 's2', name: '导出优化', owner: 'bob;carol', cc: '', participator: '', status: 'developing', priority_label: 'mid', created: at('2026-01-01', '09:00'), completed: '', label: 'frontend' },
34
- { id: 's3', name: '支付联调', owner: 'alice', cc: '', participator: '', status: 'new', priority_label: 'high', created: at(TODAY, '11:00'), completed: '', label: '' },
35
- { id: 's9', name: 'zzz-delete-me 脏需求', owner: 'ghost', cc: '', participator: '', status: 'new', created: at(TODAY), completed: '', label: '' },
36
- { id: 's10', name: '【风险】洪水预警', owner: 'risk-owner', cc: '', participator: '', status: 'new', created: at(TODAY), completed: '', label: 'risk' },
37
- ];
38
- const STORY_CHANGES = [
39
- { story_id: 's1', created: at(TODAY, '12:00'), author: 'alice' },
40
- { story_id: 's2', created: at(YESTERDAY, '12:00'), author: 'bob' },
41
- { story_id: 's3', created: '2020-01-01 08:00:00', author: 'carol' },
42
- ];
43
- const BUGS = [
44
- { id: 'b1', title: '登录崩溃', severity: '1', current_owner: 'bob', status: 'new', created: at(TODAY, '09:30'), closed: '' },
45
- { id: 'b2', title: '文案错别字', severity: '3', current_owner: '', status: 'closed', created: '2026-08-01 09:00:00', closed: at(TODAY, '11:00') },
46
- { id: 'b3', title: 'zzz-delete-me 脏缺陷', severity: '2', current_owner: 'ghost', status: 'new', created: at(TODAY), closed: '' },
47
- ];
48
- const TASKS = [
49
- { id: 't1', name: '接口联调', owner: 'alice', status: 'progressing', progress: 50, due: at(TOMORROW, '18:00') },
50
- { id: 't2', name: '回归测试', owner: 'bob', status: 'done', progress: 100, due: at(YESTERDAY, '18:00') },
51
- { id: 't3', name: '周报整理', owner: 'carol', status: 'open', progress: 0, due: at(YESTERDAY, '18:00') },
52
- { id: 't4', name: 'zzz-delete-me 脏任务', owner: 'ghost2', status: 'open', progress: 0, due: at(YESTERDAY, '18:00') },
53
- ];
54
- const TIMESHEET_ROWS = [
55
- { owner: 'alice', spentdate: at(TODAY, '00:00'), timespent: '8', entity_type: 'story', entity_id: 's1' },
56
- { owner: 'alice', spentdate: at(YESTERDAY, '00:00'), timespent: 6, entity_type: 'task', entity_id: 't1' },
57
- { owner: 'bob', spentdate: at(TODAY, '00:00'), timespent: '4.5', entity_type: 'bug', entity_id: 'b1' },
58
- { owner: 'ghost9', spentdate: '2020-01-01 00:00:00', timespent: '99', entity_type: 'story', entity_id: 's-old' },
59
- ];
60
- const USERS = [{ user: 'alice', role_id: '1' }, { user: 'bob', role_id: '1' }, { user: 'carol', role_id: '2' }, { user: 'dave', role_id: '2' }, { user: 'nobody', role_id: '3' }];
61
- function optStr(schema) {
62
- return z.object(schema).passthrough();
63
- }
64
- function makeRegistry() {
65
- const tracker = {
66
- probes: [], storiesArgs: [], changesArgs: [], bugsArgs: [],
67
- tasksArgs: [], timesheetsArgs: [], usersArgs: [], commentArgs: [],
68
- };
69
- const str = z.string().optional();
70
- const num = z.number().optional();
71
- const tools = [
72
- {
73
- name: 'tapd_get_iterations',
74
- description: 'mock: 迭代查询(缺省迭代探测数据源)',
75
- inputSchema: optStr({ workspace_id: z.number().optional(), id: str, status: str, fields: str }),
76
- handler: (_c, p) => {
77
- tracker.probes.push(p);
78
- return Promise.resolve(OPEN_ITERATIONS);
79
- },
80
- },
81
- {
82
- name: 'tapd_get_stories',
83
- description: 'mock: 需求查询(含 zzz 脏数据与风险项)',
84
- inputSchema: optStr({ workspace_id: z.number().optional(), iteration_id: str, fields: str, limit: num }),
85
- handler: (_c, p) => {
86
- tracker.storiesArgs.push(p);
87
- return Promise.resolve(STORIES);
88
- },
89
- },
90
- {
91
- name: 'tapd_get_story_changes',
92
- description: 'mock: 需求变更(含窗外旧数据)',
93
- inputSchema: optStr({ workspace_id: z.number().optional(), limit: num, fields: str }),
94
- handler: (_c, p) => {
95
- tracker.changesArgs.push(p);
96
- return Promise.resolve(STORY_CHANGES);
97
- },
98
- },
99
- {
100
- name: 'tapd_get_bugs',
101
- description: 'mock: 缺陷查询(含 zzz 脏数据)',
102
- inputSchema: optStr({ workspace_id: z.number().optional(), iteration_id: str, fields: str, limit: num }),
103
- handler: (_c, p) => {
104
- tracker.bugsArgs.push(p);
105
- return Promise.resolve(BUGS);
106
- },
107
- },
108
- {
109
- name: 'tapd_get_tasks',
110
- description: 'mock: 任务查询(含 zzz 脏数据与停滞任务)',
111
- inputSchema: optStr({ workspace_id: z.number().optional(), iteration_id: str, fields: str, limit: num }),
112
- handler: (_c, p) => {
113
- tracker.tasksArgs.push(p);
114
- return Promise.resolve(TASKS);
115
- },
116
- },
117
- {
118
- name: 'tapd_get_timesheets',
119
- description: 'mock: 工时(按 spentdate >= 窗口过滤,模拟服务端时间查询)',
120
- inputSchema: optStr({ workspace_id: z.number().optional(), spentdate: str, fields: str, limit: num }),
121
- handler: (_c, p) => {
122
- const args = p;
123
- tracker.timesheetsArgs.push(args);
124
- const m = /^>=\s*(\d{4}-\d{2}-\d{2})/.exec(String(args.spentdate ?? ''));
125
- const since = m ? m[1] : '';
126
- return Promise.resolve(TIMESHEET_ROWS.filter(r => !since || String(r.spentdate).slice(0, 10) >= since));
127
- },
128
- },
129
- {
130
- name: 'tapd_get_workspace_users',
131
- description: 'mock: 成员名单(含零参与成员 nobody)',
132
- inputSchema: optStr({ workspace_id: z.number().optional(), fields: str }),
133
- handler: (_c, p) => {
134
- tracker.usersArgs.push(p);
135
- return Promise.resolve(USERS);
136
- },
137
- },
138
- {
139
- name: 'tapd_create_comment',
140
- description: 'mock: 写评论',
141
- write: true,
142
- inputSchema: optStr({ workspace_id: z.number().optional(), entry_type: z.string(), entry_id: z.string(), description: z.string(), cc: str }),
143
- handler: (_c, p) => {
144
- tracker.commentArgs.push(p);
145
- return Promise.resolve({ id: 'c-1', entry_id: p.entry_id });
146
- },
147
- },
148
- ];
149
- const registry = new ToolRegistry();
150
- registry.register(tools);
151
- return { registry, tracker };
152
- }
153
- function captureIo(run) {
154
- const out = [];
155
- const err = [];
156
- const origOut = process.stdout.write.bind(process.stdout);
157
- const origErr = process.stderr.write.bind(process.stderr);
158
- process.stdout.write = (chunk) => {
159
- out.push(String(chunk));
160
- return true;
161
- };
162
- process.stderr.write = (chunk) => {
163
- err.push(String(chunk));
164
- return true;
165
- };
166
- return run().then(() => {
167
- process.stdout.write = origOut;
168
- process.stderr.write = origErr;
169
- return { out: out.join(''), err: err.join('') };
170
- }, error => {
171
- process.stdout.write = origOut;
172
- process.stderr.write = origErr;
173
- throw error;
174
- });
175
- }
176
- async function withExitCode(fn) {
177
- const prev = process.exitCode;
178
- try {
179
- return await fn();
180
- }
181
- finally {
182
- process.exitCode = prev;
183
- }
184
- }
185
- async function runCli(registry, args) {
186
- const program = buildProgram(registry, {});
187
- return captureIo(async () => {
188
- await program.parseAsync(['node', 'tapd', ...args]);
189
- });
190
- }
191
- // ---- 环境隔离:用户模板目录指向空目录,凭证注入 mock 通道所需 ----
192
- const emptyUserDir = mkdtempSync(path.join(tmpdir(), 'tapd-s6-tpl-'));
193
- const prevEnv = process.env.TAPD_USER_TEMPLATES_DIR;
194
- const prevToken = process.env.TAPD_ACCESS_TOKEN;
195
- process.env.TAPD_USER_TEMPLATES_DIR = emptyUserDir;
196
- process.env.TAPD_ACCESS_TOKEN = 's6-tpl-test-token';
197
- const checks = [
198
- ['发现:三个内置场景被收录,读写标记与 title 纪律齐备', () => {
199
- const catalog = discoverPmTemplates();
200
- assert.equal(catalog.warnings.length, 0, `发现不应有 warning: ${catalog.warnings.join('; ')}`);
201
- const weekly = resolvePmEntry(catalog, 'communication', 'weekly');
202
- const notify = resolvePmEntry(catalog, 'communication', 'notify');
203
- const map = resolvePmEntry(catalog, 'stakeholder', 'map');
204
- for (const e of [weekly, notify, map])
205
- assert.equal(e.source, 'builtin', `${e.name} 应为内置模板`);
206
- assert.equal(weekly.write, false);
207
- assert.equal(notify.write, true);
208
- assert.equal(map.write, false);
209
- assert.ok(weekly.title.includes('数据稿') && weekly.title.includes('wiki 落库'), 'weekly title 注明数据稿与 wiki 落库');
210
- assert.ok(notify.title.includes('人审') && notify.title.includes('--yes'), 'notify title 注明措辞人审 + --yes');
211
- assert.ok(map.title.includes('403') && map.title.includes('降级'), 'map title 注明 403 权限与降级');
212
- }],
213
- ['静态校验:loadPmTemplate(剥 domain)→ validateTemplate 对 mock registry 全绿', () => {
214
- const catalog = discoverPmTemplates();
215
- const registry = makeRegistry().registry;
216
- for (const [domain, scenario] of [['communication', 'weekly'], ['communication', 'notify'], ['stakeholder', 'map']]) {
217
- const entry = resolvePmEntry(catalog, domain, scenario);
218
- const { template, path } = loadPmTemplate(entry);
219
- assert.ok(path.endsWith(`${domain}-${scenario}.yaml`), path);
220
- assert.equal('domain' in template, false, 'pm 元数据字段应被剥离');
221
- const result = validateTemplate(template, registry);
222
- assert.deepEqual(result.errors, [], `${template.name} 校验错误: ${JSON.stringify(result.errors)}`);
223
- assert.deepEqual(result.writeSteps, template.write ? ['comment'] : [], `${template.name} 写步骤清单`);
224
- }
225
- }],
226
- ['weekly dry-run:计划预览含全部只读步骤与过滤声明,不执行业务步骤', async () => {
227
- const { registry, tracker } = makeRegistry();
228
- const io = await withExitCode(() => runCli(registry, ['pm', 'communication', 'weekly', '--dry-run', '--iteration', '3001']));
229
- assert.ok(io.out.includes('dry-run'), io.out);
230
- assert.ok(io.out.includes('"iteration_id": "3001"'), io.out);
231
- for (const fragment of ['stories (tapd_get_stories)', 'story_changes (tapd_get_story_changes)', 'timesheets (tapd_get_timesheets)', 'weekly (expr)']) {
232
- assert.ok(io.out.includes(fragment), `预览缺 ${fragment}`);
233
- }
234
- assert.ok(io.out.includes("zzz-delete-me"), '预览应展示 zzz 过滤声明');
235
- assert.ok(!io.out.includes('[write]'), 'weekly 无写步骤');
236
- assert.equal(tracker.storiesArgs.length, 0, 'dry-run 不执行业务步骤');
237
- }],
238
- ['weekly 真实执行:数据稿口径(zzz/风险剔除、比率保留分母、口径脚注、主观补充空章节)', async () => {
239
- const { registry, tracker } = makeRegistry();
240
- const io = await withExitCode(() => runCli(registry, ['pm', 'communication', 'weekly', '--iteration', '3001', '--workspace-id', '39814312']));
241
- assert.equal(tracker.storiesArgs.length, 1, 'stories 恰执行一次');
242
- assert.deepEqual(tracker.storiesArgs[0], {
243
- iteration_id: '3001',
244
- fields: 'id,name,owner,status,priority_label,created,completed,label',
245
- limit: 200,
246
- workspace_id: 39814312,
247
- }, `stories 入参: ${JSON.stringify(tracker.storiesArgs[0])}`);
248
- const report = io.out;
249
- assert.ok(report.includes('# 迭代周报(数据稿)'), report);
250
- assert.ok(report.includes('数据稿,人工补充后可选 wiki 落库'), report);
251
- assert.ok(report.includes('迭代: Sprint A(2026-09-01 ~ 2026-09-15)'), `迭代元信息: ${report}`);
252
- // zzz / 风险项剔除:脏数据与风险名称不得出现
253
- assert.ok(!report.includes('zzz-delete-me 脏需求'), 'zzz 脏需求应被过滤');
254
- assert.ok(!report.includes('【风险】洪水预警'), '风险项应被剔除');
255
- // 需求口径:3 条有效,1 done → 完成度保留分母 1/3;新增 2(s1/s3 本窗创建)、关闭 1(s1 completed)
256
- assert.ok(report.includes('完成度 1/3'), report);
257
- assert.ok(report.includes('本周新增 2 / 本周关闭 1'), report);
258
- assert.ok(report.includes('changes 近似核对: 2 条'), report);
259
- // 缺陷口径:2 条有效,已关闭 1/2,本周新增 1 / 关闭 1
260
- assert.ok(report.includes('已关闭 1/2'), report);
261
- assert.ok(report.includes('本周新增 1 / 本周关闭 1'), report);
262
- assert.ok(!report.includes('zzz-delete-me 脏缺陷'), 'zzz 脏缺陷应被过滤');
263
- // 任务口径:3 条有效 1 完成,未启动 1,逾期 1,平均进度 50%
264
- assert.ok(report.includes('完成 1/3'), report);
265
- assert.ok(report.includes('未启动 1'), report);
266
- assert.ok(report.includes('逾期未完成 1'), report);
267
- assert.ok(report.includes('平均进度 50%'), report);
268
- // 工时:窗口内 alice 8+6=14、bob 4.5(ghost9 的 2020 记录被服务端窗口过滤)
269
- assert.ok(report.includes('合计 18.5 小时 / 2 人'), report);
270
- assert.ok(report.includes('| alice | 14 | 2 |'), report);
271
- // 固定脚注段 + 人工补充空章节
272
- assert.ok(report.includes('## 口径脚注'), report);
273
- for (const fragment of ['统计范围:', '过滤项:', '数据时间:', '完成度定义:']) {
274
- assert.ok(report.includes(fragment), `口径脚注缺 ${fragment}`);
275
- }
276
- assert.ok(report.includes('## 主观补充'), report);
277
- assert.equal(tracker.commentArgs.length, 0, 'weekly 不得触发写操作');
278
- }],
279
- ['weekly 缺省迭代:自动探测最新 open 迭代(zzz 老迭代不参与)并注入 vars', async () => {
280
- const { registry, tracker } = makeRegistry();
281
- const io = await withExitCode(() => runCli(registry, ['pm', 'communication', 'weekly']));
282
- // probe 与模板自身的 iteration 步骤都打 tapd_get_iterations:按探测签名区分
283
- const probeCalls = tracker.probes.filter(p => p.fields === 'id,name,startdate,status');
284
- assert.equal(probeCalls.length, 1, '探测恰一次');
285
- assert.equal(probeCalls[0].status, 'open');
286
- assert.ok(io.err.includes('iteration: 自动选择 open 迭代 3002'), io.err);
287
- assert.equal(tracker.storiesArgs[0].iteration_id, '3002');
288
- }],
289
- ['notify 写闸门:无 --yes 退出码 2、输出写预览、不触 API', async () => {
290
- const { registry, tracker } = makeRegistry();
291
- const io = await withExitCode(() => runCli(registry, ['pm', 'communication', 'notify', '--iteration', '3001', '--input', '{"entry_type":"stories","entry_id":"1140000001","message":"需求已延期一周","cc":"alice|bob"}']));
292
- assert.ok(io.out.includes('write gate'), io.out);
293
- assert.ok(io.out.includes('[write] comment (tapd_create_comment)'), io.out);
294
- assert.ok(io.err.includes('WRITE_GATE'), io.err);
295
- assert.equal(tracker.commentArgs.length, 0, '未 --yes 不得创建评论');
296
- }],
297
- ['notify --yes:纯文本包 <p>、entry_type 透传、cc 透传,回执含评论 ID', async () => {
298
- const { registry, tracker } = makeRegistry();
299
- const io = await withExitCode(() => runCli(registry, ['pm', 'communication', 'notify', '--yes', '--input', '{"entry_type":"stories","entry_id":"1140000001","message":"需求已延期一周,请大家知悉","cc":"alice|bob"}']));
300
- assert.equal(tracker.commentArgs.length, 1);
301
- const args = tracker.commentArgs[0];
302
- assert.equal(args.entry_type, 'stories');
303
- assert.equal(args.entry_id, '1140000001');
304
- assert.equal(args.description, '<p>需求已延期一周,请大家知悉</p>', '纯文本必须包 <p>');
305
- assert.equal(args.cc, 'alice|bob');
306
- assert.ok(io.out.includes('# 变更通知回执'), io.out);
307
- assert.ok(io.out.includes('c-1'), '回执应含评论 ID');
308
- assert.ok(io.out.includes('已包 <p> 标签'), io.out);
309
- }],
310
- ['notify --yes:HTML 正文不二次包裹;entry_type 别名归一化(task→tasks)', async () => {
311
- const { registry, tracker } = makeRegistry();
312
- await withExitCode(() => runCli(registry, ['pm', 'communication', 'notify', '--yes', '--input', '{"entry_type":"task","entry_id":"1140000002","message":"<p>任务已上线</p>"}']));
313
- assert.equal(tracker.commentArgs.length, 1);
314
- const args = tracker.commentArgs[0];
315
- assert.equal(args.description, '<p>任务已上线</p>', '已是 HTML 不得二次包裹');
316
- assert.equal(args.entry_type, 'tasks', '单数别名应归一化为 tasks');
317
- }],
318
- ['notify --yes 但 message 为空:写步骤被 where 跳过,不触 API', async () => {
319
- const { registry, tracker } = makeRegistry();
320
- const io = await withExitCode(() => runCli(registry, ['pm', 'communication', 'notify', '--yes', '--output', 'json', '--input', '{"entry_type":"stories","entry_id":"1140000001","message":""}']));
321
- assert.equal(tracker.commentArgs.length, 0, '空 message 不应创建评论');
322
- const summary = JSON.parse(io.out);
323
- assert.equal(summary.ok, true);
324
- const comment = summary.steps.find(s => s.id === 'comment');
325
- assert.equal(comment?.status, 'skipped');
326
- assert.equal(comment?.skipReason, 'where');
327
- }],
328
- ['map 真实执行:人×参与对象数×角色视角矩阵、沉默干系人、零参与成员', async () => {
329
- const { registry, tracker } = makeRegistry();
330
- const io = await withExitCode(() => runCli(registry, ['pm', 'stakeholder', 'map', '--iteration', '3001']));
331
- assert.equal(tracker.usersArgs.length, 1, 'users 接口恰调用一次');
332
- assert.equal(tracker.storiesArgs.length, 1);
333
- const report = io.out;
334
- assert.ok(report.includes('# 干系人参与矩阵'), report);
335
- assert.ok(report.includes('名单接口可用,共 5 人'), report);
336
- assert.ok(!report.includes('ghost'), 'zzz 脏数据 owner 不得入矩阵');
337
- // alice: 需求负责 2(s1/s3)+ 需求参与 1(s1 participator)+ 任务负责 1 = 4 个参与对象
338
- assert.ok(report.includes('| alice | 2 | 0 | 1 | 1 | 0 | 4 |'), `alice 行口径: ${report}`);
339
- // dave: 仅 s1 的 cc → 1 个参与对象
340
- assert.ok(report.includes('| dave | 0 | 1 | 0 | 0 | 0 | 1 |'), `dave 行口径: ${report}`);
341
- // carol: 需求负责 1(s2)+ 任务负责 1,且名下有停滞任务(progress=0 且 due 已过)→ 沉默标记
342
- assert.ok(report.includes('是(周报整理)'), `carol 沉默标记: ${report}`);
343
- assert.ok(report.includes('## 沉默干系人'), report);
344
- assert.ok(report.includes('- carol(停滞任务: 周报整理)'), report);
345
- // nobody 在册但未出现在任何参与字段 → 零参与成员
346
- assert.ok(report.includes('## 零参与名单成员'), report);
347
- assert.ok(report.includes('- nobody'), report);
348
- assert.ok(!report.includes('- dave\n'), 'dave 已有 cc 参与,不应入零参与清单');
349
- }],
350
- ['map 降级:--input skip_users=true 时 users 不调用,矩阵从存量 owner 字段反推', async () => {
351
- const { registry, tracker } = makeRegistry();
352
- const io = await withExitCode(() => runCli(registry, ['pm', 'stakeholder', 'map', '--iteration', '3001', '--input', '{"skip_users":true}']));
353
- assert.equal(tracker.usersArgs.length, 0, 'skip_users=true 不得调用 users 接口');
354
- const report = io.out;
355
- assert.ok(report.includes('降级模式'), report);
356
- assert.ok(report.includes('仅从存量 owner/cc/participator 字段反推'), report);
357
- assert.ok(!report.includes('nobody'), '降级模式无名单,不应出现零参与成员');
358
- assert.ok(report.includes('| alice | 2 | 0 | 1 | 1 | 0 | 4 |'), '降级模式下矩阵仍由 owner/cc/participator 字段构成');
359
- assert.ok(report.includes('是(周报整理)'), '沉默判定不依赖名单接口');
360
- }],
361
- ];
362
- let failed = 0;
363
- try {
364
- for (const [name, fn] of checks) {
365
- try {
366
- await fn();
367
- console.log(`ok - ${name}`);
368
- }
369
- catch (error) {
370
- failed++;
371
- console.error(`FAIL - ${name}`);
372
- console.error(error);
373
- }
374
- }
375
- }
376
- finally {
377
- if (prevEnv === undefined)
378
- delete process.env.TAPD_USER_TEMPLATES_DIR;
379
- else
380
- process.env.TAPD_USER_TEMPLATES_DIR = prevEnv;
381
- if (prevToken === undefined)
382
- delete process.env.TAPD_ACCESS_TOKEN;
383
- else
384
- process.env.TAPD_ACCESS_TOKEN = prevToken;
385
- rmSync(emptyUserDir, { recursive: true, force: true });
386
- }
387
- if (failed > 0) {
388
- console.error(`\n${failed}/${checks.length} failed`);
389
- process.exit(1);
390
- }
391
- console.log(`\n${checks.length}/${checks.length} passed`);
392
- //# sourceMappingURL=tpl-communication-stakeholder.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tpl-communication-stakeholder.test.js","sourceRoot":"","sources":["../../src/pm/tpl-communication-stakeholder.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=tpl-integration-scope.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tpl-integration-scope.test.d.ts","sourceRoot":"","sources":["../../src/pm/tpl-integration-scope.test.ts"],"names":[],"mappings":""}