@sun-asterisk/sungen 2.6.8 → 2.6.11

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 (89) hide show
  1. package/dist/cli/commands/dashboard.d.ts +2 -1
  2. package/dist/cli/commands/dashboard.d.ts.map +1 -1
  3. package/dist/cli/commands/dashboard.js +9 -9
  4. package/dist/cli/commands/dashboard.js.map +1 -1
  5. package/dist/cli/commands/delivery.d.ts.map +1 -1
  6. package/dist/cli/commands/delivery.js +33 -0
  7. package/dist/cli/commands/delivery.js.map +1 -1
  8. package/dist/cli/index.js +1 -1
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/dashboard/history-store.d.ts +13 -9
  11. package/dist/dashboard/history-store.d.ts.map +1 -1
  12. package/dist/dashboard/history-store.js +19 -28
  13. package/dist/dashboard/history-store.js.map +1 -1
  14. package/dist/dashboard/html-renderer.d.ts +1 -1
  15. package/dist/dashboard/html-renderer.d.ts.map +1 -1
  16. package/dist/dashboard/html-renderer.js +2 -2
  17. package/dist/dashboard/html-renderer.js.map +1 -1
  18. package/dist/dashboard/snapshot-builder.d.ts.map +1 -1
  19. package/dist/dashboard/snapshot-builder.js +38 -2
  20. package/dist/dashboard/snapshot-builder.js.map +1 -1
  21. package/dist/dashboard/templates/index.html +153 -221
  22. package/dist/exporters/csv-exporter.d.ts +4 -0
  23. package/dist/exporters/csv-exporter.d.ts.map +1 -1
  24. package/dist/exporters/csv-exporter.js +35 -26
  25. package/dist/exporters/csv-exporter.js.map +1 -1
  26. package/dist/exporters/feature-parser.d.ts.map +1 -1
  27. package/dist/exporters/feature-parser.js +16 -4
  28. package/dist/exporters/feature-parser.js.map +1 -1
  29. package/dist/exporters/json-exporter.d.ts.map +1 -1
  30. package/dist/exporters/json-exporter.js +28 -20
  31. package/dist/exporters/json-exporter.js.map +1 -1
  32. package/dist/exporters/playwright-report-parser.d.ts.map +1 -1
  33. package/dist/exporters/playwright-report-parser.js +22 -5
  34. package/dist/exporters/playwright-report-parser.js.map +1 -1
  35. package/dist/exporters/scenario-merger.d.ts +23 -1
  36. package/dist/exporters/scenario-merger.d.ts.map +1 -1
  37. package/dist/exporters/scenario-merger.js +39 -0
  38. package/dist/exporters/scenario-merger.js.map +1 -1
  39. package/dist/exporters/step-formatter.d.ts +31 -3
  40. package/dist/exporters/step-formatter.d.ts.map +1 -1
  41. package/dist/exporters/step-formatter.js +52 -19
  42. package/dist/exporters/step-formatter.js.map +1 -1
  43. package/dist/exporters/sun-logo.d.ts +10 -0
  44. package/dist/exporters/sun-logo.d.ts.map +1 -0
  45. package/dist/exporters/sun-logo.js +13 -0
  46. package/dist/exporters/sun-logo.js.map +1 -0
  47. package/dist/exporters/test-data-resolver.d.ts +13 -5
  48. package/dist/exporters/test-data-resolver.d.ts.map +1 -1
  49. package/dist/exporters/test-data-resolver.js +36 -14
  50. package/dist/exporters/test-data-resolver.js.map +1 -1
  51. package/dist/exporters/types.d.ts +16 -0
  52. package/dist/exporters/types.d.ts.map +1 -1
  53. package/dist/exporters/xlsx-exporter.d.ts +6 -0
  54. package/dist/exporters/xlsx-exporter.d.ts.map +1 -1
  55. package/dist/exporters/xlsx-exporter.js +204 -100
  56. package/dist/exporters/xlsx-exporter.js.map +1 -1
  57. package/dist/orchestrator/project-initializer.d.ts.map +1 -1
  58. package/dist/orchestrator/project-initializer.js +4 -3
  59. package/dist/orchestrator/project-initializer.js.map +1 -1
  60. package/dist/orchestrator/templates/playwright.config.d.ts.map +1 -1
  61. package/dist/orchestrator/templates/playwright.config.js +2 -0
  62. package/dist/orchestrator/templates/playwright.config.js.map +1 -1
  63. package/dist/orchestrator/templates/playwright.config.ts +2 -0
  64. package/dist/orchestrator/templates/specs-base.d.ts.map +1 -1
  65. package/dist/orchestrator/templates/specs-base.js +1 -5
  66. package/dist/orchestrator/templates/specs-base.js.map +1 -1
  67. package/dist/orchestrator/templates/specs-base.ts +1 -5
  68. package/package.json +1 -1
  69. package/src/cli/commands/dashboard.ts +9 -9
  70. package/src/cli/commands/delivery.ts +30 -0
  71. package/src/cli/index.ts +1 -1
  72. package/src/dashboard/history-store.ts +22 -28
  73. package/src/dashboard/html-renderer.ts +6 -2
  74. package/src/dashboard/snapshot-builder.ts +36 -2
  75. package/src/dashboard/templates/index.html +153 -221
  76. package/src/dashboard/types.ts +1 -1
  77. package/src/exporters/csv-exporter.ts +44 -27
  78. package/src/exporters/feature-parser.ts +27 -8
  79. package/src/exporters/json-exporter.ts +31 -21
  80. package/src/exporters/playwright-report-parser.ts +23 -5
  81. package/src/exporters/scenario-merger.ts +65 -1
  82. package/src/exporters/step-formatter.ts +48 -23
  83. package/src/exporters/sun-logo.ts +10 -0
  84. package/src/exporters/test-data-resolver.ts +37 -13
  85. package/src/exporters/types.ts +18 -1
  86. package/src/exporters/xlsx-exporter.ts +216 -102
  87. package/src/orchestrator/project-initializer.ts +4 -3
  88. package/src/orchestrator/templates/playwright.config.ts +2 -0
  89. package/src/orchestrator/templates/specs-base.ts +1 -5
