@sun-asterisk/sungen 2.6.11 → 2.6.14

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 (128) hide show
  1. package/dist/cli/commands/delivery.d.ts.map +1 -1
  2. package/dist/cli/commands/delivery.js +215 -65
  3. package/dist/cli/commands/delivery.js.map +1 -1
  4. package/dist/cli/index.js +1 -1
  5. package/dist/dashboard/snapshot-builder.d.ts.map +1 -1
  6. package/dist/dashboard/snapshot-builder.js +173 -32
  7. package/dist/dashboard/snapshot-builder.js.map +1 -1
  8. package/dist/dashboard/templates/index.html +84 -84
  9. package/dist/dashboard/types.d.ts +35 -0
  10. package/dist/dashboard/types.d.ts.map +1 -1
  11. package/dist/exporters/csv-exporter.d.ts +24 -3
  12. package/dist/exporters/csv-exporter.d.ts.map +1 -1
  13. package/dist/exporters/csv-exporter.js +28 -7
  14. package/dist/exporters/csv-exporter.js.map +1 -1
  15. package/dist/exporters/json-exporter.d.ts +15 -0
  16. package/dist/exporters/json-exporter.d.ts.map +1 -1
  17. package/dist/exporters/json-exporter.js +7 -2
  18. package/dist/exporters/json-exporter.js.map +1 -1
  19. package/dist/exporters/playwright-report-parser.d.ts +7 -0
  20. package/dist/exporters/playwright-report-parser.d.ts.map +1 -1
  21. package/dist/exporters/playwright-report-parser.js +20 -0
  22. package/dist/exporters/playwright-report-parser.js.map +1 -1
  23. package/dist/exporters/selector-key-resolver.d.ts +55 -0
  24. package/dist/exporters/selector-key-resolver.d.ts.map +1 -0
  25. package/dist/exporters/selector-key-resolver.js +208 -0
  26. package/dist/exporters/selector-key-resolver.js.map +1 -0
  27. package/dist/exporters/test-data-resolver.d.ts +15 -2
  28. package/dist/exporters/test-data-resolver.d.ts.map +1 -1
  29. package/dist/exporters/test-data-resolver.js +61 -8
  30. package/dist/exporters/test-data-resolver.js.map +1 -1
  31. package/dist/exporters/types.d.ts +1 -0
  32. package/dist/exporters/types.d.ts.map +1 -1
  33. package/dist/exporters/xlsx-exporter.d.ts +28 -3
  34. package/dist/exporters/xlsx-exporter.d.ts.map +1 -1
  35. package/dist/exporters/xlsx-exporter.js +34 -6
  36. package/dist/exporters/xlsx-exporter.js.map +1 -1
  37. package/dist/generators/test-generator/code-generator.d.ts.map +1 -1
  38. package/dist/generators/test-generator/code-generator.js +13 -0
  39. package/dist/generators/test-generator/code-generator.js.map +1 -1
  40. package/dist/generators/test-generator/utils/selector-resolver.d.ts +9 -0
  41. package/dist/generators/test-generator/utils/selector-resolver.d.ts.map +1 -1
  42. package/dist/generators/test-generator/utils/selector-resolver.js +18 -2
  43. package/dist/generators/test-generator/utils/selector-resolver.js.map +1 -1
  44. package/dist/orchestrator/ai-rules-updater.d.ts.map +1 -1
  45. package/dist/orchestrator/ai-rules-updater.js +4 -0
  46. package/dist/orchestrator/ai-rules-updater.js.map +1 -1
  47. package/dist/orchestrator/project-initializer.d.ts.map +1 -1
  48. package/dist/orchestrator/project-initializer.js +1 -2
  49. package/dist/orchestrator/project-initializer.js.map +1 -1
  50. package/dist/orchestrator/templates/ai-instructions/claude-cmd-add-screen.md +48 -14
  51. package/dist/orchestrator/templates/ai-instructions/claude-cmd-dashboard.md +4 -1
  52. package/dist/orchestrator/templates/ai-instructions/claude-cmd-delivery.md +22 -11
  53. package/dist/orchestrator/templates/ai-instructions/claude-cmd-locale.md +71 -0
  54. package/dist/orchestrator/templates/ai-instructions/claude-cmd-review.md +23 -8
  55. package/dist/orchestrator/templates/ai-instructions/claude-cmd-run-test.md +45 -6
  56. package/dist/orchestrator/templates/ai-instructions/claude-config.md +6 -1
  57. package/dist/orchestrator/templates/ai-instructions/claude-skill-locale.md +316 -0
  58. package/dist/orchestrator/templates/ai-instructions/claude-skill-selector-fix.md +1 -0
  59. package/dist/orchestrator/templates/ai-instructions/claude-skill-selector-keys.md +38 -0
  60. package/dist/orchestrator/templates/ai-instructions/claude-skill-tc-generation.md +2 -0
  61. package/dist/orchestrator/templates/ai-instructions/copilot-cmd-add-screen.md +50 -13
  62. package/dist/orchestrator/templates/ai-instructions/copilot-cmd-dashboard.md +4 -1
  63. package/dist/orchestrator/templates/ai-instructions/copilot-cmd-delivery.md +20 -9
  64. package/dist/orchestrator/templates/ai-instructions/copilot-cmd-locale.md +70 -0
  65. package/dist/orchestrator/templates/ai-instructions/copilot-cmd-review.md +23 -8
  66. package/dist/orchestrator/templates/ai-instructions/copilot-cmd-run-test.md +44 -6
  67. package/dist/orchestrator/templates/ai-instructions/copilot-config.md +6 -1
  68. package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-locale.md +291 -0
  69. package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-selector-fix.md +1 -0
  70. package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-selector-keys.md +38 -0
  71. package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-tc-generation.md +2 -0
  72. package/dist/orchestrator/templates/playwright.config.ts +25 -8
  73. package/dist/orchestrator/templates/specs-base.ts +9 -0
  74. package/dist/orchestrator/templates/specs-locale-fixture.ts +105 -0
  75. package/package.json +1 -1
  76. package/src/cli/commands/delivery.ts +256 -65
  77. package/src/cli/index.ts +1 -1
  78. package/src/dashboard/snapshot-builder.ts +207 -32
  79. package/src/dashboard/templates/index.html +84 -84
  80. package/src/dashboard/types.ts +40 -3
  81. package/src/exporters/csv-exporter.ts +36 -7
  82. package/src/exporters/json-exporter.ts +22 -2
  83. package/src/exporters/playwright-report-parser.ts +20 -0
  84. package/src/exporters/selector-key-resolver.ts +190 -0
  85. package/src/exporters/test-data-resolver.ts +65 -7
  86. package/src/exporters/types.ts +1 -0
  87. package/src/exporters/xlsx-exporter.ts +61 -7
  88. package/src/generators/test-generator/code-generator.ts +14 -0
  89. package/src/generators/test-generator/utils/selector-resolver.ts +19 -2
  90. package/src/orchestrator/ai-rules-updater.ts +4 -0
  91. package/src/orchestrator/project-initializer.ts +1 -2
  92. package/src/orchestrator/templates/ai-instructions/claude-cmd-add-screen.md +48 -14
  93. package/src/orchestrator/templates/ai-instructions/claude-cmd-dashboard.md +4 -1
  94. package/src/orchestrator/templates/ai-instructions/claude-cmd-delivery.md +22 -11
  95. package/src/orchestrator/templates/ai-instructions/claude-cmd-locale.md +71 -0
  96. package/src/orchestrator/templates/ai-instructions/claude-cmd-review.md +23 -8
  97. package/src/orchestrator/templates/ai-instructions/claude-cmd-run-test.md +45 -6
  98. package/src/orchestrator/templates/ai-instructions/claude-config.md +6 -1
  99. package/src/orchestrator/templates/ai-instructions/claude-skill-locale.md +316 -0
  100. package/src/orchestrator/templates/ai-instructions/claude-skill-selector-fix.md +1 -0
  101. package/src/orchestrator/templates/ai-instructions/claude-skill-selector-keys.md +38 -0
  102. package/src/orchestrator/templates/ai-instructions/claude-skill-tc-generation.md +2 -0
  103. package/src/orchestrator/templates/ai-instructions/copilot-cmd-add-screen.md +50 -13
  104. package/src/orchestrator/templates/ai-instructions/copilot-cmd-dashboard.md +4 -1
  105. package/src/orchestrator/templates/ai-instructions/copilot-cmd-delivery.md +20 -9
  106. package/src/orchestrator/templates/ai-instructions/copilot-cmd-locale.md +70 -0
  107. package/src/orchestrator/templates/ai-instructions/copilot-cmd-review.md +23 -8
  108. package/src/orchestrator/templates/ai-instructions/copilot-cmd-run-test.md +44 -6
  109. package/src/orchestrator/templates/ai-instructions/copilot-config.md +6 -1
  110. package/src/orchestrator/templates/ai-instructions/github-skill-sungen-locale.md +291 -0
  111. package/src/orchestrator/templates/ai-instructions/github-skill-sungen-selector-fix.md +1 -0
  112. package/src/orchestrator/templates/ai-instructions/github-skill-sungen-selector-keys.md +38 -0
  113. package/src/orchestrator/templates/ai-instructions/github-skill-sungen-tc-generation.md +2 -0
  114. package/src/orchestrator/templates/playwright.config.ts +25 -8
  115. package/src/orchestrator/templates/specs-base.ts +9 -0
  116. package/src/orchestrator/templates/specs-locale-fixture.ts +105 -0
  117. package/dist/orchestrator/templates/playwright.config.d.ts +0 -10
  118. package/dist/orchestrator/templates/playwright.config.d.ts.map +0 -1
  119. package/dist/orchestrator/templates/playwright.config.js +0 -104
  120. package/dist/orchestrator/templates/playwright.config.js.map +0 -1
  121. package/dist/orchestrator/templates/specs-base.d.ts +0 -14
  122. package/dist/orchestrator/templates/specs-base.d.ts.map +0 -1
  123. package/dist/orchestrator/templates/specs-base.js +0 -77
  124. package/dist/orchestrator/templates/specs-base.js.map +0 -1
  125. package/dist/orchestrator/templates/specs-test-data.d.ts +0 -16
  126. package/dist/orchestrator/templates/specs-test-data.d.ts.map +0 -1
  127. package/dist/orchestrator/templates/specs-test-data.js +0 -151
  128. package/dist/orchestrator/templates/specs-test-data.js.map +0 -1
