@sun-asterisk/sungen 2.6.12 → 2.6.15
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 +215 -65
- package/dist/cli/commands/delivery.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/dashboard/snapshot-builder.d.ts.map +1 -1
- package/dist/dashboard/snapshot-builder.js +173 -32
- package/dist/dashboard/snapshot-builder.js.map +1 -1
- package/dist/dashboard/templates/index.html +84 -84
- package/dist/dashboard/types.d.ts +35 -0
- package/dist/dashboard/types.d.ts.map +1 -1
- package/dist/exporters/csv-exporter.d.ts +24 -3
- package/dist/exporters/csv-exporter.d.ts.map +1 -1
- package/dist/exporters/csv-exporter.js +28 -7
- package/dist/exporters/csv-exporter.js.map +1 -1
- package/dist/exporters/json-exporter.d.ts +15 -0
- package/dist/exporters/json-exporter.d.ts.map +1 -1
- package/dist/exporters/json-exporter.js +7 -2
- package/dist/exporters/json-exporter.js.map +1 -1
- package/dist/exporters/playwright-report-parser.d.ts +7 -0
- package/dist/exporters/playwright-report-parser.d.ts.map +1 -1
- package/dist/exporters/playwright-report-parser.js +20 -0
- package/dist/exporters/playwright-report-parser.js.map +1 -1
- package/dist/exporters/selector-key-resolver.d.ts +55 -0
- package/dist/exporters/selector-key-resolver.d.ts.map +1 -0
- package/dist/exporters/selector-key-resolver.js +208 -0
- package/dist/exporters/selector-key-resolver.js.map +1 -0
- package/dist/exporters/test-data-resolver.d.ts +15 -2
- package/dist/exporters/test-data-resolver.d.ts.map +1 -1
- package/dist/exporters/test-data-resolver.js +61 -8
- package/dist/exporters/test-data-resolver.js.map +1 -1
- package/dist/exporters/types.d.ts +1 -0
- package/dist/exporters/types.d.ts.map +1 -1
- package/dist/exporters/xlsx-exporter.d.ts +28 -3
- package/dist/exporters/xlsx-exporter.d.ts.map +1 -1
- package/dist/exporters/xlsx-exporter.js +34 -6
- package/dist/exporters/xlsx-exporter.js.map +1 -1
- package/dist/generators/test-generator/code-generator.d.ts.map +1 -1
- package/dist/generators/test-generator/code-generator.js +13 -0
- package/dist/generators/test-generator/code-generator.js.map +1 -1
- package/dist/orchestrator/ai-rules-updater.d.ts.map +1 -1
- package/dist/orchestrator/ai-rules-updater.js +4 -0
- package/dist/orchestrator/ai-rules-updater.js.map +1 -1
- package/dist/orchestrator/templates/ai-instructions/claude-cmd-add-screen.md +48 -14
- package/dist/orchestrator/templates/ai-instructions/claude-cmd-dashboard.md +4 -1
- package/dist/orchestrator/templates/ai-instructions/claude-cmd-delivery.md +22 -11
- package/dist/orchestrator/templates/ai-instructions/claude-cmd-locale.md +71 -0
- package/dist/orchestrator/templates/ai-instructions/claude-cmd-review.md +23 -8
- package/dist/orchestrator/templates/ai-instructions/claude-cmd-run-test.md +45 -6
- package/dist/orchestrator/templates/ai-instructions/claude-config.md +4 -1
- package/dist/orchestrator/templates/ai-instructions/claude-skill-locale.md +316 -0
- package/dist/orchestrator/templates/ai-instructions/copilot-cmd-add-screen.md +50 -13
- package/dist/orchestrator/templates/ai-instructions/copilot-cmd-dashboard.md +4 -1
- package/dist/orchestrator/templates/ai-instructions/copilot-cmd-delivery.md +20 -9
- package/dist/orchestrator/templates/ai-instructions/copilot-cmd-locale.md +70 -0
- package/dist/orchestrator/templates/ai-instructions/copilot-cmd-review.md +23 -8
- package/dist/orchestrator/templates/ai-instructions/copilot-cmd-run-test.md +44 -6
- package/dist/orchestrator/templates/ai-instructions/copilot-config.md +4 -1
- package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-locale.md +291 -0
- package/dist/orchestrator/templates/playwright.config.ts +25 -8
- package/dist/orchestrator/templates/specs-base.ts +9 -0
- package/dist/orchestrator/templates/specs-locale-fixture.ts +105 -0
- package/package.json +1 -1
- package/src/cli/commands/delivery.ts +256 -65
- package/src/cli/index.ts +1 -1
- package/src/dashboard/snapshot-builder.ts +207 -32
- package/src/dashboard/templates/index.html +84 -84
- package/src/dashboard/types.ts +40 -3
- package/src/exporters/csv-exporter.ts +36 -7
- package/src/exporters/json-exporter.ts +22 -2
- package/src/exporters/playwright-report-parser.ts +20 -0
- package/src/exporters/selector-key-resolver.ts +190 -0
- package/src/exporters/test-data-resolver.ts +65 -7
- package/src/exporters/types.ts +1 -0
- package/src/exporters/xlsx-exporter.ts +61 -7
- package/src/generators/test-generator/code-generator.ts +14 -0
- package/src/orchestrator/ai-rules-updater.ts +4 -0
- package/src/orchestrator/templates/ai-instructions/claude-cmd-add-screen.md +48 -14
- package/src/orchestrator/templates/ai-instructions/claude-cmd-dashboard.md +4 -1
- package/src/orchestrator/templates/ai-instructions/claude-cmd-delivery.md +22 -11
- package/src/orchestrator/templates/ai-instructions/claude-cmd-locale.md +71 -0
- package/src/orchestrator/templates/ai-instructions/claude-cmd-review.md +23 -8
- package/src/orchestrator/templates/ai-instructions/claude-cmd-run-test.md +45 -6
- package/src/orchestrator/templates/ai-instructions/claude-config.md +4 -1
- package/src/orchestrator/templates/ai-instructions/claude-skill-locale.md +316 -0
- package/src/orchestrator/templates/ai-instructions/copilot-cmd-add-screen.md +50 -13
- package/src/orchestrator/templates/ai-instructions/copilot-cmd-dashboard.md +4 -1
- package/src/orchestrator/templates/ai-instructions/copilot-cmd-delivery.md +20 -9
- package/src/orchestrator/templates/ai-instructions/copilot-cmd-locale.md +70 -0
- package/src/orchestrator/templates/ai-instructions/copilot-cmd-review.md +23 -8
- package/src/orchestrator/templates/ai-instructions/copilot-cmd-run-test.md +44 -6
- package/src/orchestrator/templates/ai-instructions/copilot-config.md +4 -1
- package/src/orchestrator/templates/ai-instructions/github-skill-sungen-locale.md +291 -0
- package/src/orchestrator/templates/playwright.config.ts +25 -8
- package/src/orchestrator/templates/specs-base.ts +9 -0
- package/src/orchestrator/templates/specs-locale-fixture.ts +105 -0
- package/dist/orchestrator/templates/playwright.config.d.ts +0 -10
- package/dist/orchestrator/templates/playwright.config.d.ts.map +0 -1
- package/dist/orchestrator/templates/playwright.config.js +0 -104
- package/dist/orchestrator/templates/playwright.config.js.map +0 -1
- package/dist/orchestrator/templates/specs-base.d.ts +0 -14
- package/dist/orchestrator/templates/specs-base.d.ts.map +0 -1
- package/dist/orchestrator/templates/specs-base.js +0 -77
- package/dist/orchestrator/templates/specs-base.js.map +0 -1
- package/dist/orchestrator/templates/specs-test-data.d.ts +0 -16
- package/dist/orchestrator/templates/specs-test-data.d.ts.map +0 -1
- package/dist/orchestrator/templates/specs-test-data.js +0 -151
- package/dist/orchestrator/templates/specs-test-data.js.map +0 -1
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Map selector keys (Gherkin `[Reference]` names) to the display text they
|
|
4
|
+
* resolve to. Used by row renderers to swap `[selectorKey]` in step text
|
|
5
|
+
* with the actual user-visible label so QA can read the step like a human
|
|
6
|
+
* reader: `Click [VỀ KUDOS]` (VI) / `Click [ABOUT KUDOS]` (EN) instead of
|
|
7
|
+
* the opaque key `Click [cta_to_kudos]`.
|
|
8
|
+
*
|
|
9
|
+
* Resolution rules (first match wins per selector entry):
|
|
10
|
+
* 1. `name` field present → use it. If it embeds exactly one `{{var}}`,
|
|
11
|
+
* look up the locale-specific value at substitution time. Otherwise
|
|
12
|
+
* use the literal `name` (brand names like "Sun* Kudos").
|
|
13
|
+
* 2. `value` field present AND `type` is `text` or `locator` → same logic.
|
|
14
|
+
* For `locator` we extract the var from inside `:has-text("{{x}}")`
|
|
15
|
+
* and similar composite templates because that var is the displayed text.
|
|
16
|
+
*
|
|
17
|
+
* Skipped entirely:
|
|
18
|
+
* • `type: 'page'` (URL paths, not display text)
|
|
19
|
+
* • `value` for `type: 'role'` (role name like 'button', not display)
|
|
20
|
+
* • Entries with no `name` and no usable `value`
|
|
21
|
+
* • Composite templates with 2+ vars (ambiguous which to use)
|
|
22
|
+
*/
|
|
23
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
24
|
+
if (k2 === undefined) k2 = k;
|
|
25
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
26
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
27
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
28
|
+
}
|
|
29
|
+
Object.defineProperty(o, k2, desc);
|
|
30
|
+
}) : (function(o, m, k, k2) {
|
|
31
|
+
if (k2 === undefined) k2 = k;
|
|
32
|
+
o[k2] = m[k];
|
|
33
|
+
}));
|
|
34
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
35
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
36
|
+
}) : function(o, v) {
|
|
37
|
+
o["default"] = v;
|
|
38
|
+
});
|
|
39
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
40
|
+
var ownKeys = function(o) {
|
|
41
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
42
|
+
var ar = [];
|
|
43
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
44
|
+
return ar;
|
|
45
|
+
};
|
|
46
|
+
return ownKeys(o);
|
|
47
|
+
};
|
|
48
|
+
return function (mod) {
|
|
49
|
+
if (mod && mod.__esModule) return mod;
|
|
50
|
+
var result = {};
|
|
51
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
52
|
+
__setModuleDefault(result, mod);
|
|
53
|
+
return result;
|
|
54
|
+
};
|
|
55
|
+
})();
|
|
56
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
|
+
exports.loadSelectorKeyMap = loadSelectorKeyMap;
|
|
58
|
+
exports.substituteSelectorKeysInStep = substituteSelectorKeysInStep;
|
|
59
|
+
const fs = __importStar(require("fs"));
|
|
60
|
+
const yaml_1 = require("yaml");
|
|
61
|
+
/**
|
|
62
|
+
* Build a fresh `/g` regex each call to avoid `lastIndex` state pollution
|
|
63
|
+
* across selectors / features when matchAll / test are used on a module-
|
|
64
|
+
* scoped instance. The cost is negligible (regex compile is fast); the
|
|
65
|
+
* payoff is that processing N features sequentially can't leak state from
|
|
66
|
+
* one feature's substitution into another's selector audit.
|
|
67
|
+
*/
|
|
68
|
+
function varPattern() {
|
|
69
|
+
return /\{\{\s*([a-zA-Z_][\w.]*)\s*\}\}/g;
|
|
70
|
+
}
|
|
71
|
+
function hasAnyVar(s) {
|
|
72
|
+
return varPattern().test(s);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Extract every `{{var}}` reference from a string. Returns the list of var
|
|
76
|
+
* names (unique, in appearance order).
|
|
77
|
+
*/
|
|
78
|
+
function extractVars(s) {
|
|
79
|
+
const out = [];
|
|
80
|
+
const seen = new Set();
|
|
81
|
+
for (const m of s.matchAll(varPattern())) {
|
|
82
|
+
const v = m[1];
|
|
83
|
+
if (!seen.has(v)) {
|
|
84
|
+
seen.add(v);
|
|
85
|
+
out.push(v);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return out;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Decide how to resolve a field. Returns null when the field can't drive a
|
|
92
|
+
* useful display string for QA.
|
|
93
|
+
*
|
|
94
|
+
* `isLocator` true means the value is a Playwright locator selector string
|
|
95
|
+
* (CSS / XPath / attribute query). For these, hardcoded values without an
|
|
96
|
+
* embedded `{{var}}` are skipped because the literal `a[href="/x"]` is
|
|
97
|
+
* opaque garbage for QA — the original `[selectorKey]` is more informative.
|
|
98
|
+
* Composite locators that embed `{{var}}` (e.g. `:has-text("{{x}}")`) still
|
|
99
|
+
* resolve via the embedded var.
|
|
100
|
+
*
|
|
101
|
+
* For non-locator fields (`name`, or `value` with type=text), hardcoded
|
|
102
|
+
* literals ARE substituted so brand names and fixed copy ("Sun* Kudos",
|
|
103
|
+
* "Notifications") show in step text instead of opaque keys ("nav kudos").
|
|
104
|
+
*/
|
|
105
|
+
function resolveField(value, isLocator) {
|
|
106
|
+
if (!value)
|
|
107
|
+
return null;
|
|
108
|
+
const vars = extractVars(value);
|
|
109
|
+
if (vars.length === 0) {
|
|
110
|
+
return isLocator ? null : { literal: value };
|
|
111
|
+
}
|
|
112
|
+
if (vars.length === 1) {
|
|
113
|
+
// Sole `{{var}}` or composite like `has-text("{{var}}")`. Both resolve
|
|
114
|
+
// to the same var's locale-specific display text.
|
|
115
|
+
return { varName: vars[0] };
|
|
116
|
+
}
|
|
117
|
+
// 2+ vars in one template — ambiguous which to use; skip rather than guess.
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Build the SelectorKey → resolution map from a selectors YAML file.
|
|
122
|
+
* Returns an empty map when the file is missing or malformed.
|
|
123
|
+
*/
|
|
124
|
+
function loadSelectorKeyMap(selectorsFilePath) {
|
|
125
|
+
const out = new Map();
|
|
126
|
+
if (!fs.existsSync(selectorsFilePath))
|
|
127
|
+
return out;
|
|
128
|
+
let parsed;
|
|
129
|
+
try {
|
|
130
|
+
parsed = (0, yaml_1.parse)(fs.readFileSync(selectorsFilePath, 'utf-8'));
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
return out;
|
|
134
|
+
}
|
|
135
|
+
if (!parsed || typeof parsed !== 'object')
|
|
136
|
+
return out;
|
|
137
|
+
for (const [key, raw] of Object.entries(parsed)) {
|
|
138
|
+
if (!raw || typeof raw !== 'object')
|
|
139
|
+
continue;
|
|
140
|
+
const entry = raw;
|
|
141
|
+
const type = typeof entry.type === 'string' ? entry.type : '';
|
|
142
|
+
// Prefer `name` first — it's the canonical display text for role-based
|
|
143
|
+
// selectors. Skip when type is 'page' (URL paths) since pages never
|
|
144
|
+
// appear as bracket refs in step text in a display-meaningful way.
|
|
145
|
+
if (type === 'page')
|
|
146
|
+
continue;
|
|
147
|
+
const nameField = entry.name;
|
|
148
|
+
if (typeof nameField === 'string') {
|
|
149
|
+
// `name` is always display text — never a locator string.
|
|
150
|
+
const resolution = resolveField(nameField, false);
|
|
151
|
+
if (resolution) {
|
|
152
|
+
out.set(key, resolution);
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
// For `text` and `locator` types the `value` field is the display text
|
|
157
|
+
// (text) or embeds it (locator with `:has-text("{{x}}")`). For role,
|
|
158
|
+
// `value` is the role name ('button', 'link') — not useful here.
|
|
159
|
+
if (type === 'text' || type === 'locator') {
|
|
160
|
+
const valueField = entry.value;
|
|
161
|
+
if (typeof valueField === 'string') {
|
|
162
|
+
const resolution = resolveField(valueField, type === 'locator');
|
|
163
|
+
if (resolution) {
|
|
164
|
+
out.set(key, resolution);
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return out;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Replace every `[selectorKey]` reference in a step (or expected) line with
|
|
174
|
+
* its resolved display text. Falls back to the original `[key]` when the
|
|
175
|
+
* key isn't in the map or its resolution doesn't yield a non-empty value.
|
|
176
|
+
*
|
|
177
|
+
* Sungen convention puts selector refs in square brackets, so any `[…]`
|
|
178
|
+
* substring is a candidate. Non-selector brackets (literal `[1]` etc.)
|
|
179
|
+
* safely fall through because they're never in the selector map.
|
|
180
|
+
*
|
|
181
|
+
* IMPORTANT: when the step already contains a `{{var}}` template, the
|
|
182
|
+
* substitution is SKIPPED for the whole step. Steps of the shape
|
|
183
|
+
* `See [X] header with {{x}}` already convey the locale-specific value
|
|
184
|
+
* via the `{{x}}` placeholder; replacing `[X]` with the same value would
|
|
185
|
+
* produce noisy duplication like `See [Au Co Arts Centre, Hanoi] header
|
|
186
|
+
* with {{event_location}}`. Keeping the selector key matches the source
|
|
187
|
+
* `.feature` shape and stays readable for QA reviewers.
|
|
188
|
+
*/
|
|
189
|
+
function substituteSelectorKeysInStep(stepText, selectorKeyMap, testData) {
|
|
190
|
+
// Fresh regex per call — no state pollution across step / feature boundaries.
|
|
191
|
+
if (hasAnyVar(stepText))
|
|
192
|
+
return stepText;
|
|
193
|
+
return stepText.replace(/\[([^\]]+)\]/g, (match, key) => {
|
|
194
|
+
// Sungen convention lowercases the bracketed Reference when computing
|
|
195
|
+
// the YAML key (`sungen-selector-keys` skill), so the step might say
|
|
196
|
+
// `[Kudos:Quick Action]` while the selector entry is `kudos:quick action`.
|
|
197
|
+
// Normalize before lookup to match both styles.
|
|
198
|
+
const trimmedKey = key.trim();
|
|
199
|
+
const res = selectorKeyMap.get(trimmedKey) ?? selectorKeyMap.get(trimmedKey.toLowerCase());
|
|
200
|
+
if (!res)
|
|
201
|
+
return match;
|
|
202
|
+
const value = res.varName ? testData[res.varName] : res.literal;
|
|
203
|
+
if (value === undefined || value === null || value === '')
|
|
204
|
+
return match;
|
|
205
|
+
return `[${value}]`;
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=selector-key-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selector-key-resolver.js","sourceRoot":"","sources":["../../src/exporters/selector-key-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,22 @@
|
|
|
7
7
|
* kudos:
|
|
8
8
|
* recipient: "An"
|
|
9
9
|
* become { "kudos.recipient": "An" }, matching {{kudos.recipient}} refs.
|
|
10
|
-
* Arrays are JSON-stringified. Returns empty map if
|
|
10
|
+
* Arrays are JSON-stringified. Returns empty map if both files are missing.
|
|
11
|
+
*
|
|
12
|
+
* When `SUNGEN_ENV` is set, also merges the matching overlay file alongside
|
|
13
|
+
* the base (e.g. `login.yaml` + `login.vi.yaml`). Shallow root-level merge —
|
|
14
|
+
* keys present in the overlay replace base. Matches the compile-time runtime
|
|
15
|
+
* resolver behaviour in src/generators/test-generator/utils/data-resolver.ts
|
|
16
|
+
* so delivery CSV/XLSX values line up with what tests actually ran with.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Optional `locale` overrides `process.env.SUNGEN_ENV` — used by the
|
|
20
|
+
* multi-locale delivery aggregator so each iteration of the loop can load a
|
|
21
|
+
* specific overlay without mutating the global env. Pass `null` to force
|
|
22
|
+
* base-only (no overlay merge); leave `undefined` to keep the env-driven
|
|
23
|
+
* behaviour (default).
|
|
11
24
|
*/
|
|
12
|
-
export declare function loadTestData(testDataFilePath: string): Record<string, string>;
|
|
25
|
+
export declare function loadTestData(testDataFilePath: string, locale?: string | null): Record<string, string>;
|
|
13
26
|
/**
|
|
14
27
|
* Format a list of variable references into a "key: value" string.
|
|
15
28
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-data-resolver.d.ts","sourceRoot":"","sources":["../../src/exporters/test-data-resolver.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH
|
|
1
|
+
{"version":3,"file":"test-data-resolver.d.ts","sourceRoot":"","sources":["../../src/exporters/test-data-resolver.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;;;;;;;;;;;;GAaG;AACH;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcrG;AAwDD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,cAAc,EAAE,MAAM,EAAE,EACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,MAAM,GAAE,MAAiB,EACzB,SAAS,GAAE,MAAa,GACvB,MAAM,CAcR;AAOD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvE"}
|
|
@@ -48,19 +48,72 @@ const yaml_1 = require("yaml");
|
|
|
48
48
|
* kudos:
|
|
49
49
|
* recipient: "An"
|
|
50
50
|
* become { "kudos.recipient": "An" }, matching {{kudos.recipient}} refs.
|
|
51
|
-
* Arrays are JSON-stringified. Returns empty map if
|
|
51
|
+
* Arrays are JSON-stringified. Returns empty map if both files are missing.
|
|
52
|
+
*
|
|
53
|
+
* When `SUNGEN_ENV` is set, also merges the matching overlay file alongside
|
|
54
|
+
* the base (e.g. `login.yaml` + `login.vi.yaml`). Shallow root-level merge —
|
|
55
|
+
* keys present in the overlay replace base. Matches the compile-time runtime
|
|
56
|
+
* resolver behaviour in src/generators/test-generator/utils/data-resolver.ts
|
|
57
|
+
* so delivery CSV/XLSX values line up with what tests actually ran with.
|
|
52
58
|
*/
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Optional `locale` overrides `process.env.SUNGEN_ENV` — used by the
|
|
61
|
+
* multi-locale delivery aggregator so each iteration of the loop can load a
|
|
62
|
+
* specific overlay without mutating the global env. Pass `null` to force
|
|
63
|
+
* base-only (no overlay merge); leave `undefined` to keep the env-driven
|
|
64
|
+
* behaviour (default).
|
|
65
|
+
*/
|
|
66
|
+
function loadTestData(testDataFilePath, locale) {
|
|
67
|
+
const base = readYamlObject(testDataFilePath);
|
|
68
|
+
const effectiveLocale = locale !== undefined ? locale : process.env.SUNGEN_ENV;
|
|
69
|
+
const overlay = effectiveLocale ? readYamlObject(envOverlayPath(testDataFilePath, effectiveLocale)) : null;
|
|
70
|
+
if (!base && !overlay)
|
|
59
71
|
return {};
|
|
72
|
+
// Deep merge so nested namespaces (flow conventions like `kudos.recipient`
|
|
73
|
+
// / `profile.sent_tab_label`) don't get wiped when the overlay touches the
|
|
74
|
+
// top-level `kudos:` key. Shallow spread previously replaced the whole
|
|
75
|
+
// sub-tree, dropping every base key the overlay didn't redeclare.
|
|
76
|
+
const merged = deepMerge(base ?? {}, overlay ?? {});
|
|
60
77
|
const result = {};
|
|
61
|
-
flatten(
|
|
78
|
+
flatten(merged, '', result);
|
|
62
79
|
return result;
|
|
63
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Two-input plain-object deep merge. Overlay wins at every level:
|
|
83
|
+
* - Scalar / array / mismatched type → overlay replaces base.
|
|
84
|
+
* - Both plain objects → recursive merge.
|
|
85
|
+
* Pure (no input mutation) so callers can reuse the inputs.
|
|
86
|
+
*/
|
|
87
|
+
function deepMerge(base, overlay) {
|
|
88
|
+
const result = { ...base };
|
|
89
|
+
for (const [key, overlayValue] of Object.entries(overlay)) {
|
|
90
|
+
const baseValue = result[key];
|
|
91
|
+
if (isPlainObject(baseValue) && isPlainObject(overlayValue)) {
|
|
92
|
+
result[key] = deepMerge(baseValue, overlayValue);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
result[key] = overlayValue;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return result;
|
|
99
|
+
}
|
|
100
|
+
function isPlainObject(value) {
|
|
101
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
102
|
+
}
|
|
103
|
+
function readYamlObject(filePath) {
|
|
104
|
+
if (!fs.existsSync(filePath))
|
|
105
|
+
return null;
|
|
106
|
+
const parsed = (0, yaml_1.parse)(fs.readFileSync(filePath, 'utf-8'));
|
|
107
|
+
if (!parsed || typeof parsed !== 'object')
|
|
108
|
+
return null;
|
|
109
|
+
return parsed;
|
|
110
|
+
}
|
|
111
|
+
function envOverlayPath(basePath, env) {
|
|
112
|
+
const ext = path.extname(basePath);
|
|
113
|
+
const dir = path.dirname(basePath);
|
|
114
|
+
const stem = path.basename(basePath, ext);
|
|
115
|
+
return path.join(dir, `${stem}.${env}${ext}`);
|
|
116
|
+
}
|
|
64
117
|
function flatten(obj, prefix, out) {
|
|
65
118
|
for (const [key, value] of Object.entries(obj)) {
|
|
66
119
|
if (value === null || value === undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-data-resolver.js","sourceRoot":"","sources":["../../src/exporters/test-data-resolver.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"test-data-resolver.js","sourceRoot":"","sources":["../../src/exporters/test-data-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/exporters/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/exporters/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,10 +12,35 @@ import ExcelJS from 'exceljs';
|
|
|
12
12
|
import { ScreenSummary, TestCaseRow } from './types';
|
|
13
13
|
export declare function renderXlsx(summary: ScreenSummary, rows: TestCaseRow[], specLink: string): ExcelJS.Workbook;
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
15
|
+
* Render multiple locales into a single workbook with one sheet per locale.
|
|
16
|
+
*
|
|
17
|
+
* Triggered automatically by `sungen delivery <screen>` when SUNGEN_ENV is
|
|
18
|
+
* unset and 2+ `*-test-result.<locale>.json` files are detected for the same
|
|
19
|
+
* feature basename. Each sheet uses the canonical BM-2-901-13 layout; sheet
|
|
20
|
+
* names follow `<feature>-<LOCALE>` (uppercased).
|
|
21
|
+
*
|
|
22
|
+
* Pass-through: `renderXlsx(summary, rows, specLink)` remains the single-sheet
|
|
23
|
+
* shortcut used when only one locale exists or when `SUNGEN_ENV` filters to
|
|
24
|
+
* one.
|
|
17
25
|
*/
|
|
18
|
-
export
|
|
26
|
+
export interface LocaleSheet {
|
|
27
|
+
sheetName: string;
|
|
28
|
+
summary: ScreenSummary;
|
|
29
|
+
rows: TestCaseRow[];
|
|
30
|
+
specLink: string;
|
|
31
|
+
}
|
|
32
|
+
export declare function renderXlsxMultiSheet(sheets: LocaleSheet[]): ExcelJS.Workbook;
|
|
33
|
+
/**
|
|
34
|
+
* Write the workbook to `qa/deliverables/<screen>-testcases[.env].xlsx`.
|
|
35
|
+
* When `SUNGEN_ENV` is set, the env name is appended so locale exports don't
|
|
36
|
+
* overwrite each other. Directory is created on demand.
|
|
37
|
+
*/
|
|
38
|
+
/**
|
|
39
|
+
* Optional `locale` overrides `process.env.SUNGEN_ENV` for filename suffix —
|
|
40
|
+
* used by the multi-locale delivery aggregator. Pass `null` / empty string
|
|
41
|
+
* to force the base (no suffix) variant.
|
|
42
|
+
*/
|
|
43
|
+
export declare function writeXlsx(cwd: string, screen: string, wb: ExcelJS.Workbook, locale?: string | null): Promise<string>;
|
|
19
44
|
/**
|
|
20
45
|
* Post-process the workbook buffer: extend `<a:picLocks>` on every drawing
|
|
21
46
|
* with `noMove`, `noResize`, `noSelect`. Combined with the sheet protection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xlsx-exporter.d.ts","sourceRoot":"","sources":["../../src/exporters/xlsx-exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"xlsx-exporter.d.ts","sourceRoot":"","sources":["../../src/exporters/xlsx-exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAwBrD,wBAAgB,UAAU,CACxB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,WAAW,EAAE,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,QAAQ,CAMlB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,QAAQ,CAW5E;AA2UD;;;;GAIG;AACH;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,OAAO,CAAC,QAAQ,EACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBxE"}
|
|
@@ -47,6 +47,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
47
47
|
};
|
|
48
48
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
49
|
exports.renderXlsx = renderXlsx;
|
|
50
|
+
exports.renderXlsxMultiSheet = renderXlsxMultiSheet;
|
|
50
51
|
exports.writeXlsx = writeXlsx;
|
|
51
52
|
exports.lockEmbeddedImages = lockEmbeddedImages;
|
|
52
53
|
const fs = __importStar(require("fs"));
|
|
@@ -55,6 +56,7 @@ const exceljs_1 = __importDefault(require("exceljs"));
|
|
|
55
56
|
const jszip_1 = __importDefault(require("jszip"));
|
|
56
57
|
const package_info_1 = require("./package-info");
|
|
57
58
|
const sun_logo_1 = require("./sun-logo");
|
|
59
|
+
const csv_exporter_1 = require("./csv-exporter");
|
|
58
60
|
const COL_COUNT = 16;
|
|
59
61
|
const HEADER_FILL = 'FFD9D2E9'; // lavender — matches the summary-header band on row 6
|
|
60
62
|
const HEADER_FONT = 'FF000000'; // black text reads better on the light lavender
|
|
@@ -73,7 +75,28 @@ function renderXlsx(summary, rows, specLink) {
|
|
|
73
75
|
const wb = new exceljs_1.default.Workbook();
|
|
74
76
|
wb.creator = 'sungen delivery';
|
|
75
77
|
wb.created = new Date();
|
|
76
|
-
|
|
78
|
+
addTestcaseSheet(wb, 'Testcases', summary, rows, specLink);
|
|
79
|
+
return wb;
|
|
80
|
+
}
|
|
81
|
+
function renderXlsxMultiSheet(sheets) {
|
|
82
|
+
if (sheets.length === 0) {
|
|
83
|
+
throw new Error('renderXlsxMultiSheet requires at least one locale sheet');
|
|
84
|
+
}
|
|
85
|
+
const wb = new exceljs_1.default.Workbook();
|
|
86
|
+
wb.creator = 'sungen delivery';
|
|
87
|
+
wb.created = new Date();
|
|
88
|
+
for (const s of sheets) {
|
|
89
|
+
addTestcaseSheet(wb, s.sheetName, s.summary, s.rows, s.specLink);
|
|
90
|
+
}
|
|
91
|
+
return wb;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Append one BM-2-901-13 testcase sheet to the given workbook. Sheet content
|
|
95
|
+
* (layout, summary band, data rows, auto-filter, protection) is identical to
|
|
96
|
+
* the single-sheet `renderXlsx` output — only the sheet name differs.
|
|
97
|
+
*/
|
|
98
|
+
function addTestcaseSheet(wb, sheetName, summary, rows, specLink) {
|
|
99
|
+
const ws = wb.addWorksheet(sheetName, {
|
|
77
100
|
views: [{ state: 'frozen', ySplit: 0, xSplit: 0 }],
|
|
78
101
|
});
|
|
79
102
|
const issueDate = (() => {
|
|
@@ -367,17 +390,22 @@ function renderXlsx(summary, rows, specLink) {
|
|
|
367
390
|
objects: false,
|
|
368
391
|
scenarios: false,
|
|
369
392
|
};
|
|
370
|
-
return wb;
|
|
371
393
|
}
|
|
372
394
|
/**
|
|
373
|
-
* Write the workbook to `qa/deliverables/<screen>-testcases.xlsx`.
|
|
374
|
-
*
|
|
395
|
+
* Write the workbook to `qa/deliverables/<screen>-testcases[.env].xlsx`.
|
|
396
|
+
* When `SUNGEN_ENV` is set, the env name is appended so locale exports don't
|
|
397
|
+
* overwrite each other. Directory is created on demand.
|
|
398
|
+
*/
|
|
399
|
+
/**
|
|
400
|
+
* Optional `locale` overrides `process.env.SUNGEN_ENV` for filename suffix —
|
|
401
|
+
* used by the multi-locale delivery aggregator. Pass `null` / empty string
|
|
402
|
+
* to force the base (no suffix) variant.
|
|
375
403
|
*/
|
|
376
|
-
async function writeXlsx(cwd, screen, wb) {
|
|
404
|
+
async function writeXlsx(cwd, screen, wb, locale) {
|
|
377
405
|
const outDir = path.join(cwd, 'qa', 'deliverables');
|
|
378
406
|
if (!fs.existsSync(outDir))
|
|
379
407
|
fs.mkdirSync(outDir, { recursive: true });
|
|
380
|
-
const outPath = path.join(outDir, `${screen}
|
|
408
|
+
const outPath = path.join(outDir, `${(0, csv_exporter_1.deliverableBasename)(screen, locale)}.xlsx`);
|
|
381
409
|
const buffer = await wb.xlsx.writeBuffer();
|
|
382
410
|
const locked = await lockEmbeddedImages(Buffer.from(buffer));
|
|
383
411
|
fs.writeFileSync(outPath, locked);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xlsx-exporter.js","sourceRoot":"","sources":["../../src/exporters/xlsx-exporter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xlsx-exporter.js","sourceRoot":"","sources":["../../src/exporters/xlsx-exporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../../src/generators/test-generator/code-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAA8B,MAAM,mBAAmB,CAAC;AAyJ9E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAM;IAErB,OAAO,CAAC,aAAa,CAAqC;gBAE9C,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAO;IAatK;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;IAiEzB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,SAAS,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAS7C;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../../src/generators/test-generator/code-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAA8B,MAAM,mBAAmB,CAAC;AAyJ9E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAM;IAErB,OAAO,CAAC,aAAa,CAAqC;gBAE9C,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAO;IAatK;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;IAiEzB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,SAAS,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAS7C;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;YA0CzB,gBAAgB;YA+LhB,uBAAuB;YAYvB,kBAAkB;YAiBlB,YAAY;YAqBZ,gBAAgB;IA4E9B;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,aAAa,EAAE,CAAC;CA8D5B"}
|
|
@@ -260,6 +260,19 @@ class CodeGenerator {
|
|
|
260
260
|
console.log('✓ Created: specs/base.ts');
|
|
261
261
|
}
|
|
262
262
|
}
|
|
263
|
+
// base.ts now depends on locale-fixture.ts — keep them paired.
|
|
264
|
+
const localeFixturePath = path_1.default.join(outputDir, 'locale-fixture.ts');
|
|
265
|
+
if (!fs_1.default.existsSync(localeFixturePath)) {
|
|
266
|
+
const templatePath = path_1.default.join(templatesRoot, 'specs-locale-fixture.ts');
|
|
267
|
+
if (fs_1.default.existsSync(templatePath)) {
|
|
268
|
+
const baseDir = path_1.default.dirname(localeFixturePath);
|
|
269
|
+
if (!fs_1.default.existsSync(baseDir)) {
|
|
270
|
+
fs_1.default.mkdirSync(baseDir, { recursive: true });
|
|
271
|
+
}
|
|
272
|
+
fs_1.default.copyFileSync(templatePath, localeFixturePath);
|
|
273
|
+
console.log('✓ Created: specs/locale-fixture.ts');
|
|
274
|
+
}
|
|
275
|
+
}
|
|
263
276
|
if (this.options.runtimeData) {
|
|
264
277
|
const testDataPath = path_1.default.join(outputDir, 'test-data.ts');
|
|
265
278
|
if (!fs_1.default.existsSync(testDataPath)) {
|