@sun-asterisk/sungen 1.0.11 → 1.0.13

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 (60) hide show
  1. package/dist/core/validator/selector-validator.js +1 -1
  2. package/dist/core/validator/selector-validator.js.map +1 -1
  3. package/dist/generators/cli.js +1 -1
  4. package/dist/generators/gherkin-parser/index.d.ts +1 -0
  5. package/dist/generators/gherkin-parser/index.d.ts.map +1 -1
  6. package/dist/generators/gherkin-parser/index.js +3 -2
  7. package/dist/generators/gherkin-parser/index.js.map +1 -1
  8. package/dist/generators/scaffold-generator/index.d.ts +8 -2
  9. package/dist/generators/scaffold-generator/index.d.ts.map +1 -1
  10. package/dist/generators/scaffold-generator/index.js +63 -13
  11. package/dist/generators/scaffold-generator/index.js.map +1 -1
  12. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/click-element-with-text.hbs +1 -0
  13. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/target-element-action.hbs +1 -0
  14. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/wait-for-page.hbs +1 -0
  15. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/list-item-count-assertion.hbs +1 -0
  16. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/page-assertion.hbs +1 -0
  17. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-filter-assertion.hbs +1 -0
  18. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-locator-variable-assertion.hbs +1 -0
  19. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-role-variable-assertion.hbs +1 -0
  20. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-variable-assertion.hbs +1 -0
  21. package/dist/generators/test-generator/adapters/playwright/templates/steps/navigation/page-navigation.hbs +1 -0
  22. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator.hbs +1 -1
  23. package/dist/generators/test-generator/patterns/assertion-patterns.d.ts.map +1 -1
  24. package/dist/generators/test-generator/patterns/assertion-patterns.js +162 -8
  25. package/dist/generators/test-generator/patterns/assertion-patterns.js.map +1 -1
  26. package/dist/generators/test-generator/patterns/interaction-patterns.d.ts.map +1 -1
  27. package/dist/generators/test-generator/patterns/interaction-patterns.js +105 -2
  28. package/dist/generators/test-generator/patterns/interaction-patterns.js.map +1 -1
  29. package/dist/generators/test-generator/patterns/navigation-patterns.d.ts.map +1 -1
  30. package/dist/generators/test-generator/patterns/navigation-patterns.js +15 -0
  31. package/dist/generators/test-generator/patterns/navigation-patterns.js.map +1 -1
  32. package/dist/generators/test-generator/utils/selector-resolver.d.ts +2 -2
  33. package/dist/generators/test-generator/utils/selector-resolver.d.ts.map +1 -1
  34. package/dist/generators/test-generator/utils/selector-resolver.js +36 -16
  35. package/dist/generators/test-generator/utils/selector-resolver.js.map +1 -1
  36. package/dist/input/cli-adapter.js +1 -1
  37. package/dist/orchestrator/screen-manager.js +5 -5
  38. package/dist/orchestrator/screen-manager.js.map +1 -1
  39. package/package.json +1 -1
  40. package/src/core/validator/selector-validator.ts +2 -2
  41. package/src/generators/cli.ts +1 -1
  42. package/src/generators/gherkin-parser/index.ts +4 -2
  43. package/src/generators/scaffold-generator/index.ts +76 -15
  44. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/click-element-with-text.hbs +1 -0
  45. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/target-element-action.hbs +1 -0
  46. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/wait-for-page.hbs +1 -0
  47. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/list-item-count-assertion.hbs +1 -0
  48. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/page-assertion.hbs +1 -0
  49. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-filter-assertion.hbs +1 -0
  50. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-locator-variable-assertion.hbs +1 -0
  51. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-role-variable-assertion.hbs +1 -0
  52. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-variable-assertion.hbs +1 -0
  53. package/src/generators/test-generator/adapters/playwright/templates/steps/navigation/page-navigation.hbs +1 -0
  54. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator.hbs +1 -1
  55. package/src/generators/test-generator/patterns/assertion-patterns.ts +173 -8
  56. package/src/generators/test-generator/patterns/interaction-patterns.ts +118 -2
  57. package/src/generators/test-generator/patterns/navigation-patterns.ts +16 -0
  58. package/src/generators/test-generator/utils/selector-resolver.ts +42 -21
  59. package/src/input/cli-adapter.ts +1 -1
  60. package/src/orchestrator/screen-manager.ts +5 -5
