@thinkwise/testwise 0.2.7 → 0.2.16

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 (49) hide show
  1. package/artifact-builder/InterfaceGenerator.ts +2 -2
  2. package/artifact-builder/SchemaGenerator.ts +2 -2
  3. package/artifact-builder/SelectorBuilder.ts +6 -2
  4. package/artifact-builder/SubjectComponentGenerator.ts +35 -9
  5. package/artifact-builder/SubjectGenerator.ts +2 -2
  6. package/artifact-builder/SubjectRegistration.ts +14 -0
  7. package/artifact-builder/helpers/NamingHandler.ts +28 -48
  8. package/components/tab/BaseTabObjects.ts +1 -1
  9. package/controls/FormComboBox.ts +72 -0
  10. package/controls/LookupDropdown.ts +4 -2
  11. package/controls/index.ts +1 -0
  12. package/dist/artifact-builder/InterfaceGenerator.js +3 -3
  13. package/dist/artifact-builder/InterfaceGenerator.js.map +1 -1
  14. package/dist/artifact-builder/SchemaGenerator.js +2 -2
  15. package/dist/artifact-builder/SchemaGenerator.js.map +1 -1
  16. package/dist/artifact-builder/SelectorBuilder.d.ts +1 -0
  17. package/dist/artifact-builder/SelectorBuilder.js +4 -1
  18. package/dist/artifact-builder/SelectorBuilder.js.map +1 -1
  19. package/dist/artifact-builder/SubjectComponentGenerator.d.ts +2 -2
  20. package/dist/artifact-builder/SubjectComponentGenerator.js +27 -9
  21. package/dist/artifact-builder/SubjectComponentGenerator.js.map +1 -1
  22. package/dist/artifact-builder/SubjectGenerator.js +2 -2
  23. package/dist/artifact-builder/SubjectGenerator.js.map +1 -1
  24. package/dist/artifact-builder/SubjectRegistration.d.ts +1 -0
  25. package/dist/artifact-builder/SubjectRegistration.js +11 -0
  26. package/dist/artifact-builder/SubjectRegistration.js.map +1 -1
  27. package/dist/artifact-builder/helpers/NamingHandler.d.ts +2 -4
  28. package/dist/artifact-builder/helpers/NamingHandler.js +26 -44
  29. package/dist/artifact-builder/helpers/NamingHandler.js.map +1 -1
  30. package/dist/components/tab/BaseTabObjects.js +1 -1
  31. package/dist/components/tab/BaseTabObjects.js.map +1 -1
  32. package/dist/controls/FormComboBox.d.ts +10 -0
  33. package/dist/controls/FormComboBox.js +43 -0
  34. package/dist/controls/FormComboBox.js.map +1 -0
  35. package/dist/controls/LookupDropdown.d.ts +2 -1
  36. package/dist/controls/LookupDropdown.js.map +1 -1
  37. package/dist/controls/index.d.ts +1 -0
  38. package/dist/controls/index.js +1 -0
  39. package/dist/controls/index.js.map +1 -1
  40. package/dist/enums/ElementTypes.d.ts +2 -1
  41. package/dist/enums/ElementTypes.js +1 -0
  42. package/dist/enums/ElementTypes.js.map +1 -1
  43. package/dist/helpers/UserSimulationHelper.js +1 -1
  44. package/dist/helpers/UserSimulationHelper.js.map +1 -1
  45. package/enums/ElementTypes.ts +2 -1
  46. package/helpers/UserSimulationHelper.ts +1 -1
  47. package/package.json +5 -5
  48. package/scripts/postinstall.js +3 -1
  49. package/scripts/sync.js +748 -756
