@idea-ionic/auth 8.2.16 → 8.2.18

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.
@@ -1620,7 +1620,7 @@ class IDEASignInPage {
1620
1620
  </ion-card-header>
1621
1621
  <ion-card-content>
1622
1622
  @if (errorMsg) {
1623
- <p class="errorBox">
1623
+ <p testId="signin.error" class="errorBox">
1624
1624
  <b>{{ 'IDEA_AUTH.WARNING' | translate }}.</b> {{ errorMsg }}
1625
1625
  </p>
1626
1626
  }
@@ -1629,6 +1629,7 @@ class IDEASignInPage {
1629
1629
  <ion-icon name="person-circle" color="primary" />
1630
1630
  </ion-label>
1631
1631
  <ion-input
1632
+ testId="signin.email"
1632
1633
  type="email"
1633
1634
  inputmode="email"
1634
1635
  pattern="[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}"
@@ -1647,6 +1648,7 @@ class IDEASignInPage {
1647
1648
  <ion-icon name="key" color="primary" />
1648
1649
  </ion-label>
1649
1650
  <ion-input
1651
+ testId="signin.password"
1650
1652
  id="current-password"
1651
1653
  type="password"
1652
1654
  spellcheck="false"
@@ -1672,6 +1674,7 @@ class IDEASignInPage {
1672
1674
  @if (translationExists('IDEA_VARIABLES.TERMS_AND_CONDITIONS_URL')) {
1673
1675
  <a
1674
1676
  ion-text
1677
+ testId="openTermsAndConditionsButton"
1675
1678
  color="primary"
1676
1679
  target="_blank"
1677
1680
  [title]="'IDEA_AUTH.TERMS_AND_CONDITIONS_HINT' | translate"
@@ -1689,6 +1692,7 @@ class IDEASignInPage {
1689
1692
  @if (translationExists('IDEA_VARIABLES.PRIVACY_POLICY_URL')) {
1690
1693
  <a
1691
1694
  ion-text
1695
+ testId="openPrivacyPolicyButton"
1692
1696
  color="primary"
1693
1697
  target="_blank"
1694
1698
  [title]="'IDEA_AUTH.PRIVACY_POLICY_HINT' | translate"
@@ -1701,6 +1705,7 @@ class IDEASignInPage {
1701
1705
  </ion-row>
1702
1706
  }
1703
1707
  <ion-button
1708
+ testId="signInButton"
1704
1709
  expand="block"
1705
1710
  [disabled]="!agreementsCheck"
1706
1711
  [title]="'IDEA_AUTH.SIGN_IN_HINT' | translate"
@@ -1710,6 +1715,7 @@ class IDEASignInPage {
1710
1715
  </ion-button>
1711
1716
  @if (registrationPossible) {
1712
1717
  <ion-button
1718
+ testId="createAnAccountButton"
1713
1719
  fill="clear"
1714
1720
  expand="block"
1715
1721
  class="smallCaseButton"
@@ -1720,6 +1726,7 @@ class IDEASignInPage {
1720
1726
  </ion-button>
1721
1727
  }
1722
1728
  <ion-button
1729
+ testId="forgotPasswordButton"
1723
1730
  fill="clear"
1724
1731
  expand="block"
1725
1732
  class="smallCaseButton"
@@ -1730,6 +1737,7 @@ class IDEASignInPage {
1730
1737
  </ion-button>
1731
1738
  @if (hasIntroPage) {
1732
1739
  <ion-button
1740
+ testId="backToIntroButton"
1733
1741
  fill="clear"
1734
1742
  expand="block"
1735
1743
  color="medium"
@@ -1801,7 +1809,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1801
1809
  </ion-card-header>
1802
1810
  <ion-card-content>
1803
1811
  @if (errorMsg) {
1804
- <p class="errorBox">
1812
+ <p testId="signin.error" class="errorBox">
1805
1813
  <b>{{ 'IDEA_AUTH.WARNING' | translate }}.</b> {{ errorMsg }}
1806
1814
  </p>
1807
1815
  }
@@ -1810,6 +1818,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1810
1818
  <ion-icon name="person-circle" color="primary" />
1811
1819
  </ion-label>
1812
1820
  <ion-input
1821
+ testId="signin.email"
1813
1822
  type="email"
1814
1823
  inputmode="email"
1815
1824
  pattern="[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}"
@@ -1828,6 +1837,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1828
1837
  <ion-icon name="key" color="primary" />
1829
1838
  </ion-label>
1830
1839
  <ion-input
1840
+ testId="signin.password"
1831
1841
  id="current-password"
1832
1842
  type="password"
1833
1843
  spellcheck="false"
@@ -1853,6 +1863,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1853
1863
  @if (translationExists('IDEA_VARIABLES.TERMS_AND_CONDITIONS_URL')) {
1854
1864
  <a
1855
1865
  ion-text
1866
+ testId="openTermsAndConditionsButton"
1856
1867
  color="primary"
1857
1868
  target="_blank"
1858
1869
  [title]="'IDEA_AUTH.TERMS_AND_CONDITIONS_HINT' | translate"
@@ -1870,6 +1881,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1870
1881
  @if (translationExists('IDEA_VARIABLES.PRIVACY_POLICY_URL')) {
1871
1882
  <a
1872
1883
  ion-text
1884
+ testId="openPrivacyPolicyButton"
1873
1885
  color="primary"
1874
1886
  target="_blank"
1875
1887
  [title]="'IDEA_AUTH.PRIVACY_POLICY_HINT' | translate"
@@ -1882,6 +1894,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1882
1894
  </ion-row>
1883
1895
  }
1884
1896
  <ion-button
1897
+ testId="signInButton"
1885
1898
  expand="block"
1886
1899
  [disabled]="!agreementsCheck"
1887
1900
  [title]="'IDEA_AUTH.SIGN_IN_HINT' | translate"
@@ -1891,6 +1904,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1891
1904
  </ion-button>
1892
1905
  @if (registrationPossible) {
1893
1906
  <ion-button
1907
+ testId="createAnAccountButton"
1894
1908
  fill="clear"
1895
1909
  expand="block"
1896
1910
  class="smallCaseButton"
@@ -1901,6 +1915,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1901
1915
  </ion-button>
1902
1916
  }
1903
1917
  <ion-button
1918
+ testId="forgotPasswordButton"
1904
1919
  fill="clear"
1905
1920
  expand="block"
1906
1921
  class="smallCaseButton"
@@ -1911,6 +1926,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1911
1926
  </ion-button>
1912
1927
  @if (hasIntroPage) {
1913
1928
  <ion-button
1929
+ testId="backToIntroButton"
1914
1930
  fill="clear"
1915
1931
  expand="block"
1916
1932
  color="medium"
@@ -2090,7 +2106,7 @@ class IDEASignUpPage {
2090
2106
  </ion-card-header>
2091
2107
  <ion-card-content>
2092
2108
  @if (errorMsg) {
2093
- <p class="errorBox">
2109
+ <p testId="signup.error" class="errorBox">
2094
2110
  <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>
2095
2111
  {{ errorMsg }}
2096
2112
  </p>
@@ -2100,6 +2116,7 @@ class IDEASignUpPage {
2100
2116
  <ion-icon name="person-circle" color="primary" />
2101
2117
  </ion-label>
2102
2118
  <ion-input
2119
+ testId="signup.email"
2103
2120
  type="email"
2104
2121
  inputmode="email"
2105
2122
  pattern="[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}"
@@ -2118,6 +2135,7 @@ class IDEASignUpPage {
2118
2135
  <ion-icon name="key" color="primary" />
2119
2136
  </ion-label>
2120
2137
  <ion-input
2138
+ testId="signup.password"
2121
2139
  type="password"
2122
2140
  spellcheck="false"
2123
2141
  autocorrect="off"
@@ -2130,7 +2148,13 @@ class IDEASignUpPage {
2130
2148
  [(ngModel)]="password"
2131
2149
  (keyup.enter)="register()"
2132
2150
  />
2133
- <ion-button slot="end" fill="clear" color="dark" (click)="openPasswordPolicy($event)">
2151
+ <ion-button
2152
+ testId="openPasswordPolicyButton"
2153
+ slot="end"
2154
+ fill="clear"
2155
+ color="dark"
2156
+ (click)="openPasswordPolicy($event)"
2157
+ >
2134
2158
  <ion-icon icon="help-circle-outline" slot="icon-only" />
2135
2159
  </ion-button>
2136
2160
  </ion-item>
@@ -2145,6 +2169,7 @@ class IDEASignUpPage {
2145
2169
  @if (translationExists('IDEA_VARIABLES.TERMS_AND_CONDITIONS_URL')) {
2146
2170
  <a
2147
2171
  ion-text
2172
+ testId="openTermsAndConditionsButton"
2148
2173
  color="primary"
2149
2174
  target="_blank"
2150
2175
  [title]="'IDEA_AUTH.TERMS_AND_CONDITIONS_HINT' | translate"
@@ -2162,6 +2187,7 @@ class IDEASignUpPage {
2162
2187
  @if (translationExists('IDEA_VARIABLES.PRIVACY_POLICY_URL')) {
2163
2188
  <a
2164
2189
  ion-text
2190
+ testId="openPrivacyPolicyButton"
2165
2191
  color="primary"
2166
2192
  target="_blank"
2167
2193
  [title]="'IDEA_AUTH.PRIVACY_POLICY_HINT' | translate"
@@ -2174,6 +2200,7 @@ class IDEASignUpPage {
2174
2200
  </ion-row>
2175
2201
  }
2176
2202
  <ion-button
2203
+ testId="signUpButton"
2177
2204
  expand="block"
2178
2205
  [disabled]="!agreementsCheck"
2179
2206
  [title]="'IDEA_AUTH.CREATE_AN_ACCOUNT_HINT' | translate"
@@ -2182,6 +2209,7 @@ class IDEASignUpPage {
2182
2209
  {{ 'IDEA_AUTH.CREATE_AN_ACCOUNT' | translate }}
2183
2210
  </ion-button>
2184
2211
  <ion-button
2212
+ testId="resendLinkButton"
2185
2213
  fill="clear"
2186
2214
  expand="block"
2187
2215
  class="smallCaseButton"
@@ -2191,6 +2219,7 @@ class IDEASignUpPage {
2191
2219
  {{ 'IDEA_AUTH.HAVEN_T_RECEIVED_CONFIRMATION_LINK' | translate }}
2192
2220
  </ion-button>
2193
2221
  <ion-button
2222
+ testId="backToSignInButton"
2194
2223
  fill="clear"
2195
2224
  expand="block"
2196
2225
  class="smallCaseButton"
@@ -2236,7 +2265,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2236
2265
  </ion-card-header>
2237
2266
  <ion-card-content>
2238
2267
  @if (errorMsg) {
2239
- <p class="errorBox">
2268
+ <p testId="signup.error" class="errorBox">
2240
2269
  <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>
2241
2270
  {{ errorMsg }}
2242
2271
  </p>
@@ -2246,6 +2275,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2246
2275
  <ion-icon name="person-circle" color="primary" />
2247
2276
  </ion-label>
2248
2277
  <ion-input
2278
+ testId="signup.email"
2249
2279
  type="email"
2250
2280
  inputmode="email"
2251
2281
  pattern="[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}"
@@ -2264,6 +2294,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2264
2294
  <ion-icon name="key" color="primary" />
2265
2295
  </ion-label>
2266
2296
  <ion-input
2297
+ testId="signup.password"
2267
2298
  type="password"
2268
2299
  spellcheck="false"
2269
2300
  autocorrect="off"
@@ -2276,7 +2307,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2276
2307
  [(ngModel)]="password"
2277
2308
  (keyup.enter)="register()"
2278
2309
  />
2279
- <ion-button slot="end" fill="clear" color="dark" (click)="openPasswordPolicy($event)">
2310
+ <ion-button
2311
+ testId="openPasswordPolicyButton"
2312
+ slot="end"
2313
+ fill="clear"
2314
+ color="dark"
2315
+ (click)="openPasswordPolicy($event)"
2316
+ >
2280
2317
  <ion-icon icon="help-circle-outline" slot="icon-only" />
2281
2318
  </ion-button>
2282
2319
  </ion-item>
@@ -2291,6 +2328,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2291
2328
  @if (translationExists('IDEA_VARIABLES.TERMS_AND_CONDITIONS_URL')) {
2292
2329
  <a
2293
2330
  ion-text
2331
+ testId="openTermsAndConditionsButton"
2294
2332
  color="primary"
2295
2333
  target="_blank"
2296
2334
  [title]="'IDEA_AUTH.TERMS_AND_CONDITIONS_HINT' | translate"
@@ -2308,6 +2346,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2308
2346
  @if (translationExists('IDEA_VARIABLES.PRIVACY_POLICY_URL')) {
2309
2347
  <a
2310
2348
  ion-text
2349
+ testId="openPrivacyPolicyButton"
2311
2350
  color="primary"
2312
2351
  target="_blank"
2313
2352
  [title]="'IDEA_AUTH.PRIVACY_POLICY_HINT' | translate"
@@ -2320,6 +2359,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2320
2359
  </ion-row>
2321
2360
  }
2322
2361
  <ion-button
2362
+ testId="signUpButton"
2323
2363
  expand="block"
2324
2364
  [disabled]="!agreementsCheck"
2325
2365
  [title]="'IDEA_AUTH.CREATE_AN_ACCOUNT_HINT' | translate"
@@ -2328,6 +2368,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2328
2368
  {{ 'IDEA_AUTH.CREATE_AN_ACCOUNT' | translate }}
2329
2369
  </ion-button>
2330
2370
  <ion-button
2371
+ testId="resendLinkButton"
2331
2372
  fill="clear"
2332
2373
  expand="block"
2333
2374
  class="smallCaseButton"
@@ -2337,6 +2378,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2337
2378
  {{ 'IDEA_AUTH.HAVEN_T_RECEIVED_CONFIRMATION_LINK' | translate }}
2338
2379
  </ion-button>
2339
2380
  <ion-button
2381
+ testId="backToSignInButton"
2340
2382
  fill="clear"
2341
2383
  expand="block"
2342
2384
  class="smallCaseButton"
@@ -2411,7 +2453,7 @@ class IDEANewPasswordPage {
2411
2453
  </ion-card-header>
2412
2454
  <ion-card-content>
2413
2455
  @if (errorMsg) {
2414
- <p class="errorBox">
2456
+ <p testId="newpassword.error" class="errorBox">
2415
2457
  <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>
2416
2458
  {{ errorMsg }}
2417
2459
  </p>
@@ -2421,6 +2463,7 @@ class IDEANewPasswordPage {
2421
2463
  <ion-icon name="key" color="primary" />
2422
2464
  </ion-label>
2423
2465
  <ion-input
2466
+ testId="newpassword.password"
2424
2467
  type="password"
2425
2468
  spellcheck="false"
2426
2469
  autocorrect="off"
@@ -2433,11 +2476,18 @@ class IDEANewPasswordPage {
2433
2476
  [(ngModel)]="newPassword"
2434
2477
  (keyup.enter)="confirmNewPassword()"
2435
2478
  />
2436
- <ion-button slot="end" fill="clear" color="dark" (click)="openPasswordPolicy($event)">
2479
+ <ion-button
2480
+ testId="openPasswordPolicyButton"
2481
+ slot="end"
2482
+ fill="clear"
2483
+ color="dark"
2484
+ (click)="openPasswordPolicy($event)"
2485
+ >
2437
2486
  <ion-icon icon="help-circle-outline" slot="icon-only" />
2438
2487
  </ion-button>
2439
2488
  </ion-item>
2440
2489
  <ion-button
2490
+ testId="confirmNewPaswordButton"
2441
2491
  expand="block"
2442
2492
  [title]="'IDEA_AUTH.CONFIRM_NEW_PASSWORD_HINT' | translate"
2443
2493
  (click)="confirmNewPassword()"
@@ -2445,6 +2495,7 @@ class IDEANewPasswordPage {
2445
2495
  {{ 'IDEA_AUTH.CONFIRM_NEW_PASSWORD' | translate }}
2446
2496
  </ion-button>
2447
2497
  <ion-button
2498
+ testId="backToSignInButton"
2448
2499
  fill="clear"
2449
2500
  expand="block"
2450
2501
  class="smallCaseButton"
@@ -2486,7 +2537,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2486
2537
  </ion-card-header>
2487
2538
  <ion-card-content>
2488
2539
  @if (errorMsg) {
2489
- <p class="errorBox">
2540
+ <p testId="newpassword.error" class="errorBox">
2490
2541
  <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>
2491
2542
  {{ errorMsg }}
2492
2543
  </p>
@@ -2496,6 +2547,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2496
2547
  <ion-icon name="key" color="primary" />
2497
2548
  </ion-label>
2498
2549
  <ion-input
2550
+ testId="newpassword.password"
2499
2551
  type="password"
2500
2552
  spellcheck="false"
2501
2553
  autocorrect="off"
@@ -2508,11 +2560,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2508
2560
  [(ngModel)]="newPassword"
2509
2561
  (keyup.enter)="confirmNewPassword()"
2510
2562
  />
2511
- <ion-button slot="end" fill="clear" color="dark" (click)="openPasswordPolicy($event)">
2563
+ <ion-button
2564
+ testId="openPasswordPolicyButton"
2565
+ slot="end"
2566
+ fill="clear"
2567
+ color="dark"
2568
+ (click)="openPasswordPolicy($event)"
2569
+ >
2512
2570
  <ion-icon icon="help-circle-outline" slot="icon-only" />
2513
2571
  </ion-button>
2514
2572
  </ion-item>
2515
2573
  <ion-button
2574
+ testId="confirmNewPaswordButton"
2516
2575
  expand="block"
2517
2576
  [title]="'IDEA_AUTH.CONFIRM_NEW_PASSWORD_HINT' | translate"
2518
2577
  (click)="confirmNewPassword()"
@@ -2520,6 +2579,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2520
2579
  {{ 'IDEA_AUTH.CONFIRM_NEW_PASSWORD' | translate }}
2521
2580
  </ion-button>
2522
2581
  <ion-button
2582
+ testId="backToSignInButton"
2523
2583
  fill="clear"
2524
2584
  expand="block"
2525
2585
  class="smallCaseButton"
@@ -2578,7 +2638,7 @@ class IDEAResendLinkPage {
2578
2638
  </ion-card-header>
2579
2639
  <ion-card-content>
2580
2640
  @if (errorMsg) {
2581
- <p class="errorBox">
2641
+ <p testId="resendlink.error" class="errorBox">
2582
2642
  <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>
2583
2643
  {{ errorMsg }}
2584
2644
  </p>
@@ -2588,6 +2648,7 @@ class IDEAResendLinkPage {
2588
2648
  <ion-icon name="person-circle" color="primary" />
2589
2649
  </ion-label>
2590
2650
  <ion-input
2651
+ testId="resendlink.email"
2591
2652
  type="email"
2592
2653
  inputmode="email"
2593
2654
  pattern="[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}"
@@ -2602,6 +2663,7 @@ class IDEAResendLinkPage {
2602
2663
  />
2603
2664
  </ion-item>
2604
2665
  <ion-button
2666
+ testId="resendLinkButton"
2605
2667
  expand="block"
2606
2668
  [title]="'IDEA_AUTH.RESEND_LINK_HINT' | translate"
2607
2669
  (click)="resendConfirmationLink()"
@@ -2609,6 +2671,7 @@ class IDEAResendLinkPage {
2609
2671
  {{ 'IDEA_AUTH.RESEND_LINK' | translate }}
2610
2672
  </ion-button>
2611
2673
  <ion-button
2674
+ testId="backToSignInButton"
2612
2675
  fill="clear"
2613
2676
  expand="block"
2614
2677
  class="smallCaseButton"
@@ -2651,7 +2714,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2651
2714
  </ion-card-header>
2652
2715
  <ion-card-content>
2653
2716
  @if (errorMsg) {
2654
- <p class="errorBox">
2717
+ <p testId="resendlink.error" class="errorBox">
2655
2718
  <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>
2656
2719
  {{ errorMsg }}
2657
2720
  </p>
@@ -2661,6 +2724,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2661
2724
  <ion-icon name="person-circle" color="primary" />
2662
2725
  </ion-label>
2663
2726
  <ion-input
2727
+ testId="resendlink.email"
2664
2728
  type="email"
2665
2729
  inputmode="email"
2666
2730
  pattern="[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}"
@@ -2675,6 +2739,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2675
2739
  />
2676
2740
  </ion-item>
2677
2741
  <ion-button
2742
+ testId="resendLinkButton"
2678
2743
  expand="block"
2679
2744
  [title]="'IDEA_AUTH.RESEND_LINK_HINT' | translate"
2680
2745
  (click)="resendConfirmationLink()"
@@ -2682,6 +2747,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2682
2747
  {{ 'IDEA_AUTH.RESEND_LINK' | translate }}
2683
2748
  </ion-button>
2684
2749
  <ion-button
2750
+ testId="backToSignInButton"
2685
2751
  fill="clear"
2686
2752
  expand="block"
2687
2753
  class="smallCaseButton"
@@ -2739,6 +2805,7 @@ class IDEAForgotPasswordPage {
2739
2805
  <ion-icon name="person-circle" color="primary" />
2740
2806
  </ion-label>
2741
2807
  <ion-input
2808
+ testId="forgotpassword.email"
2742
2809
  type="email"
2743
2810
  inputmode="email"
2744
2811
  pattern="[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}"
@@ -2753,6 +2820,7 @@ class IDEAForgotPasswordPage {
2753
2820
  />
2754
2821
  </ion-item>
2755
2822
  <ion-button
2823
+ testId="resetPasswordButton"
2756
2824
  expand="block"
2757
2825
  [title]="'IDEA_AUTH.RESET_MY_PASSWORD_HINT' | translate"
2758
2826
  (click)="forgotPassword()"
@@ -2760,6 +2828,7 @@ class IDEAForgotPasswordPage {
2760
2828
  {{ 'IDEA_AUTH.RESET_MY_PASSWORD' | translate }}
2761
2829
  </ion-button>
2762
2830
  <ion-button
2831
+ testId="insertResetCodeButton"
2763
2832
  fill="clear"
2764
2833
  expand="block"
2765
2834
  class="smallCaseButton"
@@ -2769,6 +2838,7 @@ class IDEAForgotPasswordPage {
2769
2838
  {{ 'IDEA_AUTH.ALREADY_HAVE_A_RESET_CODE' | translate }}
2770
2839
  </ion-button>
2771
2840
  <ion-button
2841
+ testId="backToSignInButton"
2772
2842
  fill="clear"
2773
2843
  expand="block"
2774
2844
  class="smallCaseButton"
@@ -2814,6 +2884,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2814
2884
  <ion-icon name="person-circle" color="primary" />
2815
2885
  </ion-label>
2816
2886
  <ion-input
2887
+ testId="forgotpassword.email"
2817
2888
  type="email"
2818
2889
  inputmode="email"
2819
2890
  pattern="[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}"
@@ -2828,6 +2899,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2828
2899
  />
2829
2900
  </ion-item>
2830
2901
  <ion-button
2902
+ testId="resetPasswordButton"
2831
2903
  expand="block"
2832
2904
  [title]="'IDEA_AUTH.RESET_MY_PASSWORD_HINT' | translate"
2833
2905
  (click)="forgotPassword()"
@@ -2835,6 +2907,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2835
2907
  {{ 'IDEA_AUTH.RESET_MY_PASSWORD' | translate }}
2836
2908
  </ion-button>
2837
2909
  <ion-button
2910
+ testId="insertResetCodeButton"
2838
2911
  fill="clear"
2839
2912
  expand="block"
2840
2913
  class="smallCaseButton"
@@ -2844,6 +2917,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
2844
2917
  {{ 'IDEA_AUTH.ALREADY_HAVE_A_RESET_CODE' | translate }}
2845
2918
  </ion-button>
2846
2919
  <ion-button
2920
+ testId="backToSignInButton"
2847
2921
  fill="clear"
2848
2922
  expand="block"
2849
2923
  class="smallCaseButton"
@@ -2926,7 +3000,7 @@ class IDEAConfirmPasswordPage {
2926
3000
  </ion-card-header>
2927
3001
  <ion-card-content>
2928
3002
  @if (errorMsg) {
2929
- <p class="errorBox">
3003
+ <p testId="confirmpassword.error" class="errorBox">
2930
3004
  <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>
2931
3005
  {{ errorMsg }}
2932
3006
  </p>
@@ -2936,6 +3010,7 @@ class IDEAConfirmPasswordPage {
2936
3010
  <ion-icon name="person-circle" color="primary" />
2937
3011
  </ion-label>
2938
3012
  <ion-input
3013
+ testId="confirmpassword.email"
2939
3014
  type="email"
2940
3015
  inputmode="email"
2941
3016
  pattern="[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}"
@@ -2954,6 +3029,7 @@ class IDEAConfirmPasswordPage {
2954
3029
  <ion-icon name="disc" color="primary" />
2955
3030
  </ion-label>
2956
3031
  <ion-input
3032
+ testId="confirmpassword.code"
2957
3033
  type="text"
2958
3034
  spellcheck="false"
2959
3035
  autocorrect="off"
@@ -2970,6 +3046,7 @@ class IDEAConfirmPasswordPage {
2970
3046
  <ion-icon name="key" color="primary" />
2971
3047
  </ion-label>
2972
3048
  <ion-input
3049
+ testId="confirmpassword.password"
2973
3050
  type="password"
2974
3051
  spellcheck="false"
2975
3052
  autocorrect="off"
@@ -2982,11 +3059,18 @@ class IDEAConfirmPasswordPage {
2982
3059
  [(ngModel)]="newPassword"
2983
3060
  (keyup.enter)="confirmPassword()"
2984
3061
  />
2985
- <ion-button slot="end" fill="clear" color="dark" (click)="openPasswordPolicy($event)">
3062
+ <ion-button
3063
+ testId="openPasswordPolicyButton"
3064
+ slot="end"
3065
+ fill="clear"
3066
+ color="dark"
3067
+ (click)="openPasswordPolicy($event)"
3068
+ >
2986
3069
  <ion-icon icon="help-circle-outline" slot="icon-only" />
2987
3070
  </ion-button>
2988
3071
  </ion-item>
2989
3072
  <ion-button
3073
+ testId="changePasswordButton"
2990
3074
  expand="block"
2991
3075
  [title]="'IDEA_AUTH.CHANGE_MY_PASSWORD_HINT' | translate"
2992
3076
  (click)="confirmPassword()"
@@ -2994,6 +3078,7 @@ class IDEAConfirmPasswordPage {
2994
3078
  {{ 'IDEA_AUTH.CHANGE_MY_PASSWORD' | translate }}
2995
3079
  </ion-button>
2996
3080
  <ion-button
3081
+ testId="haventReceivedResetCodeButton"
2997
3082
  fill="clear"
2998
3083
  expand="block"
2999
3084
  class="smallCaseButton"
@@ -3003,6 +3088,7 @@ class IDEAConfirmPasswordPage {
3003
3088
  {{ 'IDEA_AUTH.HAVEN_T_RECEIVED_A_RESET_CODE' | translate }}
3004
3089
  </ion-button>
3005
3090
  <ion-button
3091
+ testId="backToSignInButton"
3006
3092
  fill="clear"
3007
3093
  expand="block"
3008
3094
  class="smallCaseButton"
@@ -3042,7 +3128,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
3042
3128
  </ion-card-header>
3043
3129
  <ion-card-content>
3044
3130
  @if (errorMsg) {
3045
- <p class="errorBox">
3131
+ <p testId="confirmpassword.error" class="errorBox">
3046
3132
  <b> {{ 'IDEA_AUTH.ERROR' | translate }}. </b>
3047
3133
  {{ errorMsg }}
3048
3134
  </p>
@@ -3052,6 +3138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
3052
3138
  <ion-icon name="person-circle" color="primary" />
3053
3139
  </ion-label>
3054
3140
  <ion-input
3141
+ testId="confirmpassword.email"
3055
3142
  type="email"
3056
3143
  inputmode="email"
3057
3144
  pattern="[A-Za-z0-9._%+-]{2,}@[a-zA-Z-_.]{2,}[.]{1}[a-zA-Z]{2,}"
@@ -3070,6 +3157,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
3070
3157
  <ion-icon name="disc" color="primary" />
3071
3158
  </ion-label>
3072
3159
  <ion-input
3160
+ testId="confirmpassword.code"
3073
3161
  type="text"
3074
3162
  spellcheck="false"
3075
3163
  autocorrect="off"
@@ -3086,6 +3174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
3086
3174
  <ion-icon name="key" color="primary" />
3087
3175
  </ion-label>
3088
3176
  <ion-input
3177
+ testId="confirmpassword.password"
3089
3178
  type="password"
3090
3179
  spellcheck="false"
3091
3180
  autocorrect="off"
@@ -3098,11 +3187,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
3098
3187
  [(ngModel)]="newPassword"
3099
3188
  (keyup.enter)="confirmPassword()"
3100
3189
  />
3101
- <ion-button slot="end" fill="clear" color="dark" (click)="openPasswordPolicy($event)">
3190
+ <ion-button
3191
+ testId="openPasswordPolicyButton"
3192
+ slot="end"
3193
+ fill="clear"
3194
+ color="dark"
3195
+ (click)="openPasswordPolicy($event)"
3196
+ >
3102
3197
  <ion-icon icon="help-circle-outline" slot="icon-only" />
3103
3198
  </ion-button>
3104
3199
  </ion-item>
3105
3200
  <ion-button
3201
+ testId="changePasswordButton"
3106
3202
  expand="block"
3107
3203
  [title]="'IDEA_AUTH.CHANGE_MY_PASSWORD_HINT' | translate"
3108
3204
  (click)="confirmPassword()"
@@ -3110,6 +3206,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
3110
3206
  {{ 'IDEA_AUTH.CHANGE_MY_PASSWORD' | translate }}
3111
3207
  </ion-button>
3112
3208
  <ion-button
3209
+ testId="haventReceivedResetCodeButton"
3113
3210
  fill="clear"
3114
3211
  expand="block"
3115
3212
  class="smallCaseButton"
@@ -3119,6 +3216,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
3119
3216
  {{ 'IDEA_AUTH.HAVEN_T_RECEIVED_A_RESET_CODE' | translate }}
3120
3217
  </ion-button>
3121
3218
  <ion-button
3219
+ testId="backToSignInButton"
3122
3220
  fill="clear"
3123
3221
  expand="block"
3124
3222
  class="smallCaseButton"
@@ -3175,7 +3273,7 @@ class IDEAMFAChallengePage {
3175
3273
  </ion-card-header>
3176
3274
  <ion-card-content>
3177
3275
  @if (errorMsg) {
3178
- <p class="errorBox">
3276
+ <p testId="mfachallenge.error" class="errorBox">
3179
3277
  <b>{{ 'IDEA_AUTH.ERROR' | translate }}.</b>
3180
3278
  {{ errorMsg }}
3181
3279
  </p>
@@ -3185,6 +3283,7 @@ class IDEAMFAChallengePage {
3185
3283
  <ion-icon name="key" color="primary" />
3186
3284
  </ion-label>
3187
3285
  <ion-input
3286
+ testId="mfachallenge.otpcode"
3188
3287
  inputmode="numeric"
3189
3288
  [placeholder]="'IDEA_AUTH.OTP_CODE' | translate"
3190
3289
  [title]="'IDEA_AUTH.ENTER_OTP_CODE' | translate"
@@ -3194,6 +3293,7 @@ class IDEAMFAChallengePage {
3194
3293
  />
3195
3294
  </ion-item>
3196
3295
  <ion-button
3296
+ testId="confirmOTPCodeButton"
3197
3297
  expand="block"
3198
3298
  [title]="'IDEA_AUTH.CONFIRM_OTP_CODE_HINT' | translate"
3199
3299
  (click)="completeMFAChallenge()"
@@ -3201,6 +3301,7 @@ class IDEAMFAChallengePage {
3201
3301
  {{ 'IDEA_AUTH.CONFIRM_OTP_CODE' | translate }}
3202
3302
  </ion-button>
3203
3303
  <ion-button
3304
+ testId="backToSignInButton"
3204
3305
  fill="clear"
3205
3306
  expand="block"
3206
3307
  class="smallCaseButton"
@@ -3242,7 +3343,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
3242
3343
  </ion-card-header>
3243
3344
  <ion-card-content>
3244
3345
  @if (errorMsg) {
3245
- <p class="errorBox">
3346
+ <p testId="mfachallenge.error" class="errorBox">
3246
3347
  <b>{{ 'IDEA_AUTH.ERROR' | translate }}.</b>
3247
3348
  {{ errorMsg }}
3248
3349
  </p>
@@ -3252,6 +3353,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
3252
3353
  <ion-icon name="key" color="primary" />
3253
3354
  </ion-label>
3254
3355
  <ion-input
3356
+ testId="mfachallenge.otpcode"
3255
3357
  inputmode="numeric"
3256
3358
  [placeholder]="'IDEA_AUTH.OTP_CODE' | translate"
3257
3359
  [title]="'IDEA_AUTH.ENTER_OTP_CODE' | translate"
@@ -3261,6 +3363,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
3261
3363
  />
3262
3364
  </ion-item>
3263
3365
  <ion-button
3366
+ testId="confirmOTPCodeButton"
3264
3367
  expand="block"
3265
3368
  [title]="'IDEA_AUTH.CONFIRM_OTP_CODE_HINT' | translate"
3266
3369
  (click)="completeMFAChallenge()"
@@ -3268,6 +3371,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
3268
3371
  {{ 'IDEA_AUTH.CONFIRM_OTP_CODE' | translate }}
3269
3372
  </ion-button>
3270
3373
  <ion-button
3374
+ testId="backToSignInButton"
3271
3375
  fill="clear"
3272
3376
  expand="block"
3273
3377
  class="smallCaseButton"
@@ -3523,8 +3627,9 @@ class IDEASetupMFAPage {
3523
3627
  <ion-card-subtitle>{{ 'IDEA_AUTH.MFA_IS_MANDATORY' | translate }}</ion-card-subtitle>
3524
3628
  </ion-card-header>
3525
3629
  <ion-card-content>
3526
- <idea-setup-mfa-button (change)="reloadApp()" />
3630
+ <idea-setup-mfa-button testId="setupMfaButton" (change)="reloadApp()" />
3527
3631
  <ion-button
3632
+ testId="backToSignInButton"
3528
3633
  fill="clear"
3529
3634
  expand="block"
3530
3635
  class="smallCaseButton"
@@ -3561,8 +3666,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
3561
3666
  <ion-card-subtitle>{{ 'IDEA_AUTH.MFA_IS_MANDATORY' | translate }}</ion-card-subtitle>
3562
3667
  </ion-card-header>
3563
3668
  <ion-card-content>
3564
- <idea-setup-mfa-button (change)="reloadApp()" />
3669
+ <idea-setup-mfa-button testId="setupMfaButton" (change)="reloadApp()" />
3565
3670
  <ion-button
3671
+ testId="backToSignInButton"
3566
3672
  fill="clear"
3567
3673
  expand="block"
3568
3674
  class="smallCaseButton"