@@ -6,6 +6,108 @@ exports.assertionPatterns = void 0;
6
6
  * Uses template engine for framework-agnostic code generation
7
7
  */
8
8
  exports.assertionPatterns = [
9
+ // NEW: Page assertion pattern (see [page] page syntax)
10
+ {
11
+ name: 'page-assertion',
12
+ matcher: (step) => (step.text.includes('should see') ||
13
+ step.text.includes('see') ||
14
+ step.text.includes('sees')) &&
15
+ step.elementType === 'page',
16
+ generator: (step, context) => {
17
+ const path = step.featurePath || '/';
18
+ const pathRegex = path.replace(/[.*+?^${}()|[\]\\/]/g, '\\$&');
19
+ const code = context.templateEngine.renderStep('page-assertion', { pathRegex });
20
+ return {
21
+ code,
22
+ comment: `Assert on page`,
23
+ };
24
+ },
25
+ priority: 13, // Higher priority than general visibility
26
+ },
27
+ // NEW: Assertion with variable (handles both empty selector and static + variable)
28
+ // Pattern: Then User see [error] message with {{fail_message}}
29
+ // If selector YAML has empty value, uses variable-only matching
30
+ // If selector has value, combines both (static text + variable)
31
+ {
32
+ name: 'see-with-variable',
33
+ matcher: (step) => (step.text.includes('should see') ||
34
+ step.text.match(/\b(see|sees)\s+\[/)) &&
35
+ !!step.selectorRef &&
36
+ !!step.dataRef &&
37
+ step.text.includes('with'),
38
+ generator: (step, context) => {
39
+ // Resolve selector from YAML with feature context
40
+ let resolved = {};
41
+ try {
42
+ resolved = context.selectorResolver.resolveSelector(step.selectorRef, context.featureName, // Pass feature context from step context
43
+ step.elementType);
44
+ }
45
+ catch (error) {
46
+ // Selector not in YAML or context issue - will use variable-only
47
+ }
48
+ // Resolve data variable value
49
+ let dataValue;
50
+ try {
51
+ dataValue = context.dataResolver.resolveData(step.dataRef, context.featureName);
52
+ }
53
+ catch (error) {
54
+ dataValue = `\${${step.dataRef}}`;
55
+ }
56
+ const escapedVariable = dataValue.replace(/[.*+?^${}()|[\]\\/]/g, '\\$&');
57
+ // Check if it's a locator strategy - use locator with filter
58
+ if (resolved.strategy === 'locator') {
59
+ const code = context.templateEngine.renderStep('visible-with-locator-variable-assertion', {
60
+ ...resolved,
61
+ dataValue,
62
+ nth: resolved.nth || 0,
63
+ });
64
+ return {
65
+ code,
66
+ comment: `Assert ${step.selectorRef} with value ${step.dataRef}`,
67
+ };
68
+ }
69
+ // Check if it's a role-based selector with data
70
+ if (resolved.strategy === 'role' && resolved.role) {
71
+ // Use role-based selector with filter for role types
72
+ const code = context.templateEngine.renderStep('visible-with-role-variable-assertion', {
73
+ role: resolved.role,
74
+ name: resolved.name && resolved.name.trim() ? resolved.name : undefined,
75
+ dataValue,
76
+ nth: resolved.nth || 0,
77
+ });
78
+ return {
79
+ code,
80
+ comment: `Assert ${step.selectorRef} with value ${step.dataRef}`,
81
+ };
82
+ }
83
+ const selectorValue = resolved.value || '';
84
+ // If selector has a value in YAML, combine with variable
85
+ // Otherwise use variable-only
86
+ if (selectorValue && selectorValue.trim()) {
87
+ // Has selector value - combine both
88
+ const code = context.templateEngine.renderStep('visible-with-value-assertion', {
89
+ value: selectorValue,
90
+ dataValue,
91
+ dataRef: step.dataRef,
92
+ });
93
+ return {
94
+ code,
95
+ comment: `Assert ${step.selectorRef} with value ${step.dataRef}`,
96
+ };
97
+ }
98
+ else {
99
+ // Empty selector - use variable only
100
+ const code = context.templateEngine.renderStep('visible-with-variable-assertion', {
101
+ variable: escapedVariable
102
+ });
103
+ return {
104
+ code,
105
+ comment: `Assert ${step.selectorRef} visible with ${step.dataRef}`,
106
+ };
107
+ }
108
+ },
109
+ priority: 13, // HIGHEST priority - match before should-be-visible-with-value
110
+ },
9
111
  {
10
112
  name: 'should-be-visible-with-value',
11
113
  matcher: (step) => (step.text.includes('should see') ||
@@ -23,18 +125,22 @@ exports.assertionPatterns = [
23
125
  catch (error) {
24
126
  dataValue = `\${${step.dataRef}}`;
25
127
  }
26
- // Generate regex-based text assertion: /Logged in as.*value/
27
- const code = context.templateEngine.renderStep('visible-with-value-assertion', {
28
- ...resolved,
29
- dataValue,
30
- dataRef: step.dataRef,
31
- });
128
+ // Container types (row, list-item/listitem) use .filter({ hasText }) instead of regex
129
+ const filterTypes = ['row', 'listitem', 'list-item'];
130
+ const normalizedType = step.elementType || '';
131
+ const useFilter = filterTypes.includes(normalizedType) || filterTypes.includes(resolved.role || '');
132
+ // When using .filter({ hasText }), name is redundant — data value identifies the element
133
+ const templateData = useFilter
134
+ ? { ...(() => { const { name: _n, ...rest } = resolved; return rest; })(), dataValue, dataRef: step.dataRef }
135
+ : { ...resolved, dataValue, dataRef: step.dataRef };
136
+ const templateName = useFilter ? 'visible-with-filter-assertion' : 'visible-with-value-assertion';
137
+ const code = context.templateEngine.renderStep(templateName, templateData);
32
138
  return {
33
139
  code,
34
140
  comment: `Assert ${step.selectorRef} with value ${step.dataRef}`,
35
141
  };
36
142
  },
37
- priority: 12, // Higher priority than simple visibility
143
+ priority: 11, // Lower than see-with-variable (13) so variable-only pattern matches first
38
144
  },
39
145
  {
40
146
  name: 'should-be-visible',
@@ -208,12 +314,60 @@ exports.assertionPatterns = [
208
314
  },
209
315
  priority: 5, // Lower than selector-based assertions
210
316
  },
317
+ {
318
+ name: 'list-item-count',
319
+ matcher: (step) => step.text.includes('should have') && step.text.includes('count') &&
320
+ !!step.selectorRef && step.text.includes('items') &&
321
+ (step.elementType === 'list' || step.elementType === 'list-item' || step.elementType === 'listitem'),
322
+ generator: (step, context) => {
323
+ let expectedCount = 1;
324
+ const match = step.text.match(/count\s+(\d+)/);
325
+ if (match) {
326
+ expectedCount = parseInt(match[1]);
327
+ }
328
+ else if (step.dataRef) {
329
+ try {
330
+ const resolvedData = context.dataResolver.resolveData(step.dataRef, context.featureName);
331
+ const parsed = parseInt(resolvedData);
332
+ expectedCount = isNaN(parsed) ? 1 : parsed;
333
+ }
334
+ catch {
335
+ expectedCount = `\${${step.dataRef}}`;
336
+ }
337
+ }
338
+ const resolved = context.selectorResolver.resolveSelector(step.selectorRef, undefined, step.elementType);
339
+ const code = context.templateEngine.renderStep('list-item-count-assertion', {
340
+ ...resolved,
341
+ expectedCount,
342
+ });
343
+ return {
344
+ code,
345
+ comment: `Assert ${step.selectorRef} list has ${expectedCount} items`,
346
+ };
347
+ },
348
+ priority: 9, // Higher than should-have-count (8)
349
+ },
211
350
  {
212
351
  name: 'should-have-count',
213
352
  matcher: (step) => step.text.includes('should have') && step.text.includes('count') && !!step.selectorRef,
214
353
  generator: (step, context) => {
354
+ let expectedCount = 1;
355
+ // Try literal digit first: "count 10"
215
356
  const match = step.text.match(/count\s+(\d+)/);
216
- const expectedCount = match ? parseInt(match[1]) : 1;
357
+ if (match) {
358
+ expectedCount = parseInt(match[1]);
359
+ }
360
+ else if (step.dataRef) {
361
+ // Resolve data reference: "count {{number_items}}"
362
+ try {
363
+ const resolvedData = context.dataResolver.resolveData(step.dataRef, context.featureName);
364
+ const parsed = parseInt(resolvedData);
365
+ expectedCount = isNaN(parsed) ? 1 : parsed;
366
+ }
367
+ catch {
368
+ expectedCount = `\${${step.dataRef}}`;
369
+ }
370
+ }
217
371
  const resolved = context.selectorResolver.resolveSelector(step.selectorRef, undefined, step.elementType);
218
372
  const code = context.templateEngine.renderStep('count-assertion', {
219
373
  ...resolved,
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-patterns.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/assertion-patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assertion-patterns.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/assertion-patterns.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interaction-patterns.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/interaction-patterns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,EAwI5C,CAAC"}
1
+ {"version":3,"file":"interaction-patterns.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/interaction-patterns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,EA4P5C,CAAC"}
@@ -6,6 +6,94 @@ exports.interactionPatterns = void 0;
6
6
  * Uses template engine for framework-agnostic code generation
7
7
  */
8
8
  exports.interactionPatterns = [
9
+ // NEW: Target element with variable pattern
10
+ // Matches: "When User click [target order] row with {{order_name}}"
11
+ // Generates: await page.getByText(/value of target.order.*value of order_name/).click();
12
+ {
13
+ name: 'target-element-action',
14
+ matcher: (step) => {
15
+ // Check if selectorRef starts with "target " (target element indicator)
16
+ const isTargetElement = step.selectorRef && /^target\s/i.test(step.selectorRef);
17
+ // Must have both selector and variable, and "with" clause
18
+ // But EXCLUDE assertion verbs (see, sees) - those should use assertion patterns
19
+ const isInteractionAction = !step.text.includes('see') && !step.text.includes('sees');
20
+ return isTargetElement && !!step.dataRef && step.text.includes('with') && isInteractionAction;
21
+ },
22
+ generator: (step, context) => {
23
+ // Resolve selector value from YAML (e.g., target.order)
24
+ let selectorValue = '';
25
+ try {
26
+ const resolved = context.selectorResolver.resolveSelector(step.selectorRef, context.featureName, step.elementType);
27
+ selectorValue = resolved.value || '';
28
+ }
29
+ catch (error) {
30
+ selectorValue = '';
31
+ }
32
+ // Resolve data variable value
33
+ let dataValue;
34
+ try {
35
+ dataValue = context.dataResolver.resolveData(step.dataRef, context.featureName);
36
+ }
37
+ catch (error) {
38
+ dataValue = `\${${step.dataRef}}`;
39
+ }
40
+ const escapedVariable = dataValue.replace(/[.*+?^${}()|[\]\\/]/g, '\\$&');
41
+ // Determine the action method (click, hover, etc.)
42
+ let actionMethod = 'click';
43
+ if (step.text.includes('hover')) {
44
+ actionMethod = 'hover';
45
+ }
46
+ else if (step.text.includes('double')) {
47
+ actionMethod = 'dblclick';
48
+ }
49
+ // Build regex pattern: combine selector value + variable
50
+ const regexPattern = selectorValue && selectorValue.trim()
51
+ ? `${selectorValue.replace(/[.*+?^${}()|[\]\\/]/g, '\\$&')}.*${escapedVariable}`
52
+ : `.*${escapedVariable}`;
53
+ const code = context.templateEngine.renderStep('target-element-action', {
54
+ pattern: regexPattern,
55
+ action: actionMethod,
56
+ });
57
+ return {
58
+ code,
59
+ comment: `${actionMethod.charAt(0).toUpperCase() + actionMethod.slice(1)} ${step.selectorRef} with ${step.dataRef}`,
60
+ };
61
+ },
62
+ priority: 15, // Highest priority - match before all other interaction patterns
63
+ },
64
+ {
65
+ name: 'click-element-with-text',
66
+ matcher: (step) => (step.text.includes('clicks') || step.text.includes('click'))
67
+ && !!step.selectorRef
68
+ && !!(step.dataRef || step.value)
69
+ && step.text.includes('with'),
70
+ generator: (step, context) => {
71
+ const resolved = context.selectorResolver.resolveSelector(step.selectorRef, undefined, step.elementType);
72
+ let dataValue;
73
+ if (step.value) {
74
+ dataValue = step.value;
75
+ }
76
+ else {
77
+ try {
78
+ dataValue = context.dataResolver.resolveData(step.dataRef, context.featureName);
79
+ }
80
+ catch {
81
+ dataValue = `\${${step.dataRef}}`;
82
+ }
83
+ }
84
+ // When using .filter({ hasText }), name is redundant — data value identifies the element
85
+ const { name: _name, ...resolvedWithoutName } = resolved;
86
+ const code = context.templateEngine.renderStep('click-element-with-text', {
87
+ ...resolvedWithoutName,
88
+ dataValue,
89
+ });
90
+ return {
91
+ code,
92
+ comment: `Click ${step.selectorRef} with text ${step.dataRef || step.value}`,
93
+ };
94
+ },
95
+ priority: 15,
96
+ },
9
97
  {
10
98
  name: 'click-element',
11
99
  matcher: (step) => (step.text.includes('clicks') || step.text.includes('click')) && !!step.selectorRef,
@@ -87,7 +175,7 @@ exports.interactionPatterns = [
87
175
  },
88
176
  {
89
177
  name: 'wait-for-time',
90
- matcher: (step) => step.text.includes('waits for') && /\d+/.test(step.text),
178
+ matcher: (step) => (step.text.includes('wait for') || step.text.includes('waits for')) && /\d+/.test(step.text),
91
179
  generator: (step, context) => {
92
180
  const match = step.text.match(/(\d+)\s*(seconds?|ms|milliseconds?)/);
93
181
  let duration = 1000;
@@ -104,9 +192,24 @@ exports.interactionPatterns = [
104
192
  },
105
193
  priority: 7,
106
194
  },
195
+ // NEW: Wait for page pattern
196
+ {
197
+ name: 'wait-for-page',
198
+ matcher: (step) => (step.text.includes('wait for') || step.text.includes('waits for')) && step.elementType === 'page',
199
+ generator: (step, context) => {
200
+ const path = step.featurePath || '/';
201
+ const pathRegex = path.replace(/[.*+?^${}()|[\]\\/]/g, '\\$&');
202
+ const code = context.templateEngine.renderStep('wait-for-page', { pathRegex });
203
+ return {
204
+ code,
205
+ comment: `Wait for page`,
206
+ };
207
+ },
208
+ priority: 9, // Higher than wait-for-element
209
+ },
107
210
  {
108
211
  name: 'wait-for-element',
109
- matcher: (step) => step.text.includes('waits for') && !!step.selectorRef,
212
+ matcher: (step) => (step.text.includes('wait for') || step.text.includes('waits for')) && !!step.selectorRef,
110
213
  generator: (step, context) => {
111
214
  const resolved = context.selectorResolver.resolveSelector(step.selectorRef, undefined, step.elementType);
112
215
  const code = context.templateEngine.renderStep('wait-for-element', {
@@ -1 +1 @@
1
- {"version":3,"file":"interaction-patterns.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/interaction-patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interaction-patterns.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/interaction-patterns.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-patterns.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/navigation-patterns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,EAmG3C,CAAC"}
1
+ {"version":3,"file":"navigation-patterns.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/navigation-patterns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,EAmH3C,CAAC"}
@@ -8,6 +8,21 @@ const path_inference_1 = require("../utils/path-inference");
8
8
  * Templates handle URL construction
9
9
  */
10
10
  exports.navigationPatterns = [
11
+ // NEW: Page type pattern (open [page] page syntax)
12
+ {
13
+ name: 'open-page-type',
14
+ matcher: (step) => (step.text.includes('open') || step.text.includes('opens')) &&
15
+ step.elementType === 'page',
16
+ generator: (step, context) => {
17
+ const path = context.featurePath || '/';
18
+ const code = context.templateEngine.renderStep('page-navigation', { path });
19
+ return {
20
+ code,
21
+ comment: `Navigate to page`,
22
+ };
23
+ },
24
+ priority: 16, // Higher priority than regular open-page
25
+ },
11
26
  {
12
27
  name: 'open-page',
13
28
  matcher: (step) => (step.text.includes('open') || step.text.includes('opens')) &&
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-patterns.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/navigation-patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation-patterns.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/patterns/navigation-patterns.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  export interface ResolvedSelector {
2
- strategy: 'testid' | 'id' | 'placeholder' | 'label' | 'text' | 'css' | 'role';
2
+ strategy: 'testid' | 'id' | 'placeholder' | 'label' | 'text' | 'css' | 'role' | 'locator';
3
3
  value: string;
4
4
  role?: string;
5
5
  name?: string;
6
- selector?: string;
6
+ locator?: string;
7
7
  nth?: number;
8
8
  }
9
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"selector-resolver.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/utils/selector-resolver.ts"],"names":[],"mappings":"AAsNA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,aAAa,CAAwD;IAC7E,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAS;gBAEhB,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAKtD;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI1C;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAI5C;;;;;;;;;OASG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAUzC;;;;;OAKG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB;IA8BlG;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAiBnC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAwBnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0D9B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmExB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAkEzB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,mBAAmB;IA8D3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA2ChC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA0DxB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAcjC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAsD9B;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB"}
1
+ {"version":3,"file":"selector-resolver.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/utils/selector-resolver.ts"],"names":[],"mappings":"AAsNA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IAC1F,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,aAAa,CAAwD;IAC7E,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAS;gBAEhB,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAKtD;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI1C;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAI5C;;;;;;;;;OASG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAUzC;;;;;OAKG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB;IA8BlG;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAsBnC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA2BnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0D9B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgFxB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAkEzB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,mBAAmB;IA8D3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA2ChC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA0DxB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAcjC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAsD9B;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB"}
@@ -307,6 +307,11 @@ class SelectorResolver {
307
307
  'field': () => ({ strategy: 'placeholder', value: label, nth: 0 }),
308
308
  'checkbox': () => ({ strategy: 'role', role: 'checkbox', name: label, value: 'checkbox', nth: 0 }),
309
309
  'radio': () => ({ strategy: 'role', role: 'radio', name: label, value: 'radio', nth: 0 }),
310
+ 'row': () => ({ strategy: 'role', role: 'row', name: label, value: 'row', nth: 0 }),
311
+ 'table': () => ({ strategy: 'role', role: 'table', name: label, value: 'table', nth: 0 }),
312
+ 'columnheader': () => ({ strategy: 'role', role: 'columnheader', name: label, value: 'columnheader', nth: 0 }),
313
+ 'list': () => ({ strategy: 'role', role: 'list', name: label, value: 'list', nth: 0 }),
314
+ 'listitem': () => ({ strategy: 'role', role: 'listitem', value: 'listitem', nth: 0 }),
310
315
  };
311
316
  const factory = strategyMap[normalized];
312
317
  return factory ? factory() : null;
@@ -325,7 +330,10 @@ class SelectorResolver {
325
330
  'header': 'text',
326
331
  'caption': 'text',
327
332
  'message': 'text',
328
- 'list': 'text',
333
+ // Table-related aliases
334
+ 'column': 'columnheader',
335
+ // List-related aliases
336
+ 'list-item': 'listitem',
329
337
  // Image aliases
330
338
  'logo': 'img',
331
339
  'image': 'img',
@@ -424,17 +432,29 @@ class SelectorResolver {
424
432
  */
425
433
  resolveFromEntry(entry, originalLabel) {
426
434
  // Default values
427
- const selector = entry.selector || '';
435
+ const locator = entry.locator || '';
428
436
  const type = entry.type || 'placeholder';
429
- const value = entry.value || originalLabel;
430
- const name = entry.name || originalLabel; // Use name field if provided, otherwise use label
437
+ // Check if value exists in entry (even if empty string), use it; otherwise use originalLabel
438
+ const value = entry.value !== undefined && entry.value !== null ? entry.value : originalLabel;
439
+ // Check if name exists in entry (even if empty string), use it; otherwise use originalLabel
440
+ const name = entry.name !== undefined && entry.name !== null ? entry.name : originalLabel;
431
441
  const nth = entry.nth || 0;
432
- // If custom selector is provided, use it
433
- if (selector && selector.trim()) {
442
+ // If type is 'locator', use locator field (or value as fallback) as the CSS locator directly
443
+ if (type === 'locator') {
444
+ const locatorValue = locator && locator.trim() ? locator : value;
445
+ return {
446
+ strategy: 'locator',
447
+ value: locatorValue,
448
+ locator: locatorValue,
449
+ nth,
450
+ };
451
+ }
452
+ // If custom locator is provided and type is not 'locator', use it as CSS selector
453
+ if (locator && locator.trim()) {
434
454
  return {
435
455
  strategy: 'css',
436
- value: selector,
437
- selector: selector,
456
+ value: locator,
457
+ locator: locator,
438
458
  nth,
439
459
  };
440
460
  }
@@ -486,8 +506,8 @@ class SelectorResolver {
486
506
  * Returns metadata only - no framework-specific code
487
507
  */
488
508
  resolveByPriority(element) {
489
- // Extract data-testid from selector if present
490
- const testIdMatch = element.selector.match(/\[data-testid=["']([^"']+)["']\]/);
509
+ // Extract data-testid from locator if present
510
+ const testIdMatch = element.locator.match(/\[data-testid=["']([^"']+)["']\]/);
491
511
  if (testIdMatch) {
492
512
  return {
493
513
  strategy: 'testid',
@@ -526,21 +546,21 @@ class SelectorResolver {
526
546
  nth: element.nth,
527
547
  };
528
548
  }
529
- // Extract #id from selector if present
530
- const idMatch = element.selector.match(/#([\w-]+)/);
549
+ // Extract #id from locator if present
550
+ const idMatch = element.locator.match(/#([\w-]+)/);
531
551
  if (idMatch) {
532
552
  return {
533
553
  strategy: 'id',
534
554
  value: idMatch[1],
535
- selector: `#${idMatch[1]}`,
555
+ locator: `#${idMatch[1]}`,
536
556
  nth: element.nth,
537
557
  };
538
558
  }
539
- // Fallback to CSS selector
559
+ // Fallback to CSS locator
540
560
  return {
541
561
  strategy: 'css',
542
- value: element.selector,
543
- selector: element.selector,
562
+ value: element.locator,
563
+ locator: element.locator,
544
564
  nth: element.nth,
545
565
  };
546
566
  }