test(sdlc-plan-assets): 補上文件段落資產測試
固定 plan prompt 的文件段落、繁體中文、artifact 禁止與同標題查重契約。
This commit is contained in:
@@ -0,0 +1,36 @@
|
|||||||
|
import test from 'node:test';
|
||||||
|
import assert from 'node:assert/strict';
|
||||||
|
import {
|
||||||
|
assertNeutralPrompt,
|
||||||
|
assertTemplateSections,
|
||||||
|
readPrompt,
|
||||||
|
readTemplate,
|
||||||
|
} from './helpers/prompt-doc.js';
|
||||||
|
|
||||||
|
const prompt = readPrompt('sdlc-plan');
|
||||||
|
const template = readTemplate('requirement-issue');
|
||||||
|
const SECTIONS = ['總覽', '背景', '目標', '非目標', '領域名詞表', '文件', '驗收標準', '影響範圍', '未決事項'];
|
||||||
|
|
||||||
|
test('plan prompt 使用文件段落並維持繁體中文', () => {
|
||||||
|
assertNeutralPrompt(prompt, 'sdlc-plan');
|
||||||
|
assert.match(prompt, /領域名詞表、文件、驗收標準/);
|
||||||
|
assert.match(prompt, /全程使用繁體中文/);
|
||||||
|
assert.doesNotMatch(prompt, /流程圖/);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('文件段落只允許 analyze 佔位或抽象節點與邊', () => {
|
||||||
|
assert.match(prompt, /`待 \/sdlc-analyze 產生`/);
|
||||||
|
assert.match(prompt, /抽象節點與邊的文字描述/);
|
||||||
|
assert.match(prompt, /不寫具體圖形語法/);
|
||||||
|
assert.match(prompt, /禁止產生 HTML、SVG、manifest、截圖、附件或任何平台 preview/);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('plan 重跑沿用同標題議題,不建立重複議題', () => {
|
||||||
|
assert.match(prompt, /重跑以標題查重,不建立重複議題/);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('需求議題模板與 plan prompt 使用相同九段落', () => {
|
||||||
|
assertTemplateSections(template, SECTIONS);
|
||||||
|
assert.match(template, /\{\{文件\}\}/);
|
||||||
|
assert.doesNotMatch(template, /^## 流程圖$/m);
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user