@@ -41,6 +41,40 @@ export interface ScreenSnapshot {
41
41
  specLink?: string;
42
42
  summary: ScreenSummaryStats;
43
43
  scenarios: ScenarioSnapshot[];
44
+ features?: FeatureSnapshot[];
45
+ }
46
+ /**
47
+ * One `.feature` file inside a screen/flow. A screen can host multiple
48
+ * features (e.g. `home.feature` + `home-modal.feature`), which the dashboard
49
+ * surfaces as sub-groups under the screen entry.
50
+ *
51
+ * When a feature has been i18n-bootstrapped (locale overlay test-data file +
52
+ * matching `<feature>-test-result.<locale>.json` exists), the snapshot
53
+ * builder packs each locale variant into the `locales` array. UI consumers
54
+ * can render a locale switcher; legacy consumers fall back to `scenarios`
55
+ * (which always reflects the base locale).
56
+ */
57
+ export interface FeatureSnapshot {
58
+ featureBaseName: string;
59
+ featureName: string;
60
+ featurePath?: string;
61
+ specLink?: string;
62
+ summary: ScreenSummaryStats;
63
+ scenarios: ScenarioSnapshot[];
64
+ locales?: LocaleSnapshot[];
65
+ }
66
+ /**
67
+ * One locale variant of a feature's scenarios. The structure (categories,
68
+ * viewpoints, TC IDs) matches the base locale — only test-data values,
69
+ * results, and `testEnvironment` differ. `locale === ''` denotes the base
70
+ * locale; non-empty values come from `test-data/<feature>.<locale>.yaml`
71
+ * overlays plus matching `<feature>-test-result.<locale>.json` reports.
72
+ */
73
+ export interface LocaleSnapshot {
74
+ locale: string;
75
+ displayCode: string;
76
+ summary: ScreenSummaryStats;
77
+ scenarios: ScenarioSnapshot[];
44
78
  }
