@sun-asterisk/sungen 3.2.16-beta.7 → 3.2.17
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.
- package/dist/cli/commands/delivery.d.ts.map +1 -1
- package/dist/cli/commands/delivery.js +13 -197
- package/dist/cli/commands/delivery.js.map +1 -1
- package/dist/cli/commands/ingest.d.ts.map +1 -1
- package/dist/cli/commands/ingest.js +56 -4
- package/dist/cli/commands/ingest.js.map +1 -1
- package/dist/dashboard/templates/index.html +1 -1
- package/dist/exporters/feature-parser.js +1 -1
- package/dist/exporters/feature-parser.js.map +1 -1
- package/dist/exporters/scenario-merger.js +1 -1
- package/dist/exporters/scenario-merger.js.map +1 -1
- package/dist/exporters/spec-parser.js +1 -1
- package/dist/exporters/spec-parser.js.map +1 -1
- package/dist/exporters/xlsx-report-builder.d.ts +1 -1
- package/dist/exporters/xlsx-report-builder.d.ts.map +1 -1
- package/dist/exporters/xlsx-report-builder.js +3 -3
- package/dist/exporters/xlsx-report-builder.js.map +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/click-action.hbs +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/click-element-with-text.hbs +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/navigation/wait-timeout.hbs +1 -1
- package/dist/generators/test-generator/utils/runtime-data-transformer.d.ts.map +1 -1
- package/dist/generators/test-generator/utils/runtime-data-transformer.js +28 -17
- package/dist/generators/test-generator/utils/runtime-data-transformer.js.map +1 -1
- package/dist/ingest/legacy-parser.d.ts +3 -0
- package/dist/ingest/legacy-parser.d.ts.map +1 -1
- package/dist/ingest/legacy-parser.js +52 -3
- package/dist/ingest/legacy-parser.js.map +1 -1
- package/dist/orchestrator/templates/ai-src/commands/delivery.md +120 -202
- package/dist/orchestrator/templates/ai-src/config/claude.md +1 -1
- package/dist/orchestrator/templates/ai-src/config/copilot.md +1 -1
- package/dist/orchestrator/templates/ai-src/skills/sungen-delivery/SKILL.md +6 -92
- package/dist/orchestrator/templates/ai-src/skills/sungen-gherkin-syntax/SKILL.md +7 -0
- package/package.json +4 -4
- package/src/cli/commands/delivery.ts +15 -227
- package/src/cli/commands/ingest.ts +57 -5
- package/src/dashboard/templates/index.html +1 -1
- package/src/exporters/feature-parser.ts +1 -1
- package/src/exporters/scenario-merger.ts +1 -1
- package/src/exporters/spec-parser.ts +1 -1
- package/src/exporters/xlsx-report-builder.ts +2 -3
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/click-action.hbs +1 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/click-element-with-text.hbs +1 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/navigation/wait-timeout.hbs +1 -1
- package/src/generators/test-generator/utils/runtime-data-transformer.ts +29 -18
- package/src/ingest/legacy-parser.ts +48 -3
- package/src/orchestrator/templates/ai-src/commands/delivery.md +120 -202
- package/src/orchestrator/templates/ai-src/config/claude.md +1 -1
- package/src/orchestrator/templates/ai-src/config/copilot.md +1 -1
- package/src/orchestrator/templates/ai-src/skills/sungen-delivery/SKILL.md +6 -92
- package/src/orchestrator/templates/ai-src/skills/sungen-gherkin-syntax/SKILL.md +7 -0
- package/dist/exporters/matrix/build.d.ts +0 -61
- package/dist/exporters/matrix/build.d.ts.map +0 -1
- package/dist/exporters/matrix/build.js +0 -472
- package/dist/exporters/matrix/build.js.map +0 -1
- package/dist/exporters/matrix/export.d.ts +0 -50
- package/dist/exporters/matrix/export.d.ts.map +0 -1
- package/dist/exporters/matrix/export.js +0 -152
- package/dist/exporters/matrix/export.js.map +0 -1
- package/dist/exporters/matrix/fingerprint.d.ts +0 -20
- package/dist/exporters/matrix/fingerprint.d.ts.map +0 -1
- package/dist/exporters/matrix/fingerprint.js +0 -83
- package/dist/exporters/matrix/fingerprint.js.map +0 -1
- package/dist/exporters/matrix/gates.d.ts +0 -21
- package/dist/exporters/matrix/gates.d.ts.map +0 -1
- package/dist/exporters/matrix/gates.js +0 -358
- package/dist/exporters/matrix/gates.js.map +0 -1
- package/dist/exporters/matrix/map-loader.d.ts +0 -22
- package/dist/exporters/matrix/map-loader.d.ts.map +0 -1
- package/dist/exporters/matrix/map-loader.js +0 -193
- package/dist/exporters/matrix/map-loader.js.map +0 -1
- package/dist/exporters/matrix/render-csv.d.ts +0 -9
- package/dist/exporters/matrix/render-csv.d.ts.map +0 -1
- package/dist/exporters/matrix/render-csv.js +0 -92
- package/dist/exporters/matrix/render-csv.js.map +0 -1
- package/dist/exporters/matrix/render-xlsx.d.ts +0 -41
- package/dist/exporters/matrix/render-xlsx.d.ts.map +0 -1
- package/dist/exporters/matrix/render-xlsx.js +0 -430
- package/dist/exporters/matrix/render-xlsx.js.map +0 -1
- package/dist/exporters/matrix/types.d.ts +0 -196
- package/dist/exporters/matrix/types.d.ts.map +0 -1
- package/dist/exporters/matrix/types.js +0 -15
- package/dist/exporters/matrix/types.js.map +0 -1
- package/dist/exporters/matrix/wording.d.ts +0 -51
- package/dist/exporters/matrix/wording.d.ts.map +0 -1
- package/dist/exporters/matrix/wording.js +0 -169
- package/dist/exporters/matrix/wording.js.map +0 -1
- package/src/exporters/matrix/build.ts +0 -503
- package/src/exporters/matrix/export.ts +0 -149
- package/src/exporters/matrix/fingerprint.ts +0 -49
- package/src/exporters/matrix/gates.ts +0 -391
- package/src/exporters/matrix/map-loader.ts +0 -163
- package/src/exporters/matrix/render-csv.ts +0 -94
- package/src/exporters/matrix/render-xlsx.ts +0 -420
- package/src/exporters/matrix/types.ts +0 -223
- package/src/exporters/matrix/wording.ts +0 -174
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gates.js","sourceRoot":"","sources":["../../../src/exporters/matrix/gates.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Delivery Map loader — `qa/<kind>/<unit>/delivery/<unit>.map.yaml`.
|
|
3
|
-
*
|
|
4
|
-
* Structural validation only (shape, required fields, enum values, duplicate ids).
|
|
5
|
-
* Semantic validation against the .feature is the gates' job (gates.ts) — the loader
|
|
6
|
-
* never reads the feature.
|
|
7
|
-
*/
|
|
8
|
-
import { DeliveryMap } from './types';
|
|
9
|
-
export interface MapLoadResult {
|
|
10
|
-
map: DeliveryMap | null;
|
|
11
|
-
/** Structural problems — any entry blocks the matrix path (fix the file first). */
|
|
12
|
-
errors: string[];
|
|
13
|
-
}
|
|
14
|
-
/** Path of the map file for a unit directory (qa/<kind>/<screen>) + feature basename. */
|
|
15
|
-
export declare function mapFilePath(unitDir: string, featureBaseName: string): string;
|
|
16
|
-
export declare function loadDeliveryMap(file: string): MapLoadResult;
|
|
17
|
-
/**
|
|
18
|
-
* Write the map back (used by `--approve` to flip review states + stamp fingerprints).
|
|
19
|
-
* Field order is kept stable so approve-diffs stay minimal and reviewable.
|
|
20
|
-
*/
|
|
21
|
-
export declare function writeDeliveryMap(file: string, map: DeliveryMap): void;
|
|
22
|
-
//# sourceMappingURL=map-loader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"map-loader.d.ts","sourceRoot":"","sources":["../../../src/exporters/matrix/map-loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,WAAW,EAA8F,MAAM,SAAS,CAAC;AAQlI,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;IACxB,mFAAmF;IACnF,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,yFAAyF;AACzF,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAyG3D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAqBrE"}
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Delivery Map loader — `qa/<kind>/<unit>/delivery/<unit>.map.yaml`.
|
|
4
|
-
*
|
|
5
|
-
* Structural validation only (shape, required fields, enum values, duplicate ids).
|
|
6
|
-
* Semantic validation against the .feature is the gates' job (gates.ts) — the loader
|
|
7
|
-
* never reads the feature.
|
|
8
|
-
*/
|
|
9
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
-
}
|
|
15
|
-
Object.defineProperty(o, k2, desc);
|
|
16
|
-
}) : (function(o, m, k, k2) {
|
|
17
|
-
if (k2 === undefined) k2 = k;
|
|
18
|
-
o[k2] = m[k];
|
|
19
|
-
}));
|
|
20
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
-
}) : function(o, v) {
|
|
23
|
-
o["default"] = v;
|
|
24
|
-
});
|
|
25
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
-
var ownKeys = function(o) {
|
|
27
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
-
var ar = [];
|
|
29
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
-
return ar;
|
|
31
|
-
};
|
|
32
|
-
return ownKeys(o);
|
|
33
|
-
};
|
|
34
|
-
return function (mod) {
|
|
35
|
-
if (mod && mod.__esModule) return mod;
|
|
36
|
-
var result = {};
|
|
37
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
-
__setModuleDefault(result, mod);
|
|
39
|
-
return result;
|
|
40
|
-
};
|
|
41
|
-
})();
|
|
42
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
-
exports.mapFilePath = mapFilePath;
|
|
44
|
-
exports.loadDeliveryMap = loadDeliveryMap;
|
|
45
|
-
exports.writeDeliveryMap = writeDeliveryMap;
|
|
46
|
-
const fs = __importStar(require("fs"));
|
|
47
|
-
const path = __importStar(require("path"));
|
|
48
|
-
const yaml_1 = require("yaml");
|
|
49
|
-
const CATEGORIES = ['normal', 'abnormal', 'security', 'nfr'];
|
|
50
|
-
const REVIEW_STATES = ['proposed', 'approved'];
|
|
51
|
-
const DISPOSITIONS = ['excluded', 'blocked', 'covered_elsewhere', 'accepted_risk'];
|
|
52
|
-
const REQUIREMENT_STATUSES = ['covered', 'partially_covered', 'covered_elsewhere', 'planned', 'gap', 'not_applicable'];
|
|
53
|
-
/** Path of the map file for a unit directory (qa/<kind>/<screen>) + feature basename. */
|
|
54
|
-
function mapFilePath(unitDir, featureBaseName) {
|
|
55
|
-
return path.join(unitDir, 'delivery', `${featureBaseName}.map.yaml`);
|
|
56
|
-
}
|
|
57
|
-
function loadDeliveryMap(file) {
|
|
58
|
-
if (!fs.existsSync(file))
|
|
59
|
-
return { map: null, errors: [] };
|
|
60
|
-
const errors = [];
|
|
61
|
-
let raw;
|
|
62
|
-
try {
|
|
63
|
-
raw = (0, yaml_1.parse)(fs.readFileSync(file, 'utf-8'));
|
|
64
|
-
}
|
|
65
|
-
catch (e) {
|
|
66
|
-
return { map: null, errors: [`map YAML does not parse: ${e instanceof Error ? e.message : e}`] };
|
|
67
|
-
}
|
|
68
|
-
if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
|
|
69
|
-
return { map: null, errors: ['map root must be a YAML mapping'] };
|
|
70
|
-
}
|
|
71
|
-
const doc = raw;
|
|
72
|
-
const groups = [];
|
|
73
|
-
const seenIds = new Set();
|
|
74
|
-
const rawGroups = doc.groups;
|
|
75
|
-
if (!Array.isArray(rawGroups) || rawGroups.length === 0) {
|
|
76
|
-
errors.push('map has no `groups` list');
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
rawGroups.forEach((g, i) => {
|
|
80
|
-
if (!g || typeof g !== 'object') {
|
|
81
|
-
errors.push(`groups[${i}] is not a mapping`);
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
const grp = g;
|
|
85
|
-
const where = `groups[${i}]${typeof grp.id === 'string' ? ` (${grp.id})` : ''}`;
|
|
86
|
-
for (const field of ['id', 'target', 'intent', 'oracle']) {
|
|
87
|
-
if (typeof grp[field] !== 'string' || !grp[field].trim()) {
|
|
88
|
-
errors.push(`${where}: missing/empty \`${field}\``);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
if (!CATEGORIES.includes(grp.category)) {
|
|
92
|
-
errors.push(`${where}: \`category\` must be one of ${CATEGORIES.join(' | ')}`);
|
|
93
|
-
}
|
|
94
|
-
const review = (grp.review ?? 'proposed');
|
|
95
|
-
if (!REVIEW_STATES.includes(review)) {
|
|
96
|
-
errors.push(`${where}: \`review\` must be proposed | approved`);
|
|
97
|
-
}
|
|
98
|
-
const variants = grp.variants;
|
|
99
|
-
if (!Array.isArray(variants) || variants.length === 0 || variants.some((v) => typeof v !== 'string' || !v.trim())) {
|
|
100
|
-
errors.push(`${where}: \`variants\` must be a non-empty list of VP refs`);
|
|
101
|
-
}
|
|
102
|
-
const id = String(grp.id ?? '');
|
|
103
|
-
if (id) {
|
|
104
|
-
if (seenIds.has(id))
|
|
105
|
-
errors.push(`duplicate group id \`${id}\``);
|
|
106
|
-
seenIds.add(id);
|
|
107
|
-
}
|
|
108
|
-
groups.push({
|
|
109
|
-
id,
|
|
110
|
-
target: String(grp.target ?? ''),
|
|
111
|
-
intent: String(grp.intent ?? ''),
|
|
112
|
-
oracle: String(grp.oracle ?? ''),
|
|
113
|
-
...(grp.dimensions !== undefined ? { dimensions: String(grp.dimensions) } : {}),
|
|
114
|
-
category: grp.category,
|
|
115
|
-
review,
|
|
116
|
-
variants: Array.isArray(variants) ? variants.map(String) : [],
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
const dispositions = {};
|
|
121
|
-
if (doc.dispositions !== undefined) {
|
|
122
|
-
if (!doc.dispositions || typeof doc.dispositions !== 'object' || Array.isArray(doc.dispositions)) {
|
|
123
|
-
errors.push('`dispositions` must be a mapping of VP-id → { as, reason }');
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
for (const [vpId, d] of Object.entries(doc.dispositions)) {
|
|
127
|
-
const dd = (d && typeof d === 'object' ? d : {});
|
|
128
|
-
if (!DISPOSITIONS.includes(String(dd.as))) {
|
|
129
|
-
errors.push(`dispositions.${vpId}: \`as\` must be one of ${DISPOSITIONS.join(' | ')}`);
|
|
130
|
-
}
|
|
131
|
-
dispositions[vpId] = { as: dd.as, reason: dd.reason ? String(dd.reason) : undefined };
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
const requirements = {};
|
|
136
|
-
if (doc.requirements !== undefined) {
|
|
137
|
-
if (!doc.requirements || typeof doc.requirements !== 'object' || Array.isArray(doc.requirements)) {
|
|
138
|
-
errors.push('`requirements` must be a mapping of requirement-id → { status, note }');
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
for (const [reqId, r] of Object.entries(doc.requirements)) {
|
|
142
|
-
const rr = (r && typeof r === 'object' ? r : {});
|
|
143
|
-
if (!REQUIREMENT_STATUSES.includes(String(rr.status))) {
|
|
144
|
-
errors.push(`requirements.${reqId}: \`status\` must be one of ${REQUIREMENT_STATUSES.join(' | ')}`);
|
|
145
|
-
}
|
|
146
|
-
requirements[reqId] = { status: rr.status, note: rr.note ? String(rr.note) : undefined };
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
const fingerprints = {};
|
|
151
|
-
if (doc.fingerprints && typeof doc.fingerprints === 'object' && !Array.isArray(doc.fingerprints)) {
|
|
152
|
-
for (const [k, v] of Object.entries(doc.fingerprints)) {
|
|
153
|
-
fingerprints[k] = String(v);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
const map = {
|
|
157
|
-
version: Number(doc.version ?? 1),
|
|
158
|
-
unit: String(doc.unit ?? ''),
|
|
159
|
-
formNo: doc.form_no !== undefined ? String(doc.form_no) : undefined,
|
|
160
|
-
groups,
|
|
161
|
-
dispositions,
|
|
162
|
-
requirements,
|
|
163
|
-
fingerprints,
|
|
164
|
-
};
|
|
165
|
-
return { map: errors.length > 0 ? null : map, errors };
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Write the map back (used by `--approve` to flip review states + stamp fingerprints).
|
|
169
|
-
* Field order is kept stable so approve-diffs stay minimal and reviewable.
|
|
170
|
-
*/
|
|
171
|
-
function writeDeliveryMap(file, map) {
|
|
172
|
-
const doc = {
|
|
173
|
-
version: map.version,
|
|
174
|
-
unit: map.unit,
|
|
175
|
-
...(map.formNo !== undefined ? { form_no: map.formNo } : {}),
|
|
176
|
-
groups: map.groups.map((g) => ({
|
|
177
|
-
id: g.id,
|
|
178
|
-
target: g.target,
|
|
179
|
-
intent: g.intent,
|
|
180
|
-
oracle: g.oracle,
|
|
181
|
-
...(g.dimensions !== undefined ? { dimensions: g.dimensions } : {}),
|
|
182
|
-
category: g.category,
|
|
183
|
-
review: g.review,
|
|
184
|
-
variants: g.variants,
|
|
185
|
-
})),
|
|
186
|
-
...(Object.keys(map.dispositions).length > 0 ? { dispositions: map.dispositions } : {}),
|
|
187
|
-
...(Object.keys(map.requirements).length > 0 ? { requirements: map.requirements } : {}),
|
|
188
|
-
...(Object.keys(map.fingerprints).length > 0 ? { fingerprints: map.fingerprints } : {}),
|
|
189
|
-
};
|
|
190
|
-
fs.mkdirSync(path.dirname(file), { recursive: true });
|
|
191
|
-
fs.writeFileSync(file, (0, yaml_1.stringify)(doc, { lineWidth: 0 }), 'utf-8');
|
|
192
|
-
}
|
|
193
|
-
//# sourceMappingURL=map-loader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"map-loader.js","sourceRoot":"","sources":["../../../src/exporters/matrix/map-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Flat CSV rendering of the matrix — same model as the workbook, one row per
|
|
3
|
-
* delivery item (`Level: item`) followed by its variant rows (`Level: variant`;
|
|
4
|
-
* every item has them — the variant row carries the source scenario id, data,
|
|
5
|
-
* and result), so downstream pipelines can re-derive both views from one file.
|
|
6
|
-
*/
|
|
7
|
-
import { MatrixModel } from './types';
|
|
8
|
-
export declare function renderMatrixCsv(model: MatrixModel): string;
|
|
9
|
-
//# sourceMappingURL=render-csv.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"render-csv.d.ts","sourceRoot":"","sources":["../../../src/exporters/matrix/render-csv.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAoBtC,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAgE1D"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Flat CSV rendering of the matrix — same model as the workbook, one row per
|
|
4
|
-
* delivery item (`Level: item`) followed by its variant rows (`Level: variant`;
|
|
5
|
-
* every item has them — the variant row carries the source scenario id, data,
|
|
6
|
-
* and result), so downstream pipelines can re-derive both views from one file.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.renderMatrixCsv = renderMatrixCsv;
|
|
10
|
-
const build_1 = require("./build");
|
|
11
|
-
const render_xlsx_1 = require("./render-xlsx");
|
|
12
|
-
const HEADERS = [
|
|
13
|
-
'Level', 'ID', 'Target', 'Test Intent / Condition', 'Category', 'Priority',
|
|
14
|
-
'Precondition', 'Coverage / Test Data', 'Action / Trigger', 'Expected Result',
|
|
15
|
-
'Mode', 'Trace', 'Result', 'Executed Date', 'Note / Evidence', 'Defect ID',
|
|
16
|
-
];
|
|
17
|
-
function esc(value) {
|
|
18
|
-
if (/[",\n]/.test(value))
|
|
19
|
-
return `"${value.replace(/"/g, '""')}"`;
|
|
20
|
-
return value;
|
|
21
|
-
}
|
|
22
|
-
function isoDate(startTime) {
|
|
23
|
-
if (!startTime)
|
|
24
|
-
return '';
|
|
25
|
-
const d = new Date(startTime);
|
|
26
|
-
if (isNaN(d.getTime()))
|
|
27
|
-
return '';
|
|
28
|
-
return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}`;
|
|
29
|
-
}
|
|
30
|
-
function renderMatrixCsv(model) {
|
|
31
|
-
const BOM = '\ufeff'; // Excel compatibility (Vietnamese/Japanese content)
|
|
32
|
-
const lines = [];
|
|
33
|
-
lines.push(`# Test Case & Coverage Matrix — ${model.unit}`);
|
|
34
|
-
lines.push(`# delivery items: ${model.manifest.itemCount} · coverage variants: ${model.manifest.variantCount} · state: ${model.manifest.approvalState}`);
|
|
35
|
-
lines.push(HEADERS.map(esc).join(','));
|
|
36
|
-
for (const item of model.items) {
|
|
37
|
-
lines.push([
|
|
38
|
-
'item',
|
|
39
|
-
item.id,
|
|
40
|
-
item.target,
|
|
41
|
-
item.intent,
|
|
42
|
-
item.category,
|
|
43
|
-
item.priority,
|
|
44
|
-
item.precondition.join('\n'),
|
|
45
|
-
(0, render_xlsx_1.coverageSummary)(item),
|
|
46
|
-
// Shared leading steps only; each variant row carries its remaining steps.
|
|
47
|
-
item.trigger.join('\n'),
|
|
48
|
-
item.oracle,
|
|
49
|
-
(0, render_xlsx_1.itemModeLabel)(item),
|
|
50
|
-
item.traces.join(' '),
|
|
51
|
-
(0, render_xlsx_1.itemResultLabel)(item),
|
|
52
|
-
'',
|
|
53
|
-
item.review === 'proposed' ? 'REVIEW REQUIRED' : '',
|
|
54
|
-
'',
|
|
55
|
-
].map(esc).join(','));
|
|
56
|
-
for (const v of item.variants) {
|
|
57
|
-
const expected = v.verification.length > 0
|
|
58
|
-
? `${v.oracle.join('\n')}\nVerification method: ${v.verification.join(' ')}`
|
|
59
|
-
: v.oracle.join('\n');
|
|
60
|
-
lines.push([
|
|
61
|
-
'variant',
|
|
62
|
-
v.ref,
|
|
63
|
-
'',
|
|
64
|
-
v.condition,
|
|
65
|
-
'', '',
|
|
66
|
-
// Precondition DELTA — variant-specific setup only (review GAP-03).
|
|
67
|
-
(item.preconditionDeltas[v.ref] ?? []).join('\n'),
|
|
68
|
-
v.data.join('\n'),
|
|
69
|
-
// Steps after the parent's shared prefix only.
|
|
70
|
-
(item.triggerDeltas[v.ref] ?? []).join('\n'),
|
|
71
|
-
expected,
|
|
72
|
-
v.mode === 'manual' ? 'Manual' : 'Auto',
|
|
73
|
-
v.traces.join(' '),
|
|
74
|
-
(0, build_1.variantState)(v),
|
|
75
|
-
isoDate(v.result?.startTime),
|
|
76
|
-
v.result?.error ? String(v.result.error).slice(0, 200) : '',
|
|
77
|
-
'',
|
|
78
|
-
].map(esc).join(','));
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
// Requirement coverage appendix — keeps the CSV self-contained for pipelines.
|
|
82
|
-
if (model.requirements.length > 0) {
|
|
83
|
-
lines.push('');
|
|
84
|
-
lines.push('# Requirement coverage');
|
|
85
|
-
lines.push(['Requirement', 'Status', 'Delivery items', 'Variants', 'Note'].join(','));
|
|
86
|
-
for (const r of model.requirements) {
|
|
87
|
-
lines.push([r.id, r.status, r.items.join(' '), String(r.variantCount), r.note].map(esc).join(','));
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return BOM + lines.join('\n') + '\n';
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=render-csv.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"render-csv.js","sourceRoot":"","sources":["../../../src/exporters/matrix/render-csv.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Render the Test Case & Coverage Matrix workbook.
|
|
3
|
-
*
|
|
4
|
-
* Sheets:
|
|
5
|
-
* 1. Testcases — one parent row per delivery item; EVERY item (including
|
|
6
|
-
* single-variant ones) carries variant sub-rows on Excel outline level 1 —
|
|
7
|
-
* the sub-row is where source traceability (VP-id), test data, and the
|
|
8
|
-
* manual result/evidence entry live (review B-05/B-06). Collapse outline
|
|
9
|
-
* level 1 for the customer/review view; expand to execute.
|
|
10
|
-
* 2. Coverage — requirement coverage (id ↔ items ↔ status), the target ×
|
|
11
|
-
* category grid (explicit `—` gaps), dispositions, and the manifest.
|
|
12
|
-
*
|
|
13
|
-
* Manual-execution support: variant Result cells carry a dropdown
|
|
14
|
-
* (Passed/Failed/Blocked/Pending/N/A) and the parent Result is a live Excel
|
|
15
|
-
* formula derived from its children — a parent can never contradict its
|
|
16
|
-
* variants, even after QA edits results by hand (review B-06).
|
|
17
|
-
*
|
|
18
|
-
* Every sheet keeps the company ISO masthead. A draft matrix (unapproved
|
|
19
|
-
* groups / review findings) carries a red DRAFT banner.
|
|
20
|
-
*/
|
|
21
|
-
import * as ExcelJS from 'exceljs';
|
|
22
|
-
import { DeliveryItem, MatrixModel } from './types';
|
|
23
|
-
/** Mode is a coverage dimension: mixed items show both counts. */
|
|
24
|
-
export declare function itemModeLabel(item: DeliveryItem): string;
|
|
25
|
-
/**
|
|
26
|
-
* Parent roll-up label. It must NEVER be exactly one of the variant state words
|
|
27
|
-
* (`Passed`/`Failed`/`Blocked`/`Pending`/`N/A`) — the summary band counts the
|
|
28
|
-
* Result column with exact-match COUNTIF over parent AND child rows, so a parent
|
|
29
|
-
* reading plain "Pending" was counted as an extra pending variant (109 instead
|
|
30
|
-
* of 77 on st-login).
|
|
31
|
-
*/
|
|
32
|
-
export declare function itemResultLabel(item: DeliveryItem): string;
|
|
33
|
-
/**
|
|
34
|
-
* Compact coverage summary for the parent row. A declared `dimensions:` digest
|
|
35
|
-
* wins ("15 variants — required ×3 · format ×9 …"); otherwise a single variant
|
|
36
|
-
* shows its condition and a group falls back to its variant REFS. Concatenating
|
|
37
|
-
* every variant's full title turned this cell into an 800-character paragraph.
|
|
38
|
-
*/
|
|
39
|
-
export declare function coverageSummary(item: DeliveryItem): string;
|
|
40
|
-
export declare function renderMatrixXlsx(model: MatrixModel, sungenVersion?: string): ExcelJS.Workbook;
|
|
41
|
-
//# sourceMappingURL=render-xlsx.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"render-xlsx.d.ts","sourceRoot":"","sources":["../../../src/exporters/matrix/render-xlsx.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AASnC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AA0BjE,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAMxD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAQ1D;AAgBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAM1D;AAkTD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAK7F"}
|