All files / contracts/_collections/utils test-id.util.ts

100% Statements 29/29
100% Branches 5/5
100% Functions 5/5
100% Lines 29/29

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 301x 1x 1x 1x 1x 1x 1x 218x 218x 1x 1x 1x 1x 1x 1x 22x 22x 1x 1x 3x 3x 1x 1x 462x 462x 462x 462x 462x 1x  
/**
 * Selector-konvenció util-ok a generator + runtime közös testId-formálásához.
 *
 * Konvenció: `<route>-<form-key>-<field-key>` — minden szegmens kebab-case.
 */
export class DyE2E_TestId_Util {
  static field(formKey: string, fieldKey: string): string {
    return `${DyE2E_TestId_Util.toKebab(formKey)}-${DyE2E_TestId_Util.toKebab(fieldKey)}`;
  }
 
  static form(formKey: string): string {
    return `${DyE2E_TestId_Util.toKebab(formKey)}-form`;
  }
 
  static formSubmit(formKey: string): string {
    return `${DyE2E_TestId_Util.toKebab(formKey)}-submit`;
  }
 
  static formCancel(formKey: string): string {
    return `${DyE2E_TestId_Util.toKebab(formKey)}-cancel`;
  }
 
  static toKebab(s: string): string {
    return s
      .replace(/([a-z0-9])([A-Z])/g, '$1-$2')
      .replace(/[\s_]+/g, '-')
      .toLowerCase();
  }
}