45
79
  export interface ScreenSummaryStats {
46
80
  total: number;
@@ -57,6 +91,7 @@ export interface ScenarioSnapshot {
57
91
  category2: string;
58
92
  category3: string;
59
93
  category4: string;
94
+ featureBaseName?: string;
60
95
  vpId?: string;
61
96
  priority: 'High' | 'Normal' | 'Low';
62
97
  type: 'Auto' | 'Manual' | 'Not compiled';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dashboard/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dashboard/types.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { MergedScenario } from './scenario-merger';
6
6
  import { EnvironmentInfo, PlaywrightResult, ScreenSummary, TestCaseRow } from './types';
7
+ import { SelectorKeyMap } from './selector-key-resolver';
7
8
  export interface BuildCsvInput {
8
9
  screen: string;
9
10
  featureName: string;
@@ -15,6 +16,13 @@ export interface BuildCsvInput {
15
16
  testData: Record<string, string>;
16
17
  results: Map<string, PlaywrightResult> | null;
17
18
  env: EnvironmentInfo;
19
+ /**
20
+ * Optional selector-key → var-name map. When supplied, step / expected
21
+ * cells get `[selectorKey]` references swapped for the locale-specific
22
+ * `[testData[var]]` value — so EN sheets read "Click [ABOUT KUDOS] link"
23
+ * instead of the VI selector key "Click [VỀ KUDOS] link".
24
+ */
25
+ selectorKeyMap?: SelectorKeyMap;
18
26
  }
19
27
  /**
20
28
  * Build CSV test case rows from merged scenarios.
@@ -29,8 +37,21 @@ export declare function buildSummary(screen: string, rows: TestCaseRow[], output
29
37
  */
30
38
  export declare function renderCsv(summary: ScreenSummary, rows: TestCaseRow[], specLink: string): string;
31
39
  /**
32
- * Write the CSV to disk at qa/deliverables/<screen>-testcases.csv.
33
- * Creates directory if needed.
40
+ * Write the CSV to disk at `qa/deliverables/<screen>-testcases[.env].csv`.
41
+ * When `SUNGEN_ENV` is set, the env name is appended so locale exports
42
+ * don't overwrite each other. Creates directory if needed.
34
43
  */
35
- export declare function writeCsv(cwd: string, screen: string, csvContent: string): string;
44
+ /**
45
+ * Optional `locale` overrides `process.env.SUNGEN_ENV` — used by the
46
+ * multi-locale delivery aggregator. Pass an empty string to force the
47
+ * base (no suffix) variant.
48
+ */
49
+ export declare function writeCsv(cwd: string, screen: string, csvContent: string, locale?: string | null): string;
50
+ /**
51
+ * Build the env-aware basename used by both CSV and XLSX writers.
52
+ * `<screen>-testcases` becomes `<screen>-testcases.<env>` when a non-empty
53
+ * locale is given (or `SUNGEN_ENV` is set and no explicit override). Pass
54
+ * `null` / empty string to force the base variant.
55
+ */
56
+ export declare function deliverableBasename(screen: string, locale?: string | null): string;
36
57
  //# sourceMappingURL=csv-exporter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"csv-exporter.d.ts","sourceRoot":"","sources":["../../src/exporters/csv-exporter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAgBnD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAExF,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB;;4BAEwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAC9C,GAAG,EAAE,eAAe,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,WAAW,EAAE,CA4FrE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CAmBnG;AAmCD;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA6G/F;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQhF"}
1
+ {"version":3,"file":"csv-exporter.d.ts","sourceRoot":"","sources":["../../src/exporters/csv-exporter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAgBnD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACxF,OAAO,EAAE,cAAc,EAAgC,MAAM,yBAAyB,CAAC;AAEvF,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB;;4BAEwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAC9C,GAAG,EAAE,eAAe,CAAC;IACrB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,WAAW,EAAE,CAgGrE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CAmBnG;AAmCD;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA6G/F;AAED;;;;GAIG;AACH;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAQxG;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAGlF"}
@@ -41,6 +41,7 @@ exports.buildTestCaseRows = buildTestCaseRows;
41
41
  exports.buildSummary = buildSummary;
42
42
  exports.renderCsv = renderCsv;
43
43
  exports.writeCsv = writeCsv;
44
+ exports.deliverableBasename = deliverableBasename;
44
45
  const fs = __importStar(require("fs"));
45
46
  const path = __importStar(require("path"));
46
47
  const package_info_1 = require("./package-info");
@@ -48,6 +49,7 @@ const feature_parser_1 = require("./feature-parser");
48
49
  const step_formatter_1 = require("./step-formatter");
49
50
  const test_data_resolver_1 = require("./test-data-resolver");
50
51
  const playwright_report_parser_1 = require("./playwright-report-parser");
52
+ const selector_key_resolver_1 = require("./selector-key-resolver");
51
53
  /**
52
54
  * Build CSV test case rows from merged scenarios.
53
55
  */
@@ -66,7 +68,10 @@ function buildTestCaseRows(input) {
66
68
  // Pre-condition is auth-only. Steps section = Background + @extend base
67
69
  // (entire) + own pre-Then. Expected = own's Then-onwards only.
68
70
  const precondition = (0, step_formatter_1.formatPrecondition)(authRole);
69
- const formatStep = (s) => s.bucket === 'given' ? (0, step_formatter_1.keepActor)(s.text) : (0, step_formatter_1.stripActor)(s.text);
71
+ const localize = (text) => input.selectorKeyMap
72
+ ? (0, selector_key_resolver_1.substituteSelectorKeysInStep)(text, input.selectorKeyMap, input.testData)
73
+ : text;
74
+ const formatStep = (s) => localize(s.bucket === 'given' ? (0, step_formatter_1.keepActor)(s.text) : (0, step_formatter_1.stripActor)(s.text));
70
75
  const stepLines = m.resolvedSteps.map(formatStep).filter(Boolean);
71
76
  const expectedLines = m.resolvedExpected.map(formatStep).filter(Boolean);
72
77
  const steps = stepLines.length === 0 ? '' :
@@ -105,13 +110,13 @@ function buildTestCaseRows(input) {
105
110
  testResult = (0, playwright_report_parser_1.statusToTestResult)(result.status);
106
111
  executedDate = (0, playwright_report_parser_1.formatExecutedDate)(result.startTime);
107
112
  note = (0, playwright_report_parser_1.formatNote)(result);
108
- environment = formatEnv(input.env.baseURL, input.featurePath, input.env.projectName);
113
+ environment = formatEnv(input.env.baseURL, input.featurePath, result.projectName || input.env.projectName);
109
114
  executor = input.env.executor;
110
115
  }
111
116
  // If we have environment info and the test actually ran, populate env + executor
112
117
  if (testResult !== 'Pending' && testResult !== 'N/A') {
113
118
  if (!environment)
114
- environment = formatEnv(input.env.baseURL, input.featurePath, input.env.projectName);
119
+ environment = formatEnv(input.env.baseURL, input.featurePath, result?.projectName || input.env.projectName);
115
120
  if (!executor)
116
121
  executor = input.env.executor;
117
122
  }
@@ -305,16 +310,32 @@ function renderCsv(summary, rows, specLink) {
305
310
  return BOM + lines.join('\n') + '\n';
306
311
  }
307
312
  /**
308
- * Write the CSV to disk at qa/deliverables/<screen>-testcases.csv.
309
- * Creates directory if needed.
313
+ * Write the CSV to disk at `qa/deliverables/<screen>-testcases[.env].csv`.
314
+ * When `SUNGEN_ENV` is set, the env name is appended so locale exports
315
+ * don't overwrite each other. Creates directory if needed.
310
316
  */
311
- function writeCsv(cwd, screen, csvContent) {
317
+ /**
318
+ * Optional `locale` overrides `process.env.SUNGEN_ENV` — used by the
319
+ * multi-locale delivery aggregator. Pass an empty string to force the
320
+ * base (no suffix) variant.
321
+ */
322
+ function writeCsv(cwd, screen, csvContent, locale) {
312
323
  const outDir = path.join(cwd, 'qa', 'deliverables');
313
324
  if (!fs.existsSync(outDir)) {
314
325
  fs.mkdirSync(outDir, { recursive: true });
315
326
  }
316
- const outPath = path.join(outDir, `${screen}-testcases.csv`);
327
+ const outPath = path.join(outDir, `${deliverableBasename(screen, locale)}.csv`);
317
328
  fs.writeFileSync(outPath, csvContent, 'utf-8');
318
329
  return outPath;
319
330
  }
331
+ /**
332
+ * Build the env-aware basename used by both CSV and XLSX writers.
333
+ * `<screen>-testcases` becomes `<screen>-testcases.<env>` when a non-empty
334
+ * locale is given (or `SUNGEN_ENV` is set and no explicit override). Pass
335
+ * `null` / empty string to force the base variant.
336
+ */
337
+ function deliverableBasename(screen, locale) {
338
+ const effective = locale !== undefined ? locale : process.env.SUNGEN_ENV;
339
+ return effective ? `${screen}-testcases.${effective}` : `${screen}-testcases`;
340
+ }
320
341
  //# sourceMappingURL=csv-exporter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"csv-exporter.js","sourceRoot":"","sources":["../../src/exporters/csv-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"csv-exporter.js","sourceRoot":"","sources":["../../src/exporters/csv-exporter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CH,8CAgGC;AAKD,oCAmBC;AAsCD,8BA6GC;AAYD,4BAQC;AAQD,kDAGC;AAvVD,uCAAyB;AACzB,2CAA6B;AAC7B,iDAAmD;AAEnD,qDAO0B;AAC1B,qDAAiG;AACjG,6DAAsD;AACtD,yEAIoC;AAEpC,mEAAuF;AAsBvF;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAoB;IACpD,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAc,EAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAA,6BAAY,EAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI;YAAE,aAAa,EAAE,CAAC;QAE3B,MAAM,SAAS,GAAG,IAAA,iCAAgB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAA,gCAAe,EAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,IAAA,oCAAmB,EAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAA,gCAAe,EAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEjD,wEAAwE;QACxE,+DAA+D;QAC/D,MAAM,YAAY,GAAG,IAAA,mCAAkB,EAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE,CACxC,KAAK,CAAC,cAAc;YAClB,CAAC,CAAC,IAAA,oDAA4B,EAAC,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC;YAC1E,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,UAAU,GAAG,CAAC,CAAsD,EAAE,EAAE,CAC5E,QAAQ,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAA,0BAAS,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,2BAAU,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAM,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,KAAK,GACT,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7B,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,eAAe,GACnB,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACjC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/C,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3D,oEAAoE;QACpE,wEAAwE;QACxE,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,IAAA,mCAAc,EAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE1F,2EAA2E;QAC3E,IAAI,MAAoC,CAAC;QACzC,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAED,wBAAwB;QACxB,IAAI,UAAkB,CAAC;QACvB,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACZ,+DAA+D;YAC/D,UAAU,GAAG,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3D,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,GAAG,2DAA2D,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;YAC1F,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACnB,6CAA6C;YAC7C,UAAU,GAAG,SAAS,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,IAAA,6CAAkB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/C,YAAY,GAAG,IAAA,6CAAkB,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,GAAG,IAAA,qCAAU,EAAC,MAAM,CAAC,CAAC;YAC1B,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC3G,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QAChC,CAAC;QAED,iFAAiF;QACjF,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACrD,IAAI,CAAC,WAAW;gBAAE,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC9H,IAAI,CAAC,QAAQ;gBAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC;YACR,IAAI;YACJ,SAAS;YACT,SAAS;YACT,SAAS,EAAE,KAAK,CAAC,WAAW;YAC5B,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,YAAY;YACZ,QAAQ;YACR,KAAK;YACL,eAAe;YACf,QAAQ;YACR,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc;YAC3F,UAAU;YACV,YAAY;YACZ,YAAY,EAAE,QAAQ;YACtB,eAAe,EAAE,WAAW;YAC5B,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,MAAc,EAAE,IAAmB,EAAE,UAAkB;IAClF,MAAM,OAAO,GAAkB;QAC7B,MAAM;QACN,KAAK,EAAE,IAAI,CAAC,MAAM;QAClB,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,EAAE,EAAE,CAAC;QACL,WAAW,EAAE,CAAC;QACd,UAAU;KACX,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,UAAU,KAAK,QAAQ;YAAE,OAAO,CAAC,MAAM,EAAE,CAAC;aAC3C,IAAI,CAAC,CAAC,UAAU,KAAK,QAAQ;YAAE,OAAO,CAAC,MAAM,EAAE,CAAC;aAChD,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,OAAO,EAAE,CAAC;aAClD,IAAI,CAAC,CAAC,UAAU,KAAK,KAAK;YAAE,OAAO,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,CAAC,CAAC,YAAY,KAAK,cAAc;YAAE,OAAO,CAAC,WAAW,EAAE,CAAC;IAC/D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E;;;GAGG;AACH;;;;GAIG;AACH,SAAS,SAAS,CAAC,OAAe,EAAE,WAA+B,EAAE,WAAmB;IACtF,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACtC,OAAO,GAAG,GAAG,KAAK,WAAW,GAAG,CAAC;AACnC,CAAC;AAED,SAAS,OAAO,CAAC,CAAqC;IACpD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;IAC3C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,MAAM,CAAC,KAAgD;IAC9D,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,OAAsB,EAAE,IAAmB,EAAE,QAAgB;IACrF,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;QACtB,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;IACnH,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,oBAAoB;IACtD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;IAE/D,oDAAoD;IACpD,MAAM,GAAG,GAAG,QAAQ,CAAC;IACrB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,yCAAyC;IACzC,MAAM,UAAU,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC;IAC9D,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5G,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,IAAA,gCAAiB,GAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpH,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,eAAe,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7G,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,+BAA+B,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,oCAAoC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpJ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7H,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACvK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACrL,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,mBAAmB,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5G,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACjG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;QAChB,QAAQ;QACR,iBAAiB;QACjB,UAAU;QACV,aAAa;QACb,aAAa;QACb,eAAe;QACf,WAAW;QACX,QAAQ;QACR,mBAAmB;QACnB,UAAU;QACV,eAAe;QACf,cAAc;QACd,gBAAgB;QAChB,gBAAgB;QAChB,kBAAkB;QAClB,gDAAgD;KACjD,CAAC,CAAC,CAAC;IAEJ,6CAA6C;IAC7C,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnD,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,sIAAsI;QACtI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACxF,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;gBAChB,GAAG,CAAC,IAAI;gBACR,EAAE;gBACF,EAAE;gBACF,EAAE;gBACF,GAAG,CAAC,SAAS;gBACb,GAAG,CAAC,YAAY;gBAChB,GAAG,CAAC,QAAQ;gBACZ,GAAG,CAAC,KAAK;gBACT,GAAG,CAAC,eAAe;gBACnB,GAAG,CAAC,QAAQ;gBACZ,GAAG,CAAC,YAAY;gBAChB,GAAG,CAAC,UAAU;gBACd,GAAG,CAAC,YAAY;gBAChB,GAAG,CAAC,YAAY;gBAChB,GAAG,CAAC,eAAe;gBACnB,GAAG,CAAC,IAAI;aACT,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IACD,8CAA8C;IAC9C,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACnD,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAS;QACvC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACxF,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;gBAChB,GAAG,CAAC,IAAI;gBACR,EAAE;gBACF,EAAE;gBACF,EAAE;gBACF,GAAG,CAAC,SAAS;gBACb,GAAG,CAAC,YAAY;gBAChB,GAAG,CAAC,QAAQ;gBACZ,GAAG,CAAC,KAAK;gBACT,GAAG,CAAC,eAAe;gBACnB,GAAG,CAAC,QAAQ;gBACZ,GAAG,CAAC,YAAY;gBAChB,GAAG,CAAC,UAAU;gBACd,GAAG,CAAC,YAAY;gBAChB,GAAG,CAAC,YAAY;gBAChB,GAAG,CAAC,eAAe;gBACnB,GAAG,CAAC,IAAI;aACT,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IAED,OAAO,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,GAAW,EAAE,MAAc,EAAE,UAAkB,EAAE,MAAsB;IAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAChF,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,MAAc,EAAE,MAAsB;IACxE,MAAM,SAAS,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACzE,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,cAAc,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,YAAY,CAAC;AAChF,CAAC"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { MergedScenario } from './scenario-merger';
8
8
  import { EnvironmentInfo, PlaywrightResult } from './types';
9
+ import { SelectorKeyMap } from './selector-key-resolver';
9
10
  import { ScreenSnapshot } from '../dashboard/types';
10
11
  export interface BuildScreenSnapshotInput {
11
12
  screen: string;
@@ -17,6 +18,20 @@ export interface BuildScreenSnapshotInput {
17
18
  testData: Record<string, string>;
18
19
  results: Map<string, PlaywrightResult> | null;
19
20
  env: EnvironmentInfo;
21
+ /**
22
+ * The `.feature` file basename (without extension). Stamped onto each
23
+ * generated ScenarioSnapshot so flat consumers (dashboard Suites view) can
24
+ * group scenarios by their originating feature within a screen.
25
+ * Defaults to `screen` when omitted (legacy single-feature path).
26
+ */
27
+ featureBaseName?: string;
28
+ /**
29
+ * Optional selector-key → var-name map. When supplied, `steps` and
30
+ * `expectedResults` get `[selectorKey]` references swapped for the
31
+ * locale-specific value so dashboard EN tabs read "Click [ABOUT KUDOS]
32
+ * link" instead of the VI key "Click [VỀ KUDOS] link".
33
+ */
34
+ selectorKeyMap?: SelectorKeyMap;
20
35
  }
21
36
  /**
22
37
  * Build a ScreenSnapshot from merged scenarios.
@@ -1 +1 @@
1
- {"version":3,"file":"json-exporter.d.ts","sourceRoot":"","sources":["../../src/exporters/json-exporter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAenD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAEL,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAC9C,GAAG,EAAE,eAAe,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,cAAc,CA4FnF"}
1
+ {"version":3,"file":"json-exporter.d.ts","sourceRoot":"","sources":["../../src/exporters/json-exporter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAenD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAgC,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAEL,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAC9C,GAAG,EAAE,eAAe,CAAC;IACrB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,cAAc,CAiGnF"}
@@ -11,6 +11,7 @@ const feature_parser_1 = require("./feature-parser");
11
11
  const step_formatter_1 = require("./step-formatter");
12
12
  const test_data_resolver_1 = require("./test-data-resolver");
13
13
  const playwright_report_parser_1 = require("./playwright-report-parser");
14
+ const selector_key_resolver_1 = require("./selector-key-resolver");
14
15
  /**
15
16
  * Build a ScreenSnapshot from merged scenarios.
16
17
  */
@@ -30,7 +31,10 @@ function buildScreenSnapshot(input) {
30
31
  // (all of it, including its Then) + own pre-Then. Expected = own's
31
32
  // Then-onwards only. Given → keepActor (state), When/Then → stripActor.
32
33
  const precondition = (0, step_formatter_1.formatPrecondition)(authRole);
33
- const formatStep = (s) => s.bucket === 'given' ? (0, step_formatter_1.keepActor)(s.text) : (0, step_formatter_1.stripActor)(s.text);
34
+ const localize = (text) => input.selectorKeyMap
35
+ ? (0, selector_key_resolver_1.substituteSelectorKeysInStep)(text, input.selectorKeyMap, input.testData)
36
+ : text;
37
+ const formatStep = (s) => localize(s.bucket === 'given' ? (0, step_formatter_1.keepActor)(s.text) : (0, step_formatter_1.stripActor)(s.text));
34
38
  const steps = m.resolvedSteps.map(formatStep).filter(Boolean);
35
39
  const expectedResults = m.resolvedExpected.map(formatStep).filter(Boolean);
36
40
  // Dashboard modal uses whitespace-pre-wrap — pass '\n' to render one
@@ -66,7 +70,7 @@ function buildScreenSnapshot(input) {
66
70
  }
67
71
  if (result.tracePath)
68
72
  tracePath = result.tracePath;
69
- testEnvironment = formatTestEnvironment(input.env.baseURL, input.featurePath, input.env.projectName);
73
+ testEnvironment = formatTestEnvironment(input.env.baseURL, input.featurePath, result.projectName || input.env.projectName);
70
74
  testExecutor = input.env.executor;
71
75
  }
72
76
  }
@@ -76,6 +80,7 @@ function buildScreenSnapshot(input) {
76
80
  category2,
77
81
  category3: input.featureName,
78
82
  category4: input.screen,
83
+ featureBaseName: input.featureBaseName ?? input.screen,
79
84
  vpId,
80
85
  priority,
81
86
  type,
@@ -1 +1 @@
1
- {"version":3,"file":"json-exporter.js","sourceRoot":"","sources":["../../src/exporters/json-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-exporter.js","sourceRoot":"","sources":["../../src/exporters/json-exporter.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAsDH,kDAiGC;AApJD,qDAO0B;AAC1B,qDAA6E;AAC7E,6DAAsD;AACtD,yEAGoC;AAEpC,mEAAuF;AAiCvF;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAA+B;IACjE,MAAM,SAAS,GAAuB,EAAE,CAAC;IACzC,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAc,EAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAA,6BAAY,EAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI;YAAE,aAAa,EAAE,CAAC;QAE3B,MAAM,SAAS,GAAG,IAAA,iCAAgB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAA,gCAAe,EAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAiC,CAAC;QACjF,MAAM,QAAQ,GAAG,IAAA,oCAAmB,EAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAA,gCAAe,EAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEjD,wEAAwE;QACxE,mEAAmE;QACnE,wEAAwE;QACxE,MAAM,YAAY,GAAG,IAAA,mCAAkB,EAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE,CACxC,KAAK,CAAC,cAAc;YAClB,CAAC,CAAC,IAAA,oDAA4B,EAAC,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC;YAC1E,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,UAAU,GAAG,CAAC,CAAsD,EAAE,EAAE,CAC5E,QAAQ,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAA,0BAAS,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,2BAAU,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,eAAe,GAAG,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3E,qEAAqE;QACrE,4DAA4D;QAC5D,MAAM,WAAW,GAAG,IAAA,mCAAc,EAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE7F,IAAI,MAAoC,CAAC;QACzC,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,MAAkC,CAAC;QACvC,IAAI,YAAgC,CAAC;QACrC,IAAI,YAAgC,CAAC;QACrC,IAAI,SAA6B,CAAC;QAClC,IAAI,eAAmC,CAAC;QACxC,IAAI,YAAgC,CAAC;QACrC,IAAI,IAA8B,CAAC;QAEnC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC;YACzD,MAAM,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,QAAQ,CAAC;YAChB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,IAAA,6CAAkB,EAAC,MAAM,CAAC,MAAM,CAA+B,CAAC;gBACzE,YAAY,GAAG,IAAA,6CAAkB,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACpD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,iEAAiE;oBACjE,sEAAsE;oBACtE,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBACvF,CAAC;gBACD,IAAI,MAAM,CAAC,SAAS;oBAAE,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;gBACnD,eAAe,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC3H,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YACpC,CAAC;QACH,CAAC;QAED,SAAS,CAAC,IAAI,CAAC;YACb,IAAI;YACJ,SAAS;YACT,SAAS;YACT,SAAS,EAAE,KAAK,CAAC,WAAW;YAC5B,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,MAAM;YACtD,IAAI;YACJ,QAAQ;YACR,IAAI;YACJ,MAAM;YACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;YACpB,YAAY;YACZ,QAAQ,EAAE,WAAW;YACrB,KAAK;YACL,eAAe;YACf,YAAY;YACZ,YAAY;YACZ,SAAS;YACT,eAAe;YACf,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,MAAM;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC;QACnC,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,OAAe,EAAE,WAA+B,EAAE,WAAmB;IAClG,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACtC,OAAO,GAAG,GAAG,KAAK,WAAW,GAAG,CAAC;AACnC,CAAC;AAED,SAAS,eAAe,CAAC,SAA6B;IACpD,MAAM,KAAK,GAAuB;QAChC,KAAK,EAAE,SAAS,CAAC,MAAM;QACvB,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,EAAE,EAAE,CAAC;QACL,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;KACZ,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,KAAK,CAAC,MAAM,EAAE,CAAC;aACrC,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,KAAK,CAAC,MAAM,EAAE,CAAC;aAC1C,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,OAAO,EAAE,CAAC;aAC5C,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK;YAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;YAAE,KAAK,CAAC,WAAW,EAAE,CAAC;IACrD,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7C,KAAK,CAAC,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -6,6 +6,13 @@ import { PlaywrightResult } from './types';
6
6
  * Load and parse results.json. Returns null if file missing or invalid.
7
7
  */
8
8
  export declare function loadPlaywrightReport(reportPath: string): Map<string, PlaywrightResult> | null;
9
+ /**
10
+ * Read the default project name from a Playwright JSON report.
11
+ * Used as a fallback when a per-test `projectName` isn't available
12
+ * (e.g. for `Pending` rows where no Playwright result exists yet).
13
+ * Returns null if the file is missing/invalid or no projects are listed.
14
+ */
15
+ export declare function loadReportProjectName(reportPath: string): string | null;
9
16
  /**
10
17
  * CSV "Test Result" column mapping.
11
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-report-parser.d.ts","sourceRoot":"","sources":["../../src/exporters/playwright-report-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAkD3C;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAyC7F;AAwCD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,MAAM,CAc7E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAUxE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAevE"}
1
+ {"version":3,"file":"playwright-report-parser.d.ts","sourceRoot":"","sources":["../../src/exporters/playwright-report-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAoD3C;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,IAAI,CA0C7F;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASvE;AAwCD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,MAAM,CAc7E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAUxE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAevE"}
@@ -37,6 +37,7 @@ var __importStar = (this && this.__importStar) || (function () {
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.loadPlaywrightReport = loadPlaywrightReport;
40
+ exports.loadReportProjectName = loadReportProjectName;
40
41
  exports.statusToTestResult = statusToTestResult;
41
42
  exports.formatExecutedDate = formatExecutedDate;
42
43
  exports.formatNote = formatNote;
@@ -102,10 +103,29 @@ function loadPlaywrightReport(reportPath) {
102
103
  startTime: res?.startTime,
103
104
  error: errorMsg,
104
105
  tracePath: trace,
106
+ projectName: test?.projectName,
105
107
  });
106
108
  }
107
109
  return result;
108
110
  }
111
+ /**
112
+ * Read the default project name from a Playwright JSON report.
113
+ * Used as a fallback when a per-test `projectName` isn't available
114
+ * (e.g. for `Pending` rows where no Playwright result exists yet).
115
+ * Returns null if the file is missing/invalid or no projects are listed.
116
+ */
117
+ function loadReportProjectName(reportPath) {
118
+ if (!fs.existsSync(reportPath))
119
+ return null;
120
+ try {
121
+ const raw = JSON.parse(fs.readFileSync(reportPath, 'utf-8'));
122
+ const name = raw.config?.projects?.[0]?.name;
123
+ return typeof name === 'string' && name ? name : null;
124
+ }
125
+ catch {
126
+ return null;
127
+ }
128
+ }
109
129
  /**
110
130
  * Strip ANSI escape sequences (terminal color/style codes) that Playwright
111
131
  * embeds in error messages. The dashboard and CSV render plain text, so
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-report-parser.js","sourceRoot":"","sources":["../../src/exporters/playwright-report-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playwright-report-parser.js","sourceRoot":"","sources":["../../src/exporters/playwright-report-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Map selector keys (Gherkin `[Reference]` names) to the display text they
3
+ * resolve to. Used by row renderers to swap `[selectorKey]` in step text
4
+ * with the actual user-visible label so QA can read the step like a human
5
+ * reader: `Click [VỀ KUDOS]` (VI) / `Click [ABOUT KUDOS]` (EN) instead of
6
+ * the opaque key `Click [cta_to_kudos]`.
7
+ *
8
+ * Resolution rules (first match wins per selector entry):
9
+ * 1. `name` field present → use it. If it embeds exactly one `{{var}}`,
10
+ * look up the locale-specific value at substitution time. Otherwise
11
+ * use the literal `name` (brand names like "Sun* Kudos").
12
+ * 2. `value` field present AND `type` is `text` or `locator` → same logic.
13
+ * For `locator` we extract the var from inside `:has-text("{{x}}")`
14
+ * and similar composite templates because that var is the displayed text.
15
+ *
16
+ * Skipped entirely:
17
+ * • `type: 'page'` (URL paths, not display text)
18
+ * • `value` for `type: 'role'` (role name like 'button', not display)
19
+ * • Entries with no `name` and no usable `value`
20
+ * • Composite templates with 2+ vars (ambiguous which to use)
21
+ */
22
+ /**
23
+ * How to derive the display string for a selector key:
24
+ * - `varName` set → look up at substitution time in the locale-specific test-data
25
+ * - `literal` set → use the YAML value as-is (hardcoded text, brand names)
26
+ */
27
+ export interface SelectorResolution {
28
+ varName?: string;
29
+ literal?: string;
30
+ }
31
+ export type SelectorKeyMap = Map<string, SelectorResolution>;
32
+ /**
33
+ * Build the SelectorKey → resolution map from a selectors YAML file.
34
+ * Returns an empty map when the file is missing or malformed.
35
+ */
36
+ export declare function loadSelectorKeyMap(selectorsFilePath: string): SelectorKeyMap;
37
+ /**
38
+ * Replace every `[selectorKey]` reference in a step (or expected) line with
39
+ * its resolved display text. Falls back to the original `[key]` when the
40
+ * key isn't in the map or its resolution doesn't yield a non-empty value.
41
+ *
42
+ * Sungen convention puts selector refs in square brackets, so any `[…]`
43
+ * substring is a candidate. Non-selector brackets (literal `[1]` etc.)
44
+ * safely fall through because they're never in the selector map.
45
+ *
46
+ * IMPORTANT: when the step already contains a `{{var}}` template, the
47
+ * substitution is SKIPPED for the whole step. Steps of the shape
48
+ * `See [X] header with {{x}}` already convey the locale-specific value
49
+ * via the `{{x}}` placeholder; replacing `[X]` with the same value would
50
+ * produce noisy duplication like `See [Au Co Arts Centre, Hanoi] header
51
+ * with {{event_location}}`. Keeping the selector key matches the source
52
+ * `.feature` shape and stays readable for QA reviewers.
53
+ */
54
+ export declare function substituteSelectorKeysInStep(stepText: string, selectorKeyMap: SelectorKeyMap, testData: Record<string, string>): string;
55
+ //# sourceMappingURL=selector-key-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selector-key-resolver.d.ts","sourceRoot":"","sources":["../../src/exporters/selector-key-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAgE7D;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,GAAG,cAAc,CA+C5E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,CAgBR"}