@@ -7,6 +7,10 @@ import { EnvironmentInfo, PlaywrightResult, ScreenSummary, TestCaseRow } from '.
7
7
  export interface BuildCsvInput {
8
8
  screen: string;
9
9
  featureName: string;
10
+ /** URL path for the screen/flow entry point — concatenated onto baseURL
11
+ * when building the Test Environment column so QA can see the exact URL
12
+ * the test targets. */
13
+ featurePath?: string;
10
14
  merged: MergedScenario[];
11
15
  testData: Record<string, string>;
12
16
  results: Map<string, PlaywrightResult> | null;
@@ -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,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,CAyFrE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CAmBnG;AAuBD;;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;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"}
@@ -63,22 +63,22 @@ function buildTestCaseRows(input) {
63
63
  const priority = (0, feature_parser_1.extractPriority)(m.feature.tags);
64
64
  const testcaseType = (0, feature_parser_1.extractTestcaseType)(m.feature.tags);
65
65
  const authRole = (0, feature_parser_1.extractAuthRole)(m.feature.tags);
66
- // Prefer .spec.ts resolved comments for Steps/Expected if available
67
- let steps;
68
- let expectedResults;
69
- let precondition;
70
- if (m.spec) {
71
- precondition = (0, step_formatter_1.formatPrecondition)(authRole, m.spec.precondition);
72
- steps = (0, step_formatter_1.formatNumberedSteps)(m.spec.steps);
73
- expectedResults = (0, step_formatter_1.formatNumberedSteps)(m.spec.expectations);
74
- }
75
- else {
76
- // Fallback to .feature raw steps
77
- precondition = (0, step_formatter_1.formatPrecondition)(authRole, m.feature.rawGivenSteps);
78
- steps = (0, step_formatter_1.formatNumberedSteps)(m.feature.rawWhenSteps);
79
- expectedResults = (0, step_formatter_1.formatNumberedSteps)(m.feature.rawThenSteps);
80
- }
81
- const testData = (0, test_data_resolver_1.formatTestData)(m.feature.referencedVars, input.testData);
66
+ // Pre-condition is auth-only. Steps section = Background + @extend base
67
+ // (entire) + own pre-Then. Expected = own's Then-onwards only.
68
+ 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);
70
+ const stepLines = m.resolvedSteps.map(formatStep).filter(Boolean);
71
+ const expectedLines = m.resolvedExpected.map(formatStep).filter(Boolean);
72
+ const steps = stepLines.length === 0 ? '' :
73
+ stepLines.length === 1 ? stepLines[0] :
74
+ stepLines.map((l, i) => `${i + 1}. ${l}`).join('\n');
75
+ const expectedResults = expectedLines.length === 0 ? '' :
76
+ expectedLines.length === 1 ? expectedLines[0] :
77
+ expectedLines.map((l, i) => `${i + 1}. ${l}`).join('\n');
78
+ // Multi-line bullet format keeps delivery CSV/XLSX in sync with the
79
+ // dashboard's Test data section. Multi-line CSV cells are valid (quoted
80
+ // automatically) and render natively as multi-line in XLSX.
81
+ const testData = (0, test_data_resolver_1.formatTestData)(m.feature.referencedVars, input.testData, Infinity, '\n');
82
82
  // Match Playwright result by test title (from .spec.ts) OR by scenarioName
83
83
  let result;
84
84
  if (input.results && m.spec) {
@@ -105,13 +105,13 @@ function buildTestCaseRows(input) {
105
105
  testResult = (0, playwright_report_parser_1.statusToTestResult)(result.status);
106
106
  executedDate = (0, playwright_report_parser_1.formatExecutedDate)(result.startTime);
107
107
  note = (0, playwright_report_parser_1.formatNote)(result);
108
- environment = `${input.env.baseURL} (${input.env.projectName})`;
108
+ environment = formatEnv(input.env.baseURL, input.featurePath, input.env.projectName);
109
109
  executor = input.env.executor;
110
110
  }
111
111
  // If we have environment info and the test actually ran, populate env + executor
112
112
  if (testResult !== 'Pending' && testResult !== 'N/A') {
113
113
  if (!environment)
114
- environment = `${input.env.baseURL} (${input.env.projectName})`;
114
+ environment = formatEnv(input.env.baseURL, input.featurePath, input.env.projectName);
115
115
  if (!executor)
116
116
  executor = input.env.executor;
117
117
  }
@@ -171,6 +171,17 @@ function buildSummary(screen, rows, outputFile) {
171
171
  * Escape a CSV cell per RFC 4180.
172
172
  * Wrap in quotes if contains: comma, newline, quote. Escape embedded " as "".
173
173
  */
174
+ /**
175
+ * Compose the "Environment" cell. Concatenates the entry-point path onto
176
+ * the baseURL so the deliverable shows the exact URL each test targets
177
+ * (e.g. `https://staging.example.com/kudos (chromium)`).
178
+ */
179
+ function formatEnv(baseURL, featurePath, projectName) {
180
+ const base = (baseURL || '').replace(/\/+$/, '');
181
+ const p = (featurePath || '').replace(/^\/+/, '');
182
+ const url = p ? `${base}/${p}` : base;
183
+ return `${url} (${projectName})`;
184
+ }
174
185
  function csvCell(v) {
175
186
  if (v === null || v === undefined)
176
187
  return '';
@@ -212,10 +223,10 @@ function renderCsv(summary, rows, specLink) {
212
223
  lines.push(csvRow(['*: Mandatory', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']));
213
224
  lines.push(csvRow([
214
225
  'TC ID*',
215
- '{Category 1}',
216
- '{Category 2}',
217
- '{Category 3}',
218
- '{Category 4}',
226
+ 'Screen/Function',
227
+ 'Big item',
228
+ 'Medium item',
229
+ 'Test Object',
219
230
  'Pre-condition',
220
231
  'Test Data',
221
232
  'Steps*',
@@ -247,10 +258,10 @@ function renderCsv(summary, rows, specLink) {
247
258
  for (const row of groupRows) {
248
259
  lines.push(csvRow([
249
260
  row.tcId,
250
- row.category1,
251
261
  '',
252
262
  '',
253
263
  '',
264
+ row.category1,
254
265
  row.precondition,
255
266
  row.testData,
256
267
  row.steps,
@@ -273,10 +284,10 @@ function renderCsv(summary, rows, specLink) {
273
284
  for (const row of groupRows) {
274
285
  lines.push(csvRow([
275
286
  row.tcId,
276
- row.category1,
277
287
  '',
278
288
  '',
279
289
  '',
290
+ row.category1,
280
291
  row.precondition,
281
292
  row.testData,
282
293
  row.steps,
@@ -306,6 +317,4 @@ function writeCsv(cwd, screen, csvContent) {
306
317
  fs.writeFileSync(outPath, csvContent, 'utf-8');
307
318
  return outPath;
308
319
  }
309
- // mark unused import to silence TS if needed
310
- void step_formatter_1.cleanStepLine;
311
320
  //# 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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"feature-parser.d.ts","sourceRoot":"","sources":["../../src/exporters/feature-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAoD5D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,eAAe,CAyB7E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAKtD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,QAAQ,CAErE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAK7D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAMzF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAUxF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAMpG"}
1
+ {"version":3,"file":"feature-parser.d.ts","sourceRoot":"","sources":["../../src/exporters/feature-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,eAAe,EAAe,gBAAgB,EAAE,MAAM,SAAS,CAAC;AA4DzE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,eAAe,CAoC7E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAKtD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,QAAQ,CAErE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAK7D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAMzF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAUxF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAMpG"}
@@ -20,7 +20,7 @@ const gherkin_parser_1 = require("../generators/gherkin-parser");
20
20
  function extractReferencedVars(scenario) {
21
21
  const vars = new Set();
22
22
  for (const step of scenario.steps) {
23
- const matches = step.text.matchAll(/\{\{([a-zA-Z_][a-zA-Z0-9_]*)\}\}/g);
23
+ const matches = step.text.matchAll(/\{\{([a-zA-Z_][a-zA-Z0-9_.-]*)\}\}/g);
24
24
  for (const match of matches) {
25
25
  vars.add(match[1]);
26
26
  }
@@ -28,7 +28,7 @@ function extractReferencedVars(scenario) {
28
28
  if (step.dataTable) {
29
29
  for (const row of step.dataTable.rows) {
30
30
  for (const cell of row.cells) {
31
- const cellMatches = cell.matchAll(/\{\{([a-zA-Z_][a-zA-Z0-9_]*)\}\}/g);
31
+ const cellMatches = cell.matchAll(/\{\{([a-zA-Z_][a-zA-Z0-9_.-]*)\}\}/g);
32
32
  for (const match of cellMatches) {
33
33
  vars.add(match[1]);
34
34
  }
@@ -46,6 +46,7 @@ function classifySteps(scenario) {
46
46
  const given = [];
47
47
  const when = [];
48
48
  const then = [];
49
+ const ordered = [];
49
50
  let currentBucket = 'given';
50
51
  for (const step of scenario.steps) {
51
52
  const keyword = step.keyword.trim();
@@ -62,8 +63,9 @@ function classifySteps(scenario) {
62
63
  when.push(step.text);
63
64
  else
64
65
  then.push(step.text);
66
+ ordered.push({ text: step.text, bucket: currentBucket });
65
67
  }
66
- return { given, when, then };
68
+ return { given, when, then, ordered };
67
69
  }
68
70
  /**
69
71
  * Parse .feature file → structured metadata ready for CSV assembly.
@@ -71,8 +73,13 @@ function classifySteps(scenario) {
71
73
  function parseFeatureMetadata(featureFilePath) {
72
74
  const parser = new gherkin_parser_1.GherkinParser();
73
75
  const parsed = parser.parseFeatureFile(featureFilePath);
76
+ // Background block — classify once and surface on FeatureMetadata so the
77
+ // merger can prepend it to each runnable scenario without re-parsing.
78
+ const bg = parsed.background
79
+ ? classifySteps(parsed.background)
80
+ : { given: [], when: [], then: [], ordered: [] };
74
81
  const scenarios = parsed.scenarios.map((sc) => {
75
- const { given, when, then } = classifySteps(sc);
82
+ const { given, when, then, ordered } = classifySteps(sc);
76
83
  return {
77
84
  name: sc.name,
78
85
  tags: [...parsed.tags, ...sc.tags],
@@ -82,12 +89,17 @@ function parseFeatureMetadata(featureFilePath) {
82
89
  rawGivenSteps: given,
83
90
  rawWhenSteps: when,
84
91
  rawThenSteps: then,
92
+ orderedSteps: ordered,
85
93
  };
86
94
  });
87
95
  return {
88
96
  featureName: parsed.name,
89
97
  featurePath: parsed.path,
90
98
  featureTags: parsed.tags,
99
+ backgroundGivenSteps: bg.given,
100
+ backgroundWhenSteps: bg.when,
101
+ backgroundThenSteps: bg.then,
102
+ backgroundOrderedSteps: bg.ordered,
91
103
  scenarios,
92
104
  };
93
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"feature-parser.js","sourceRoot":"","sources":["../../src/exporters/feature-parser.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA0DH,oDAyBC;AAMD,kDAEC;AAKD,4DAEC;AAKD,0CAKC;AAKD,kDAEC;AAKD,0CAKC;AAOD,wCAMC;AAOD,4CAUC;AAMD,oCAMC;AArKD,iEAA4F;AAG5F;;GAEG;AACH,SAAS,qBAAqB,CAAC,QAAwB;IACrD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;QACxE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QACD,oCAAoC;QACpC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBACtC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;oBAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;oBACvE,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;wBAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,QAAwB;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,aAAa,GAA8B,OAAO,CAAC;IAEvD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,OAAO,KAAK,OAAO;YAAE,aAAa,GAAG,OAAO,CAAC;aAC5C,IAAI,OAAO,KAAK,MAAM;YAAE,aAAa,GAAG,MAAM,CAAC;aAC/C,IAAI,OAAO,KAAK,MAAM;YAAE,aAAa,GAAG,MAAM,CAAC;QACpD,oCAAoC;QAEpC,IAAI,aAAa,KAAK,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAChD,IAAI,aAAa,KAAK,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACnD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,eAAuB;IAC1D,MAAM,MAAM,GAAG,IAAI,8BAAa,EAAE,CAAC;IACnC,MAAM,MAAM,GAAkB,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAuB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAChE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;QAEhD,OAAO;YACL,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;YAClC,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,WAAW,EAAE,EAAE,CAAC,WAAW;YAC3B,cAAc,EAAE,qBAAqB,CAAC,EAAE,CAAC;YACzC,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,IAAI;QACxB,WAAW,EAAE,MAAM,CAAC,IAAI;QACxB,WAAW,EAAE,MAAM,CAAC,IAAI;QACxB,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,EAAoB;IACtD,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,EAAoB;IAC3D,OAAO,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,IAAc;IAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAc;IAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,IAAc;IAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,YAAoB;IACjD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACtE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,IAAwB,EAAE,YAAqB;IAC9E,IAAI,CAAC,IAAI;QAAE,OAAO,UAAU,CAAC;IAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,IAAI,YAAY,IAAI,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC;YAAE,OAAO,UAAU,CAAC;QAC3E,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,UAAU,CAAC;IAClD,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,UAAU,CAAC;IACpD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAAC,MAAc,EAAE,IAAwB,EAAE,aAAqB;IAC1F,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACpE,OAAO,GAAG,WAAW,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"feature-parser.js","sourceRoot":"","sources":["../../src/exporters/feature-parser.ts"],"names":[],"mappings":"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"}
@@ -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,CA+FnF"}
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"}
@@ -26,23 +26,16 @@ function buildScreenSnapshot(input) {
26
26
  const priority = (0, feature_parser_1.extractPriority)(m.feature.tags);
27
27
  const baseType = (0, feature_parser_1.extractTestcaseType)(m.feature.tags);
28
28
  const authRole = (0, feature_parser_1.extractAuthRole)(m.feature.tags);
29
- let stepsRaw;
30
- let expectedRaw;
31
- let givenForPrecondition;
32
- if (m.spec) {
33
- givenForPrecondition = m.spec.precondition;
34
- stepsRaw = m.spec.steps;
35
- expectedRaw = m.spec.expectations;
36
- }
37
- else {
38
- givenForPrecondition = m.feature.rawGivenSteps;
39
- stepsRaw = m.feature.rawWhenSteps;
40
- expectedRaw = m.feature.rawThenSteps;
41
- }
42
- const precondition = (0, step_formatter_1.formatPrecondition)(authRole, givenForPrecondition);
43
- const steps = stepsRaw.map(step_formatter_1.cleanStepLine).filter(Boolean);
44
- const expectedResults = expectedRaw.map(step_formatter_1.cleanStepLine).filter(Boolean);
45
- const testDataStr = (0, test_data_resolver_1.formatTestData)(m.feature.referencedVars, input.testData);
29
+ // Pre-condition is auth-only. Steps section = Background + @extend base
30
+ // (all of it, including its Then) + own pre-Then. Expected = own's
31
+ // Then-onwards only. Given → keepActor (state), When/Then → stripActor.
32
+ 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 steps = m.resolvedSteps.map(formatStep).filter(Boolean);
35
+ const expectedResults = m.resolvedExpected.map(formatStep).filter(Boolean);
36
+ // Dashboard modal uses whitespace-pre-wrap — pass '\n' to render one
37
+ // key/value per line instead of the CSV-friendly "; " join.
38
+ const testDataStr = (0, test_data_resolver_1.formatTestData)(m.feature.referencedVars, input.testData, Infinity, '\n');
46
39
  let result;
47
40
  if (input.results && m.spec) {
48
41
  result = input.results.get(m.spec.testTitle);
@@ -66,11 +59,14 @@ function buildScreenSnapshot(input) {
66
59
  else {
67
60
  status = (0, playwright_report_parser_1.statusToTestResult)(result.status);
68
61
  executedDate = (0, playwright_report_parser_1.formatExecutedDate)(result.startTime);
69
- if (result.error)
70
- errorMessage = String(result.error).split('\n')[0].trim();
62
+ if (result.error) {
63
+ // Strip a leading "Error:" so consumers (dashboard / CSV `Note`)
64
+ // can prepend their own label without ending up with `Error: Error:`.
65
+ errorMessage = String(result.error).split('\n')[0].trim().replace(/^Error:\s*/i, '');
66
+ }
71
67
  if (result.tracePath)
72
68
  tracePath = result.tracePath;
73
- testEnvironment = `${input.env.baseURL} (${input.env.projectName})`;
69
+ testEnvironment = formatTestEnvironment(input.env.baseURL, input.featurePath, input.env.projectName);
74
70
  testExecutor = input.env.executor;
75
71
  }
76
72
  }
@@ -106,6 +102,18 @@ function buildScreenSnapshot(input) {
106
102
  scenarios,
107
103
  };
108
104
  }
105
+ /**
106
+ * Compose the "Environment" string with the screen/flow entry-point path
107
+ * concatenated to the baseURL. Strips trailing `/` from baseURL and leading
108
+ * `/` from path to avoid `//` when joining. Falls back to baseURL only when
109
+ * the path is missing.
110
+ */
111
+ function formatTestEnvironment(baseURL, featurePath, projectName) {
112
+ const base = (baseURL || '').replace(/\/+$/, '');
113
+ const p = (featurePath || '').replace(/^\/+/, '');
114
+ const url = p ? `${base}/${p}` : base;
115
+ return `${url} (${projectName})`;
116
+ }
109
117
  function summarizeScreen(scenarios) {
110
118
  const stats = {
111
119
  total: scenarios.length,
@@ -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":"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"}
@@ -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;AA4BD;;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,CASvE"}
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"}
@@ -90,7 +90,7 @@ function loadPlaywrightReport(reportPath) {
90
90
  const results = test?.results || [];
91
91
  const res = results[results.length - 1];
92
92
  const status = normalizeStatus(res?.status);
93
- const errorMsg = res?.error?.message || '';
93
+ const errorMsg = stripAnsi(res?.error?.message || '');
94
94
  const trace = res?.attachments?.find((a) => a.name === 'trace' || a.contentType === 'application/zip')?.path;
95
95
  // Strip the leading file-path suite title if present.
96
96
  // The top-level suite title is usually a file path like "specs/generated/kudos/kudos.spec.ts".
@@ -106,6 +106,17 @@ function loadPlaywrightReport(reportPath) {
106
106
  }
107
107
  return result;
108
108
  }
109
+ /**
110
+ * Strip ANSI escape sequences (terminal color/style codes) that Playwright
111
+ * embeds in error messages. The dashboard and CSV render plain text, so
112
+ * codes like  and  must be removed.
113
+ */
114
+ function stripAnsi(s) {
115
+ // CSI sequences: ESC '[' params final-byte. Covers SGR colors plus most
116
+ // other cursor/erase codes Playwright might emit.
117
+ // eslint-disable-next-line no-control-regex
118
+ return s.replace(/\x1b\[[0-9;?]*[ -/]*[@-~]/g, '');
119
+ }
109
120
  /**
110
121
  * Normalize playwright status strings to our enum.
111
122
  */
@@ -179,13 +190,19 @@ function formatNote(result) {
179
190
  return '';
180
191
  if (result.status !== 'failed' && result.status !== 'timedOut')
181
192
  return '';
182
- const firstLine = (result.error || '').split('\n')[0].trim();
193
+ // Some Playwright error messages already start with `Error:` — strip it
194
+ // so we don't end up rendering `Error: Error: …` once we prepend the label.
195
+ const firstLine = (result.error || '').split('\n')[0].trim().replace(/^Error:\s*/i, '');
183
196
  const truncated = firstLine.length > 200 ? firstLine.substring(0, 197) + '…' : firstLine;
184
197
  const parts = [];
185
198
  if (truncated)
186
- parts.push(`Error: ${truncated}`);
199
+ parts.push(`• Error: ${truncated}`);
187
200
  if (result.tracePath)
188
- parts.push(`Trace: ${result.tracePath}`);
189
- return parts.join('. ');
201
+ parts.push(`• Trace: ${result.tracePath}`);
202
+ // Newline-separated bullets so each field lands on its own row when the
203
+ // cell wraps — matches the Test Data column's `• key: value` formatting.
204
+ // Excel/CSV honour `\n` inside quoted cells; the dashboard modal already
205
+ // renders this with whitespace-pre-wrap.
206
+ return parts.join('\n');
190
207
  }
191
208
  //# sourceMappingURL=playwright-report-parser.js.map
@@ -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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"}
@@ -7,12 +7,34 @@
7
7
  * - .feature (tags, VP ID, referenced vars) is source for metadata
8
8
  * - Scenarios in .feature but NOT in .spec.ts → marked "Not compiled"
9
9
  */
10
- import { FeatureMetadata, ScenarioMetadata, SpecFileData, SpecTest } from './types';
10
+ import { FeatureMetadata, OrderedStep, ScenarioMetadata, SpecFileData, SpecTest } from './types';
11
11
  export interface MergedScenario {
12
12
  /** Scenario metadata from .feature */
13
13
  feature: ScenarioMetadata;
14
14
  /** Matched compiled test from .spec.ts, or null if not compiled. */
15
15
  spec: SpecTest | null;
16
+ /**
17
+ * When/Then/Given steps with any `@extend:<name>` chain pre-resolved
18
+ * against the matching `@steps:<name>` base scenario (its steps are
19
+ * prepended). Use these for surfaces that show the test case text
20
+ * (dashboard Steps section) so we get the canonical feature wording
21
+ * without re-parsing compiled spec.ts comments.
22
+ */
23
+ resolvedWhenSteps: string[];
24
+ resolvedThenSteps: string[];
25
+ resolvedGivenSteps: string[];
26
+ /**
27
+ * Steps section for display, in chronological order:
28
+ * Background (all) → @extend base (all incl. its Then) → own up to the
29
+ * first `Then`. Base's `Then` stays here because it's mid-flow setup,
30
+ * not the scenario's final assertion.
31
+ */
32
+ resolvedSteps: OrderedStep[];
33
+ /**
34
+ * Expected results — own scenario's first `Then` onwards. Empty when the
35
+ * scenario has no `Then`.
36
+ */
37
+ resolvedExpected: OrderedStep[];
16
38
  }
17
39
  /**
18
40
  * Merge features and spec data, excluding base @steps and scaffold scenarios.
@@ -1 +1 @@
1
- {"version":3,"file":"scenario-merger.d.ts","sourceRoot":"","sources":["../../src/exporters/scenario-merger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGpF,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,OAAO,EAAE,gBAAgB,CAAC;IAE1B,oEAAoE;IACpE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,YAAY,GACjB,cAAc,EAAE,CAelB"}
1
+ {"version":3,"file":"scenario-merger.d.ts","sourceRoot":"","sources":["../../src/exporters/scenario-merger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjG,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,OAAO,EAAE,gBAAgB,CAAC;IAE1B,oEAAoE;IACpE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEtB;;;;;;OAMG;IACH,iBAAiB,EAAG,MAAM,EAAE,CAAC;IAC7B,iBAAiB,EAAG,MAAM,EAAE,CAAC;IAC7B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;;OAKG;IACH,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B;;;OAGG;IACH,gBAAgB,EAAE,WAAW,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,YAAY,GACjB,cAAc,EAAE,CAwDlB"}
@@ -16,15 +16,54 @@ const feature_parser_1 = require("./feature-parser");
16
16
  */
17
17
  function mergeFeatureAndSpec(feature, spec) {
18
18
  const result = [];
19
+ // Index @steps base scenarios so @extend can resolve them.
20
+ const stepsBaseByName = new Map();
21
+ for (const sc of feature.scenarios) {
22
+ if (sc.stepsName)
23
+ stepsBaseByName.set(sc.stepsName, sc);
24
+ }
19
25
  for (const scenario of feature.scenarios) {
20
26
  if ((0, feature_parser_1.isStepsBaseScenario)(scenario))
21
27
  continue; // skip @steps base scenarios
22
28
  if ((0, feature_parser_1.isSampleScaffoldScenario)(scenario))
23
29
  continue; // skip default sample
24
30
  const specTest = findMatchingSpecTest(scenario, spec.tests);
31
+ const base = scenario.extendsName ? stepsBaseByName.get(scenario.extendsName) : undefined;
32
+ // Order of execution for a runnable scenario:
33
+ // 1. Feature Background (once) — all buckets are setup, stay in Steps.
34
+ // 2. @extend base scenario's own steps (if any) — *including* its Then,
35
+ // because the base's Then is a mid-flow assertion, not the scenario's
36
+ // final verification.
37
+ // 3. This scenario's own steps in original sequence, split at the
38
+ // first `Then`: pre-Then → Steps, Then-onwards → Expected results.
39
+ const ownOrdered = scenario.orderedSteps;
40
+ const firstThenIdx = ownOrdered.findIndex((s) => s.bucket === 'then');
41
+ const ownPreThen = firstThenIdx >= 0 ? ownOrdered.slice(0, firstThenIdx) : ownOrdered;
42
+ const ownPostThen = firstThenIdx >= 0 ? ownOrdered.slice(firstThenIdx) : [];
25
43
  result.push({
26
44
  feature: scenario,
27
45
  spec: specTest,
46
+ resolvedWhenSteps: [
47
+ ...feature.backgroundWhenSteps,
48
+ ...(base?.rawWhenSteps ?? []),
49
+ ...scenario.rawWhenSteps,
50
+ ],
51
+ resolvedThenSteps: [
52
+ ...feature.backgroundThenSteps,
53
+ ...(base?.rawThenSteps ?? []),
54
+ ...scenario.rawThenSteps,
55
+ ],
56
+ resolvedGivenSteps: [
57
+ ...feature.backgroundGivenSteps,
58
+ ...(base?.rawGivenSteps ?? []),
59
+ ...scenario.rawGivenSteps,
60
+ ],
61
+ resolvedSteps: [
62
+ ...feature.backgroundOrderedSteps,
63
+ ...(base?.orderedSteps ?? []),
64
+ ...ownPreThen,
65
+ ],
66
+ resolvedExpected: ownPostThen,
28
67
  });
29
68
  }
30
69
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"scenario-merger.js","sourceRoot":"","sources":["../../src/exporters/scenario-merger.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAgBH,kDAkBC;AA/BD,qDAAiF;AAUjF;;GAEG;AACH,SAAgB,mBAAmB,CACjC,OAAwB,EACxB,IAAkB;IAElB,MAAM,MAAM,GAAqB,EAAE,CAAC;IAEpC,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,IAAA,oCAAmB,EAAC,QAAQ,CAAC;YAAE,SAAS,CAAO,6BAA6B;QAChF,IAAI,IAAA,yCAAwB,EAAC,QAAQ,CAAC;YAAE,SAAS,CAAE,sBAAsB;QAEzE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,QAA0B,EAAE,KAAiB;IACzE,oBAAoB;IACpB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClE,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAExB,qEAAqE;IACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjE,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAChD,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;IACxB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"scenario-merger.js","sourceRoot":"","sources":["../../src/exporters/scenario-merger.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAuCH,kDA2DC;AA/FD,qDAAiF;AAiCjF;;GAEG;AACH,SAAgB,mBAAmB,CACjC,OAAwB,EACxB,IAAkB;IAElB,MAAM,MAAM,GAAqB,EAAE,CAAC;IAEpC,2DAA2D;IAC3D,MAAM,eAAe,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC5D,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,EAAE,CAAC,SAAS;YAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,IAAA,oCAAmB,EAAC,QAAQ,CAAC;YAAE,SAAS,CAAO,6BAA6B;QAChF,IAAI,IAAA,yCAAwB,EAAC,QAAQ,CAAC;YAAE,SAAS,CAAE,sBAAsB;QAEzE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1F,8CAA8C;QAC9C,yEAAyE;QACzE,0EAA0E;QAC1E,2EAA2E;QAC3E,2BAA2B;QAC3B,oEAAoE;QACpE,wEAAwE;QACxE,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAY,CAAC;QACzC,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACtF,MAAM,WAAW,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5E,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,QAAQ;YACd,iBAAiB,EAAE;gBACjB,GAAG,OAAO,CAAC,mBAAmB;gBAC9B,GAAG,CAAC,IAAI,EAAE,YAAY,IAAI,EAAE,CAAC;gBAC7B,GAAG,QAAQ,CAAC,YAAY;aACzB;YACD,iBAAiB,EAAE;gBACjB,GAAG,OAAO,CAAC,mBAAmB;gBAC9B,GAAG,CAAC,IAAI,EAAE,YAAY,IAAI,EAAE,CAAC;gBAC7B,GAAG,QAAQ,CAAC,YAAY;aACzB;YACD,kBAAkB,EAAE;gBAClB,GAAG,OAAO,CAAC,oBAAoB;gBAC/B,GAAG,CAAC,IAAI,EAAE,aAAa,IAAI,EAAE,CAAC;gBAC9B,GAAG,QAAQ,CAAC,aAAa;aAC1B;YACD,aAAa,EAAE;gBACb,GAAG,OAAO,CAAC,sBAAsB;gBACjC,GAAG,CAAC,IAAI,EAAE,YAAY,IAAI,EAAE,CAAC;gBAC7B,GAAG,UAAU;aACd;YACD,gBAAgB,EAAE,WAAW;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,QAA0B,EAAE,KAAiB;IACzE,oBAAoB;IACpB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClE,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAExB,qEAAqE;IACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjE,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAChD,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;IACxB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}