@@ -77,7 +77,7 @@ export class InterfaceGenerator {
77
77
  const baseFileName = file.slice(0, file.lastIndexOf('.'));
78
78
  const correctInterfaceName = isInterface
79
79
  ? this._namingHandler.generateScreenInterfaceName(baseFileName)
80
- : this._namingHandler.snakeToPascalCase(baseFileName);
80
+ : this._namingHandler.toPascalCase(baseFileName);
81
81
 
82
82
  const schemaPath = path.join(schemasDirectory, file);
83
83
  const schemaContent = fs.readFileSync(schemaPath, 'utf-8');
@@ -139,7 +139,7 @@ export class InterfaceGenerator {
139
139
  }
140
140
 
141
141
  if (schemaType === SchemaType.Screen) {
142
- const fileNameSnakeCase = this._namingHandler.pascalToSnakeCase(fileName);
142
+ const fileNameSnakeCase = this._namingHandler.toSnakeCase(fileName);
143
143
 
144
144
  if (this._screensToBuild.length > 0 && !this._screensToBuild.includes(fileNameSnakeCase)) {
145
145
  return Promise.resolve(true);
@@ -75,7 +75,7 @@ export class SchemaGenerator {
75
75
  }
76
76
 
77
77
  private getScreenContent(screenTypeId: string): string {
78
- const screenFileName = this._namingHandler.formatPascalCaseName(screenTypeId);
78
+ const screenFileName = this._namingHandler.toPascalCase(screenTypeId);
79
79
  const _filename = fileURLToPath(import.meta.url);
80
80
  const _dirname = path.dirname(_filename);
81
81
  const screenLocation = path.resolve(_dirname, '..', '..', 'test-artifacts/screens/');
@@ -86,7 +86,7 @@ export class SchemaGenerator {
86
86
  private createComponentSchema(subject: ISubject, componentType: SubjectComponents): void {
87
87
  const interfaceName = `${subject.subject}_${componentType.toLowerCase()}`;
88
88
  const schemasDir = path.join(currentDirname, '..', '..', 'dist/test-artifacts/schemas');
89
- const fileName = `${this._namingHandler.snakeToPascalCase(interfaceName)}.json`;
89
+ const fileName = `${this._namingHandler.toPascalCase(interfaceName)}.json`;
90
90
 
91
91
  if (fs.existsSync(path.join(schemasDir, fileName))) {
92
92
  return;
@@ -52,12 +52,16 @@ export class SelectorBuilder {
52
52
  return suffix;
53
53
  }
54
54
 
55
- public getPageLocatorString(property: string, componentName: SubjectComponents): string {
56
- let elementId = this._namingHandler.getIdFromElementName(
55
+ public getElementId(property: string, componentName: SubjectComponents): string {
56
+ return this._namingHandler.getIdFromElementName(
57
57
  property,
58
58
  componentName,
59
59
  this._namingHandler.getElementTypeFromElementName(property)
60
60
  );
61
+ }
62
+
63
+ public getPageLocatorString(property: string, componentName: SubjectComponents): string {
64
+ let elementId = this.getElementId(property, componentName);
61
65
 
62
66
  if (componentName === 'Grid') elementId = elementId.replace(/-/g, '_');
63
67
 
@@ -105,9 +105,13 @@ export class SubjectComponentGenerator {
105
105
  gridGetters = this.generateGridGetters(propertyLines, componentName);
106
106
  } else {
107
107
  propertyDeclarations = this.generatePropertyDeclarations(propertyLines, componentName);
108
- if (componentName === 'Form') this.transformLookupTypes(componentFile);
108
+
109
+ if (componentName === 'Form') {
110
+ this.transformInterfaceTypes(componentFile);
111
+ }
112
+
109
113
  assignments = this.getPropertyInitializations(propertyLines, componentName);
110
- this.addLookupImportIfRequired(componentFile);
114
+ this.addImportsDynamically(componentFile);
111
115
  }
112
116
  }
113
117
 
@@ -125,7 +129,7 @@ export class SubjectComponentGenerator {
125
129
  const subjectName: string | null = subjectMatch ? subjectMatch[1] : null;
126
130
 
127
131
  if (subjectName) {
128
- const formattedSubjectName = this._namingHandler.formatSubjectName(subjectName);
132
+ const formattedSubjectName = this._namingHandler.toPascalCase(subjectName);
129
133
  const subjectFolder = this.getSubjectFolderPath(formattedSubjectName);
130
134
  const fileName = path.basename(componentDirPath);
131
135
 
@@ -180,18 +184,30 @@ export class SubjectComponentGenerator {
180
184
  return ` this.${property} = createLookupDropdown(${pageLocatorString});`;
181
185
  }
182
186
 
187
+ if (componentName === 'Form' && property.endsWith('ComboBox')) {
188
+ const elementId = this._selectorBuilder.getElementId(property, componentName);
189
+ return ` this.${property} = createFormComboBox(page, '${elementId}');`;
190
+ }
191
+
183
192
  return ` this.${property} = ${pageLocatorString};`;
184
193
  })
185
194
  .join('\n');
186
195
  }
187
196
 
188
- private addLookupImportIfRequired(componentFile: { content: string }): void {
197
+ private addImportsDynamically(componentFile: { content: string }): void {
189
198
  const lookupType = 'ILookupDropdown';
199
+ const comboBoxType = 'IFormComboBox';
190
200
  const lookupImport =
191
201
  "import { createLookupDropdown, type ILookupDropdown } from '../../../../controls/LookupDropdown.js';";
202
+ const comboBoxImport =
203
+ "import { createFormComboBox, type IFormComboBox } from '../../../../controls/FormComboBox.js';";
192
204
 
193
205
  if (componentFile.content.includes(lookupType) && !componentFile.content.includes(lookupImport)) {
194
206
  componentFile.content = `${lookupImport}\n${componentFile.content}`;
207
+ }
208
+
209
+ if (componentFile.content.includes(comboBoxType) && !componentFile.content.includes(comboBoxImport)) {
210
+ componentFile.content = `${comboBoxImport}\n${componentFile.content}`;
195
211
  }
196
212
  }
197
213
 
@@ -204,19 +220,29 @@ export class SubjectComponentGenerator {
204
220
  return ` ${property}: ILookupDropdown;`;
205
221
  }
206
222
 
223
+ if (componentName === 'Form' && property.endsWith('ComboBox')) {
224
+ return ` ${property}: IFormComboBox;`;
225
+ }
226
+
207
227
  return ` ${property}: Locator;`;
208
228
  })
209
229
  .join('\n');
210
230
  }
211
231
 
212
- private transformLookupTypes(componentFile: { content: string }): void {
232
+ private transformInterfaceTypes(componentFile: { content: string }): void {
213
233
  const interfaceRegex = /export interface \w+ extends Form \{([\s\S]*?)\}/g;
214
234
 
215
- componentFile.content = componentFile.content.replace(interfaceRegex, (match, interfaceBody) => {
216
- const propertyRegex = /(\w+Lookup)\s*:\s*Locator;/g;
235
+ const typeMapping: Record<string, string> = {
236
+ 'Lookup': 'ILookupDropdown',
237
+ 'ComboBox': 'IFormComboBox'
238
+ };
217
239
 
218
- const updatedBody = interfaceBody.replace(propertyRegex, (_propMatch: string, propName: string) => {
219
- return `${propName}: ILookupDropdown;`;
240
+ componentFile.content = componentFile.content.replace(interfaceRegex, (match, interfaceBody) => {
241
+ const propertyRegex = /(\w+(Lookup|ComboBox))\s*:\s*Locator;/g;
242
+
243
+ const updatedBody = interfaceBody.replace(propertyRegex, (_match: string, propName: string, suffix: string) => {
244
+ const newType = typeMapping[suffix];
245
+ return `${propName}: ${newType};`;
220
246
  });
221
247
 
222
248
  return match.replace(interfaceBody, updatedBody);
@@ -78,7 +78,7 @@ export class SubjectGenerator {
78
78
  const screenInterfaceName = this._namingHandler.generateScreenInterfaceName(subject.screentype_id);
79
79
  const screenInterfacePath = this.getScreenInterfacePath(screenInterfaceName);
80
80
  const screenFileContent = fs.readFileSync(screenInterfacePath, 'utf-8');
81
- const subjectFolderName = this._namingHandler.formatPascalCaseName(subject.subject);
81
+ const subjectFolderName = this._namingHandler.toPascalCase(subject.subject);
82
82
  const subjectFolderPath = this.getSubjectFolderRelativePath(subjectFolderName);
83
83
 
84
84
  const subjectClass = {
@@ -294,7 +294,7 @@ export class SubjectGenerator {
294
294
  }
295
295
 
296
296
  private getComponentInitializer(component: { type: string; context: string }): string {
297
- const componentNamePascal = this._namingHandler.formatPascalCaseName(component.type);
297
+ const componentNamePascal = this._namingHandler.toPascalCase(component.type);
298
298
 
299
299
  switch (component.type) {
300
300
  case 'Cardlist':
@@ -23,6 +23,20 @@ export class SubjectRegistration {
23
23
  await this.registerGeneratedSubjectsAsSubjectTypes(subjectDetails);
24
24
  }
25
25
 
26
+ public resetSubjectRegistry(): void {
27
+ const root = path.resolve(this._currentDirname, '../../');
28
+ const registryPath = path.join(root, 'page-extensions', 'SubjectRegistry.ts');
29
+ const templatePath = path.join(root, 'templates', 'SubjectRegistry.template.ts');
30
+
31
+ if (fs.existsSync(registryPath)) {
32
+ fs.rmSync(registryPath, { force: true });
33
+ }
34
+
35
+ if (fs.existsSync(templatePath)) {
36
+ fs.copyFileSync(templatePath, registryPath);
37
+ }
38
+ }
39
+
26
40
  private async registerGeneratedSubjectsAsSubjectTypes(subjectDetails: SubjectDetail[]): Promise<void> {
27
41
  const subjectTypeImportsAndExports = this.buildSubjectTypeExport(subjectDetails);
28
42
  const subject = { content: this.setSubjectTypeContent() };
@@ -1,4 +1,5 @@
1
1
  import * as path from 'node:path';
2
+ import { pascalCase, snakeCase } from 'change-case';
2
3
  import { KnownElementTypes } from '../../enums/ElementTypes.js';
3
4
  import type { ScreenComponents, SubjectComponents } from '../../types/Components.js';
4
5
 
@@ -27,37 +28,48 @@ export class NamingHandler {
27
28
  phone_number: formDefaultSuffix,
28
29
  suggestion_starts_with: formDefaultSuffix,
29
30
  lookup_dropdown: KnownElementTypes.Lookup,
31
+ dropdown : KnownElementTypes.Dropdown,
32
+ lookup: KnownElementTypes.Lookup,
30
33
  checkbox: KnownElementTypes.Checkbox,
31
34
  multiline: KnownElementTypes.Textarea,
32
- combo: KnownElementTypes.Dropdown
35
+ combo: KnownElementTypes.ComboBox,
36
+ combo_box: KnownElementTypes.ComboBox,
33
37
  },
34
38
  Grid: {
35
39
  email: gridDefaultSuffix,
36
40
  phone_number: gridDefaultSuffix,
37
41
  suggestion_starts_with: gridDefaultSuffix,
38
42
  lookup_dropdown: gridDefaultSuffix,
43
+ dropdown : gridDefaultSuffix,
44
+ lookup: gridDefaultSuffix,
39
45
  checkbox: gridDefaultSuffix,
40
46
  multiline: gridDefaultSuffix,
41
- combo: gridDefaultSuffix
47
+ combo: gridDefaultSuffix,
48
+ combo_box: gridDefaultSuffix
42
49
  }
43
50
  };
44
51
 
45
52
  const componentMapping = controlTypeMappingMatrix[componentType];
46
53
  return (
47
- componentMapping[controlType] || this.getDefaultElementSuffixFromComponentType(componentType)
54
+ componentMapping[controlType.toLowerCase()] || this.getDefaultElementSuffixFromComponentType(componentType)
48
55
  ).toLowerCase();
49
56
  }
50
57
 
51
58
  public getIdFromElementName(elementName: string, componentType: SubjectComponents, controlType: string): string {
52
59
  const elementSuffixToRemove = this.getElementSuffixFromControlTypeAndComponentType(controlType, componentType);
53
- const snakeCaseElementName = this.pascalToSnakeCase(elementName);
60
+ const elementSuffixToRemoveFormatted = elementSuffixToRemove.replace(/_/g, '-').toLowerCase();
54
61
 
55
- return snakeCaseElementName
56
- .replace(new RegExp(`${elementSuffixToRemove}$`, 'i'), '')
62
+ let id = this.toSnakeCase(elementName)
57
63
  .replace(/([a-z])([A-Z])/g, '$1-$2')
58
64
  .toLowerCase()
59
- .replace(/_/g, '-')
60
- .replace(/-+$/g, '');
65
+ .replace(/_/g, '-');
66
+
67
+ if (elementSuffixToRemove) {
68
+ const suffixRegex = new RegExp(`-?${elementSuffixToRemoveFormatted}$`, 'i');
69
+ id = id.replace(suffixRegex, '');
70
+ }
71
+
72
+ return id.replace(/-+/g, '-').replace(/-+$/g, '');
61
73
  }
62
74
 
63
75
  public getComponentTypeFromFileName(fileName: string): SubjectComponents {
@@ -72,7 +84,7 @@ export class NamingHandler {
72
84
  }
73
85
 
74
86
  public getElementTypeFromElementName(elementName: string): string {
75
- const snakeCaseElementName = this.pascalToSnakeCase(elementName);
87
+ const snakeCaseElementName = this.toSnakeCase(elementName);
76
88
  const parts = snakeCaseElementName.split('_');
77
89
 
78
90
  for (let i = parts.length - 1; i > 0; i--) {
@@ -91,24 +103,11 @@ export class NamingHandler {
91
103
  }
92
104
 
93
105
  public getPascalSubjectComponentName(file: string): string {
94
- return this.formatPascalCaseName(path.basename(file, '.json'));
95
- }
96
-
97
- public formatPascalCaseName(name: string): string {
98
- if (!name.includes('_')) {
99
- return name.charAt(0).toUpperCase() + name.slice(1);
100
- }
101
-
102
- return name
103
- .toLowerCase()
104
- .split('_')
105
- .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
106
- .join('');
106
+ return this.toPascalCase(path.basename(file, '.json'));
107
107
  }
108
108
 
109
- public formatSubjectName(subjectName: string): string {
110
- subjectName.replace(/_([a-z])/g, (g: string) => g[1].toUpperCase());
111
- return subjectName.charAt(0).toUpperCase() + subjectName.slice(1);
109
+ public toPascalCase(name: string): string {
110
+ return pascalCase(name);
112
111
  }
113
112
 
114
113
  public formatPropertyName(name: string): string {
@@ -116,30 +115,11 @@ export class NamingHandler {
116
115
  }
117
116
 
118
117
  public generateScreenInterfaceName(screentypeId: string): string {
119
- return `I${screentypeId
120
- .toLowerCase()
121
- .split('_')
122
- .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
123
- .join('')}`;
124
- }
125
-
126
- public snakeToPascalCase(value: string): string {
127
- if (!value.includes('_')) {
128
- return value.charAt(0).toUpperCase() + value.slice(1);
129
- }
130
-
131
- return value
132
- .toLowerCase()
133
- .split('_')
134
- .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
135
- .join('');
118
+ return `I${this.toPascalCase(screentypeId)}`;
136
119
  }
137
120
 
138
- public pascalToSnakeCase(value: string): string {
139
- return value
140
- .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2')
141
- .replace(/([a-z\d])([A-Z])/g, '$1_$2')
142
- .toLowerCase();
121
+ public toSnakeCase(value: string): string {
122
+ return snakeCase(value);
143
123
  }
144
124
 
145
125
  public getComponentIdFromName(componentName: string, componentType: ScreenComponents): string {
@@ -181,6 +161,6 @@ export class NamingHandler {
181
161
  public generateSubjectClassName(subject: { subject: string; screentype_context: string; variant: string }): string {
182
162
  const uniqueSubjectIdentifier = subject.variant !== '' ? `${subject.subject}_${subject.variant}` : subject.subject;
183
163
  const className = `${uniqueSubjectIdentifier}_${subject.screentype_context}`;
184
- return this.formatPascalCaseName(className);
164
+ return this.toPascalCase(className);
185
165
  }
186
166
  }
@@ -12,7 +12,7 @@ export class BaseTabObjects extends BaseComponentObjects {
12
12
  public tabList = (): Locator => this.context.getByRole('tablist');
13
13
 
14
14
  public tabByTestId = (name: string): Locator =>
15
- this.tabList().locator(`[role="tab"][data-testid^="tabstrip__tab__${name.toLowerCase()}"]`);
15
+ this.tabList().locator(`[role="tab"][data-testid^="tabstrip__tab__${name.toLowerCase()}__"]`);
16
16
 
17
17
  // use role for generic index-based selection
18
18
  public tabByIndex = (index: number): Locator => this.tabList().getByRole('tab').nth(index);
@@ -0,0 +1,72 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ /** biome-ignore-all lint/suspicious/noExplicitAny: Reason42 */
3
+ import type { Locator, Page } from '@playwright/test';
4
+
5
+ export type IFormComboBox = Locator & IFormComboBoxCore;
6
+
7
+ export type IFormComboBoxCore = {
8
+ lookupSelect(optionToSelect: string): Promise<void>;
9
+ selectOption(optionText: string): Promise<void>;
10
+ getValidationMessage(): Promise<string>;
11
+ clearByClick(): Promise<void>;
12
+ };
13
+
14
+ class FormComboBox implements IFormComboBoxCore {
15
+ private _formFieldLocator: Locator;
16
+ private _autoCompleteMenu: Locator;
17
+ private _id: string;
18
+
19
+ constructor(page: Page, id: string) {
20
+ this._id = id;
21
+ this._formFieldLocator = page.getByTestId(`form-field__${id}`);
22
+ this._autoCompleteMenu = page.getByTestId(`form-field__${id}__select__options-list`);
23
+ }
24
+
25
+ async selectOption(optionText: string): Promise<void> {
26
+ await this._formFieldLocator.locator('input').click();
27
+
28
+ await this._autoCompleteMenu.waitFor({ state: 'visible' });
29
+
30
+ const optionTextLowercase = optionText.toLowerCase();
31
+
32
+ await this._autoCompleteMenu.getByTestId(`form-field__${this._id}__select__${optionTextLowercase}__text`).click();
33
+ }
34
+
35
+ async getValidationMessage(): Promise<string> {
36
+ await this._formFieldLocator.locator('.TooltipContainer p').waitFor({ state: 'visible' });
37
+ return await this._formFieldLocator.locator('.TooltipContainer p').innerText();
38
+ }
39
+ async clearByClick(): Promise<void> {
40
+ await this._formFieldLocator.locator('Button[aria-label="Clear"]').click();
41
+ }
42
+
43
+ async lookupSelect(optionToSelect: string): Promise<void> {
44
+ await this._formFieldLocator.locator('input').fill(optionToSelect);
45
+
46
+ await this._autoCompleteMenu.waitFor({ state: 'visible' });
47
+
48
+ const optionToSelectLowercase = optionToSelect.toLowerCase();
49
+
50
+ await this._autoCompleteMenu.getByTestId(`form-field__${this._id}__select__${optionToSelectLowercase}__text`).click();
51
+ }
52
+ }
53
+
54
+ export function createFormComboBox(page: Page, id: string): IFormComboBox {
55
+ const comboBox = new FormComboBox(page, id);
56
+ const locator = page.getByTestId(`form-field__${id}`);
57
+
58
+ return new Proxy(comboBox, {
59
+ get(target, prop, receiver) {
60
+ if (prop in target) {
61
+ return Reflect.get(target, prop, receiver);
62
+ }
63
+
64
+ const value = (locator as any)[prop];
65
+
66
+ if (typeof value === 'function') {
67
+ return value.bind(locator);
68
+ }
69
+ return value;
70
+ }
71
+ }) as unknown as IFormComboBox;
72
+ }
@@ -3,12 +3,14 @@
3
3
  import type { Locator } from '@playwright/test';
4
4
  import { escapeRegex } from '../helpers/RegexHelper.js';
5
5
 
6
- export type ILookupDropdown = Locator & {
6
+ export type ILookupDropdown = Locator & ILookupDropdownCore;
7
+
8
+ export type ILookupDropdownCore = {
7
9
  lookupSelect(optionToSelect: string): Promise<void>;
8
10
  selectOption(optionText: string): Promise<void>;
9
11
  };
10
12
 
11
- class LookupDropdown {
13
+ class LookupDropdown implements ILookupDropdownCore {
12
14
  private _locator: Locator;
13
15
 
14
16
  constructor(locator: Locator) {
package/controls/index.ts CHANGED
@@ -1 +1,2 @@
1
+ export * from './FormComboBox.js';
1
2
  export * from './LookupDropdown.js';
@@ -52,7 +52,7 @@ export class InterfaceGenerator {
52
52
  const baseFileName = file.slice(0, file.lastIndexOf('.'));
53
53
  const correctInterfaceName = isInterface
54
54
  ? this._namingHandler.generateScreenInterfaceName(baseFileName)
55
- : this._namingHandler.snakeToPascalCase(baseFileName);
55
+ : this._namingHandler.toPascalCase(baseFileName);
56
56
  const schemaPath = path.join(schemasDirectory, file);
57
57
  const schemaContent = fs.readFileSync(schemaPath, 'utf-8');
58
58
  const schemaInput = new JSONSchemaInput(new FetchingJSONSchemaStore());
@@ -91,7 +91,7 @@ export class InterfaceGenerator {
91
91
  async generateInterfacesFromSchemaFiles(schemasDirectory, schemaType, outputPath) {
92
92
  const schemaFiles = this.getGeneratedSubjectSchemas(schemasDirectory);
93
93
  const tasks = schemaFiles.map(async (file) => {
94
- const fileName = this._namingHandler.getPascalSubjectComponentName(file); // here
94
+ const fileName = this._namingHandler.getPascalSubjectComponentName(file);
95
95
  if (schemaType === SchemaType.Subject) {
96
96
  const subject = this._namingHandler.getSubjectFromFileName(fileName);
97
97
  const componentsDirectory = this.verifySubjectComponentsDirectory(outputPath, subject);
@@ -99,7 +99,7 @@ export class InterfaceGenerator {
99
99
  return this.createInterfaceFromSchema(schemasDirectory, perFileOutputPath, file);
100
100
  }
101
101
  if (schemaType === SchemaType.Screen) {
102
- const fileNameSnakeCase = this._namingHandler.pascalToSnakeCase(fileName);
102
+ const fileNameSnakeCase = this._namingHandler.toSnakeCase(fileName);
103
103
  if (this._screensToBuild.length > 0 && !this._screensToBuild.includes(fileNameSnakeCase)) {
104
104
  return Promise.resolve(true);
105
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InterfaceGenerator.js","sourceRoot":"","sources":["../../artifact-builder/InterfaceGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InterfaceGenerator.js","sourceRoot":"","sources":["../../artifact-builder/InterfaceGenerator.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,7 @@ export class SchemaGenerator {
56
56
  return componentsToProcess;
57
57
  }
58
58
  getScreenContent(screenTypeId) {
59
- const screenFileName = this._namingHandler.formatPascalCaseName(screenTypeId);
59
+ const screenFileName = this._namingHandler.toPascalCase(screenTypeId);
60
60
  const _filename = fileURLToPath(import.meta.url);
61
61
  const _dirname = path.dirname(_filename);
62
62
  const screenLocation = path.resolve(_dirname, '..', '..', 'test-artifacts/screens/');
@@ -65,7 +65,7 @@ export class SchemaGenerator {
65
65
  createComponentSchema(subject, componentType) {
66
66
  const interfaceName = `${subject.subject}_${componentType.toLowerCase()}`;
67
67
  const schemasDir = path.join(currentDirname, '..', '..', 'dist/test-artifacts/schemas');
68
- const fileName = `${this._namingHandler.snakeToPascalCase(interfaceName)}.json`;
68
+ const fileName = `${this._namingHandler.toPascalCase(interfaceName)}.json`;
69
69
  if (fs.existsSync(path.join(schemasDir, fileName))) {
70
70
  return;
71
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaGenerator.js","sourceRoot":"","sources":["../../artifact-builder/SchemaGenerator.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAEhD,MAAM,OAAO,eAAe;IAI1B;QACE,IAAI,CAAC,cAAc,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,aAAa,EAAE,CAAC;IAC5C,CAAC;IAEM,cAAc;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,gCAAgC,CAAC,CAAC;QAElF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC;QAE1D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAEM,cAAc,CAAC,KAAe;QACnC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,qBAAqB;IACb,mBAAmB,CAAC,OAAiB;QAC3C,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACzE,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAEhE,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;YAC5C,QAAQ,SAAS,EAAE,CAAC;gBAClB,KAAK,MAAM;oBACT,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAC5C,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAC5C,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,MAA2B;QACxD,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,MAAM,sBAAsB,GAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE1D,MAAM,WAAW,GAAG,6EAA6E,CAAC;QAClG,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvD,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,MAAM,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5F,kBAAkB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBACvC,IAAI,sBAAsB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/C,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAEO,gBAAgB,CAAC,YAAoB;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAC9E,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,yBAAyB,CAAC,CAAC;QAErF,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,cAAc,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IACtF,CAAC;IAEO,qBAAqB,CAAC,OAAiB,EAAE,aAAgC;QAC/E,MAAM,aAAa,GAAG,GAAG,OAAO,CAAC,OAAO,IAAI,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,6BAA6B,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC;QAEhF,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YACnD,OAAO;QACT,CAAC;QAED,wDAAwD;QACxD,MAAM,eAAe,GAAQ;YAC3B,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE,KAAK;YAC3B,WAAW,EAAE;gBACX,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC7B;oBACD,QAAQ,EAAE,CAAC,UAAU,CAAC;oBACtB,oBAAoB,EAAE,KAAK;iBAC5B;aACF;SACF,CAAC;QAEF,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACtC,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,+CAA+C,CAC7F,QAAQ,CAAC,YAAY,EACrB,aAAa,CACd,CAAC;YACF,MAAM,SAAS,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAE/E,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;YAC1E,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC;CACF"}
1
+ {"version":3,"file":"SchemaGenerator.js","sourceRoot":"","sources":["../../artifact-builder/SchemaGenerator.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare class SelectorBuilder {
6
6
  private determineSelectorSuffix;
7
7
  private getDefaultPrefix;
8
8
  private getDefaultSuffix;
9
+ getElementId(property: string, componentName: SubjectComponents): string;
9
10
  getPageLocatorString(property: string, componentName: SubjectComponents): string;
10
11
  private getLocatorType;
11
12
  getPageContext(subject: ISubject): string;
@@ -42,8 +42,11 @@ export class SelectorBuilder {
42
42
  }
43
43
  return suffix;
44
44
  }
45
+ getElementId(property, componentName) {
46
+ return this._namingHandler.getIdFromElementName(property, componentName, this._namingHandler.getElementTypeFromElementName(property));
47
+ }
45
48
  getPageLocatorString(property, componentName) {
46
- let elementId = this._namingHandler.getIdFromElementName(property, componentName, this._namingHandler.getElementTypeFromElementName(property));
49
+ let elementId = this.getElementId(property, componentName);
47
50
  if (componentName === 'Grid')
48
51
  elementId = elementId.replace(/-/g, '_');
49
52
  const selectorPrefix = this.getDefaultPrefix(componentName);
@@ -1 +1 @@
1
- {"version":3,"file":"SelectorBuilder.js","sourceRoot":"","sources":["../../artifact-builder/SelectorBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectorBuilder.js","sourceRoot":"","sources":["../../artifact-builder/SelectorBuilder.ts"],"names":[],"mappings":"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"}
@@ -16,9 +16,9 @@ export declare class SubjectComponentGenerator {
16
16
  private getSubjectFolderPath;
17
17
  private verifyDirectoryExists;
18
18
  private getPropertyInitializations;
19
- private addLookupImportIfRequired;
19
+ private addImportsDynamically;
20
20
  private generatePropertyDeclarations;
21
- private transformLookupTypes;
21
+ private transformInterfaceTypes;
22
22
  private convertStringsToArray;
23
23
  private getPropertyNamesFromInterface;
24
24
  private setSubjectExtendsComponent;