@dbg-riskit/angular-testing 9999.9999.9999-rc.2912903 → 9999.9999.9999-rc.3089125

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 (59) hide show
  1. package/fesm2022/dbg-riskit-angular-testing.mjs +222 -382
  2. package/fesm2022/dbg-riskit-angular-testing.mjs.map +1 -1
  3. package/index.d.ts +459 -3
  4. package/package.json +15 -18
  5. package/esm2022/dbg-riskit-angular-testing.mjs +0 -5
  6. package/esm2022/lib/by.util.mjs +0 -19
  7. package/esm2022/lib/definitions/data.table.definition.mjs +0 -556
  8. package/esm2022/lib/definitions/download.menu.page.mjs +0 -90
  9. package/esm2022/lib/definitions/highlighter.directive.page.mjs +0 -36
  10. package/esm2022/lib/definitions/layout.component.page.mjs +0 -93
  11. package/esm2022/lib/definitions/link.definition.mjs +0 -19
  12. package/esm2022/lib/definitions/link.only.page.mjs +0 -13
  13. package/esm2022/lib/definitions/login.menu.page.mjs +0 -25
  14. package/esm2022/lib/definitions/login.page.mjs +0 -51
  15. package/esm2022/lib/definitions/message.def.mjs +0 -15
  16. package/esm2022/lib/definitions/message.page.mjs +0 -68
  17. package/esm2022/lib/definitions/page.base.mjs +0 -64
  18. package/esm2022/lib/environment.mjs +0 -23
  19. package/esm2022/lib/events.mjs +0 -60
  20. package/esm2022/lib/stubs/auth/auth.routing.flow.service.stub.mjs +0 -37
  21. package/esm2022/lib/stubs/auth/auth.service.stub.mjs +0 -40
  22. package/esm2022/lib/stubs/auth/well.known.service.stub.mjs +0 -22
  23. package/esm2022/lib/stubs/http.service.stub.mjs +0 -54
  24. package/esm2022/lib/stubs/login.menu.stub.component.mjs +0 -19
  25. package/esm2022/lib/stubs/router/activated.route.stub.mjs +0 -29
  26. package/esm2022/lib/stubs/router/router.link.stub.mjs +0 -46
  27. package/esm2022/lib/stubs/router/router.module.stub.mjs +0 -44
  28. package/esm2022/lib/stubs/router/router.outlet.stub.component.mjs +0 -16
  29. package/esm2022/lib/stubs/router/router.stub.mjs +0 -79
  30. package/esm2022/lib/testing.module.mjs +0 -50
  31. package/esm2022/lib/utils.mjs +0 -48
  32. package/esm2022/public_api.mjs +0 -48
  33. package/lib/by.util.d.ts +0 -6
  34. package/lib/definitions/data.table.definition.d.ts +0 -176
  35. package/lib/definitions/download.menu.page.d.ts +0 -38
  36. package/lib/definitions/highlighter.directive.page.d.ts +0 -22
  37. package/lib/definitions/layout.component.page.d.ts +0 -28
  38. package/lib/definitions/link.definition.d.ts +0 -11
  39. package/lib/definitions/link.only.page.d.ts +0 -7
  40. package/lib/definitions/login.menu.page.d.ts +0 -11
  41. package/lib/definitions/login.page.d.ts +0 -17
  42. package/lib/definitions/message.def.d.ts +0 -6
  43. package/lib/definitions/message.page.d.ts +0 -20
  44. package/lib/definitions/page.base.d.ts +0 -21
  45. package/lib/environment.d.ts +0 -4
  46. package/lib/events.d.ts +0 -22
  47. package/lib/stubs/auth/auth.routing.flow.service.stub.d.ts +0 -16
  48. package/lib/stubs/auth/auth.service.stub.d.ts +0 -16
  49. package/lib/stubs/auth/well.known.service.stub.d.ts +0 -9
  50. package/lib/stubs/http.service.stub.d.ts +0 -25
  51. package/lib/stubs/login.menu.stub.component.d.ts +0 -6
  52. package/lib/stubs/router/activated.route.stub.d.ts +0 -14
  53. package/lib/stubs/router/router.link.stub.d.ts +0 -15
  54. package/lib/stubs/router/router.module.stub.d.ts +0 -3
  55. package/lib/stubs/router/router.outlet.stub.component.d.ts +0 -5
  56. package/lib/stubs/router/router.stub.d.ts +0 -27
  57. package/lib/testing.module.d.ts +0 -17
  58. package/lib/utils.d.ts +0 -3
  59. package/public_api.d.ts +0 -27
@@ -1,32 +1,27 @@
1
1
  import '@dbg-riskit/angular-polyfill';
2
- import 'zone.js/testing';
3
- import { getTestBed, tick, discardPeriodicTasks, TestBed } from '@angular/core/testing';
2
+ import { getTestBed, tick, discardPeriodicTasks } from '@angular/core/testing';
4
3
  import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
5
4
  import * as i0 from '@angular/core';
6
- import { EventEmitter, Injectable, Component, Directive, Input, Inject, NgModule } from '@angular/core';
5
+ import { EventEmitter, Injectable, Component, inject, Input } from '@angular/core';
7
6
  import { MatMenuTrigger, MatMenuItem } from '@angular/material/menu';
8
7
  import { By } from '@angular/platform-browser';
9
- import * as i1 from '@dbg-riskit/angular-file';
10
- import { CSVFileDownloadDirective, FileDownloadDirective, FileModule } from '@dbg-riskit/angular-file';
11
- import * as fileSaver from 'file-saver';
12
- import * as i1$2 from '@dbg-riskit/angular-view';
13
- import { RISK_INITIAL_LOAD_SELECTOR, RISK_NO_DATA_SELECTOR, LayoutComponent, NoopAnimationMessageComponent, RISK_GOOD_SELECTOR, RISK_ERROR_SELECTOR, RISK_INFO_SELECTOR, RISK_MESSAGE_SELECTOR, RISK_WARN_SELECTOR, RISK_UPDATE_FAILED_SELECTOR, CommonViewModule, NoopAnimationsCommonViewModule } from '@dbg-riskit/angular-view';
14
- export { LayoutComponent, NoopAnimationMessageComponent, NoopAnimationsCommonViewModule } from '@dbg-riskit/angular-view';
15
- import { throwError, of, timer, EMPTY, BehaviorSubject } from 'rxjs';
8
+ import { CSVFileDownloadDirective, FileDownloadDirective } from '@dbg-riskit/angular-file';
9
+ import 'file-saver';
10
+ import { RISK_INITIAL_LOAD_SELECTOR, RISK_NO_DATA_SELECTOR, LayoutComponent, HorizontalLayoutDirective, VerticalLayoutDirective, MessageComponent, RISK_GOOD_SELECTOR, RISK_ERROR_SELECTOR, RISK_INFO_SELECTOR, RISK_MESSAGE_SELECTOR, RISK_WARN_SELECTOR, RISK_UPDATE_FAILED_SELECTOR } from '@dbg-riskit/angular-view';
11
+ export { LayoutComponent } from '@dbg-riskit/angular-view';
12
+ import { throwError, of, timer, ReplaySubject, EMPTY, BehaviorSubject } from 'rxjs';
16
13
  import { switchMap, defaultIfEmpty, map } from 'rxjs/operators';
17
14
  import { MatCard } from '@angular/material/card';
18
15
  import { MatIconButton, MatIconAnchor, MatButton } from '@angular/material/button';
19
16
  import { MatButtonToggle } from '@angular/material/button-toggle';
20
17
  import { MatIcon } from '@angular/material/icon';
21
18
  import { MatTooltip } from '@angular/material/tooltip';
19
+ import { PagingComponent, DataTableRowDetailExpanderComponent, HIGHLIGHTER_CLASS, DataTableComponent, DataTableColumnDirective, DataTableColumnCellDirective, DataTableColumnFooterDirective, DataTableRowDetailDirective, DataTableColumnGroupDirective, HighlighterDirective } from '@dbg-riskit/angular-datatable';
22
20
  import { secureRandom, globalScope } from '@dbg-riskit/common';
23
- import * as i1$1 from '@dbg-riskit/angular-datatable';
24
- import { PagingComponent, DataTableRowDetailExpanderComponent, HIGHLIGHTER_CLASS, DataTableComponent, HighlighterDirective, DataTableModule } from '@dbg-riskit/angular-datatable';
25
21
  import { MatSidenavContainer, MatSidenav } from '@angular/material/sidenav';
26
22
  import { MatToolbar } from '@angular/material/toolbar';
27
- import { Router, NavigationEnd, UrlSegmentGroup, UrlSegment, ActivatedRoute, RouterModule } from '@angular/router';
28
- import * as i1$3 from '@dbg-riskit/angular-auth';
29
- import { AuthRoutingFlowService, AUTH_CONFIG, AuthService } from '@dbg-riskit/angular-auth';
23
+ import { RouterLink } from '@angular/router';
24
+ import { AUTH_CONFIG, AuthFlow } from '@dbg-riskit/angular-auth';
30
25
  import { AUTH_PROVIDER } from '@dbg-riskit/angular-common';
31
26
 
32
27
  // Has to be first in this order
@@ -136,10 +131,10 @@ class HttpServiceStub {
136
131
  post(request) {
137
132
  return this.get(request);
138
133
  }
139
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpServiceStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
140
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpServiceStub }); }
134
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: HttpServiceStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
135
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: HttpServiceStub }); }
141
136
  }
142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpServiceStub, decorators: [{
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: HttpServiceStub, decorators: [{
143
138
  type: Injectable
144
139
  }] });
145
140
  class HttpAsyncServiceStub extends HttpServiceStub {
@@ -149,10 +144,10 @@ class HttpAsyncServiceStub extends HttpServiceStub {
149
144
  post(request) {
150
145
  return this.get(request);
151
146
  }
152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpAsyncServiceStub, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
153
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpAsyncServiceStub }); }
147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: HttpAsyncServiceStub, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
148
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: HttpAsyncServiceStub }); }
154
149
  }
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpAsyncServiceStub, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: HttpAsyncServiceStub, decorators: [{
156
151
  type: Injectable
157
152
  }] });
158
153
 
@@ -250,16 +245,20 @@ class DownloadLink {
250
245
  this.element = element;
251
246
  this.page = page;
252
247
  }
248
+ get blobSpy() {
249
+ this.setupBlobConstructorSpy();
250
+ return this._blobSpy;
251
+ }
252
+ get saveSpy() {
253
+ this.setupSaveBlobSpy();
254
+ return this._saveBlobSpy;
255
+ }
253
256
  click() {
254
257
  this.setupBlobConstructorSpy();
255
258
  this.setupSaveBlobSpy();
256
259
  click(this.element);
257
260
  this.page.detectChanges();
258
261
  }
259
- get blobSpy() {
260
- this.setupBlobConstructorSpy();
261
- return this._blobSpy;
262
- }
263
262
  setupBlobConstructorSpy() {
264
263
  if (!this._blobSpy) {
265
264
  let downloadDirective;
@@ -272,32 +271,29 @@ class DownloadLink {
272
271
  this._blobSpy = spyOn(downloadDirective, 'createBlob').and.callThrough();
273
272
  }
274
273
  }
275
- get saveSpy() {
276
- this.setupSaveBlobSpy();
277
- return this._saveBlobSpy;
278
- }
279
274
  setupSaveBlobSpy() {
280
275
  if (!this._saveBlobSpy) {
281
- this._saveBlobSpy = spyOn(fileSaver, 'saveAs');
276
+ this._saveBlobSpy = spyOn(window, 'saveAs');
282
277
  }
283
278
  }
284
279
  }
285
280
  class DownloadTestComponent {
286
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DownloadTestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
287
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DownloadTestComponent, selector: "ng-component", ngImport: i0, template: `
281
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: DownloadTestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
282
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: DownloadTestComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
288
283
  <a [risk-download]="data"
289
284
  [risk-download-content-type]="contentType"
290
285
  [risk-download-filename]="filename">Download</a>
291
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.FileDownloadDirective, selector: "[risk-download]", inputs: ["risk-download", "risk-download-content-type", "risk-download-filename"] }] }); }
286
+ `, isInline: true, dependencies: [{ kind: "directive", type: FileDownloadDirective, selector: "[risk-download]", inputs: ["risk-download", "risk-download-content-type", "risk-download-filename"] }] }); }
292
287
  }
293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DownloadTestComponent, decorators: [{
288
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: DownloadTestComponent, decorators: [{
294
289
  type: Component,
295
290
  args: [{
296
291
  template: `
297
292
  <a [risk-download]="data"
298
293
  [risk-download-content-type]="contentType"
299
294
  [risk-download-filename]="filename">Download</a>
300
- `
295
+ `,
296
+ imports: [FileDownloadDirective]
301
297
  }]
302
298
  }] });
303
299
  class DownloadTestComponentPage extends Page {
@@ -508,10 +504,6 @@ class TableBodyRow {
508
504
  this.element = element;
509
505
  this.page = page;
510
506
  }
511
- expandRow() {
512
- click(this.element);
513
- this.page.detectChanges();
514
- }
515
507
  get expander() {
516
508
  return new RowExpander(this.element.query(By.directive(DataTableRowDetailExpanderComponent)).query(By.directive(MatIconAnchor)));
517
509
  }
@@ -533,6 +525,10 @@ class TableBodyRow {
533
525
  get highlighted() {
534
526
  return this.element.nativeElement.classList.contains(HIGHLIGHTER_CLASS);
535
527
  }
528
+ expandRow() {
529
+ click(this.element);
530
+ this.page.detectChanges();
531
+ }
536
532
  }
537
533
  class RowExpander {
538
534
  constructor(element) {
@@ -565,9 +561,6 @@ class TableBodyDetail {
565
561
  this.element = element;
566
562
  this.page = page;
567
563
  }
568
- header() {
569
- return new TableHeader(this.element.query(By.css('thead')), this.page);
570
- }
571
564
  get body() {
572
565
  return new TableBodyDetailBody(this.element.query(By.css('tbody')));
573
566
  }
@@ -577,6 +570,9 @@ class TableBodyDetail {
577
570
  get colspan() {
578
571
  return this.element.children[0].nativeElement.colspan;
579
572
  }
573
+ header() {
574
+ return new TableHeader(this.element.query(By.css('thead')), this.page);
575
+ }
580
576
  }
581
577
  class TableBodyDetailBody {
582
578
  constructor(element) {
@@ -755,8 +751,8 @@ class TestDataTableHostComponent {
755
751
  return record.value1;
756
752
  };
757
753
  }
758
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TestDataTableHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
759
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TestDataTableHostComponent, selector: "ng-component", ngImport: i0, template: `
754
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: TestDataTableHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
755
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: TestDataTableHostComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
760
756
  <risk-data-table [data]="data"
761
757
  [footer]="footer"
762
758
  [pageSize]="20"
@@ -765,15 +761,15 @@ class TestDataTableHostComponent {
765
761
  <risk-data-table-column title="Test Column 1"
766
762
  [sortingKey]="valueGetter">
767
763
  <ng-template let-record="row" risk-data-table-cell>
768
- {{record.value1}}
764
+ {{ record.value1 }}
769
765
  </ng-template>
770
766
  </risk-data-table-column>
771
767
  <risk-data-table-column>
772
768
  <ng-template risk-data-table-cell let-record="row" let-expanded="expanded">
773
- <risk-data-table-detail-expander [expanded]="expanded"></risk-data-table-detail-expander>
769
+ <risk-data-table-detail-expander [expanded]="expanded"/>
774
770
  </ng-template>
775
771
  <ng-template risk-data-table-footer-cell let-footer="footer">
776
- {{footer.value1}}
772
+ {{ footer.value1 }}
777
773
  </ng-template>
778
774
  </risk-data-table-column>
779
775
  <!-- Sub detail -->
@@ -782,27 +778,27 @@ class TestDataTableHostComponent {
782
778
  <risk-data-table-column title="Test Detail Column 1"
783
779
  [sortingKey]="valueGetter">
784
780
  <ng-template risk-data-table-cell let-record="row">
785
- {{record.value1}}
781
+ {{ record.value1 }}
786
782
  </ng-template>
787
783
  </risk-data-table-column>
788
784
  </risk-data-table-column-group>
789
785
  <risk-data-table-column-group>
790
786
  <risk-data-table-column title="Test Detail Column 2">
791
787
  <ng-template risk-data-table-cell let-record="row">
792
- {{record.value2}}
788
+ {{ record.value2 }}
793
789
  </ng-template>
794
790
  </risk-data-table-column>
795
791
  <risk-data-table-column title="Test Detail Column 3">
796
792
  <ng-template risk-data-table-cell let-record="row">
797
- {{record.value3}}
793
+ {{ record.value3 }}
798
794
  </ng-template>
799
795
  </risk-data-table-column>
800
796
  </risk-data-table-column-group>
801
- <risk-data-table-column-group></risk-data-table-column-group>
797
+ <risk-data-table-column-group/>
802
798
  </risk-data-table-detail-row>
803
- </risk-data-table>`, isInline: true, dependencies: [{ kind: "component", type: i1$1.DataTableComponent, selector: "risk-data-table", inputs: ["footer", "pageSize", "striped", "showFooter", "allowEmpty", "trackByRowKey", "highlighting", "stickyHeader", "stickyHeaderOffsetTopPx", "data", "defaultOrdering"], exportAs: ["dataTable"] }, { kind: "directive", type: i1$1.ɵDataTableColumnDirective, selector: "risk-data-table-column", inputs: ["title", "sortingKey", "tooltip", "contentAlign", "headerAlign", "footerAlign", "class"] }, { kind: "directive", type: i1$1.ɵDataTableColumnGroupDirective, selector: "risk-data-table-column-group" }, { kind: "directive", type: i1$1.ɵDataTableColumnCellDirective, selector: "[risk-data-table-cell]" }, { kind: "directive", type: i1$1.ɵDataTableColumnFooterDirective, selector: "[risk-data-table-footer-cell]" }, { kind: "directive", type: i1$1.ɵDataTableRowDetailDirective, selector: "risk-data-table-detail-row" }, { kind: "component", type: i1$1.DataTableRowDetailExpanderComponent, selector: "risk-data-table-detail-expander", inputs: ["expanded"] }] }); }
799
+ </risk-data-table>`, isInline: true, dependencies: [{ kind: "component", type: DataTableComponent, selector: "risk-data-table", inputs: ["footer", "pageSize", "striped", "showFooter", "allowEmpty", "trackByRowKey", "highlighting", "stickyHeader", "stickyHeaderOffsetTopPx", "defaultOrdering", "data"], exportAs: ["dataTable"] }, { kind: "directive", type: DataTableColumnDirective, selector: "risk-data-table-column", inputs: ["title", "sortingKey", "tooltip", "contentAlign", "headerAlign", "footerAlign", "class"] }, { kind: "directive", type: DataTableColumnCellDirective, selector: "[risk-data-table-cell]" }, { kind: "component", type: DataTableRowDetailExpanderComponent, selector: "risk-data-table-detail-expander", inputs: ["expanded"] }, { kind: "directive", type: DataTableColumnFooterDirective, selector: "[risk-data-table-footer-cell]" }, { kind: "directive", type: DataTableRowDetailDirective, selector: "risk-data-table-detail-row" }, { kind: "directive", type: DataTableColumnGroupDirective, selector: "risk-data-table-column-group" }] }); }
804
800
  }
805
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TestDataTableHostComponent, decorators: [{
801
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: TestDataTableHostComponent, decorators: [{
806
802
  type: Component,
807
803
  args: [{
808
804
  template: `
@@ -814,15 +810,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
814
810
  <risk-data-table-column title="Test Column 1"
815
811
  [sortingKey]="valueGetter">
816
812
  <ng-template let-record="row" risk-data-table-cell>
817
- {{record.value1}}
813
+ {{ record.value1 }}
818
814
  </ng-template>
819
815
  </risk-data-table-column>
820
816
  <risk-data-table-column>
821
817
  <ng-template risk-data-table-cell let-record="row" let-expanded="expanded">
822
- <risk-data-table-detail-expander [expanded]="expanded"></risk-data-table-detail-expander>
818
+ <risk-data-table-detail-expander [expanded]="expanded"/>
823
819
  </ng-template>
824
820
  <ng-template risk-data-table-footer-cell let-footer="footer">
825
- {{footer.value1}}
821
+ {{ footer.value1 }}
826
822
  </ng-template>
827
823
  </risk-data-table-column>
828
824
  <!-- Sub detail -->
@@ -831,25 +827,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
831
827
  <risk-data-table-column title="Test Detail Column 1"
832
828
  [sortingKey]="valueGetter">
833
829
  <ng-template risk-data-table-cell let-record="row">
834
- {{record.value1}}
830
+ {{ record.value1 }}
835
831
  </ng-template>
836
832
  </risk-data-table-column>
837
833
  </risk-data-table-column-group>
838
834
  <risk-data-table-column-group>
839
835
  <risk-data-table-column title="Test Detail Column 2">
840
836
  <ng-template risk-data-table-cell let-record="row">
841
- {{record.value2}}
837
+ {{ record.value2 }}
842
838
  </ng-template>
843
839
  </risk-data-table-column>
844
840
  <risk-data-table-column title="Test Detail Column 3">
845
841
  <ng-template risk-data-table-cell let-record="row">
846
- {{record.value3}}
842
+ {{ record.value3 }}
847
843
  </ng-template>
848
844
  </risk-data-table-column>
849
845
  </risk-data-table-column-group>
850
- <risk-data-table-column-group></risk-data-table-column-group>
846
+ <risk-data-table-column-group/>
851
847
  </risk-data-table-detail-row>
852
- </risk-data-table>`
848
+ </risk-data-table>`,
849
+ imports: [
850
+ DataTableComponent,
851
+ DataTableColumnDirective,
852
+ DataTableColumnCellDirective,
853
+ DataTableRowDetailExpanderComponent,
854
+ DataTableColumnFooterDirective,
855
+ DataTableRowDetailDirective,
856
+ DataTableColumnGroupDirective
857
+ ]
853
858
  }]
854
859
  }], ctorParameters: () => [] });
855
860
 
@@ -857,15 +862,16 @@ class HighLighterDirectiveTestComponent {
857
862
  trackBy(index, row) {
858
863
  return row.rowData;
859
864
  }
860
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HighLighterDirectiveTestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
861
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HighLighterDirectiveTestComponent, selector: "ng-component", ngImport: i0, template: `
862
- <div [risk-data-table-highlighter]="trackBy" [risk-data-table-highlighter-context]="context"></div>`, isInline: true, dependencies: [{ kind: "directive", type: i1$1.HighlighterDirective, selector: "[risk-data-table-highlighter]", inputs: ["risk-data-table-highlighter", "risk-data-table-highlighter-context"] }] }); }
865
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: HighLighterDirectiveTestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
866
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: HighLighterDirectiveTestComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
867
+ <div [risk-data-table-highlighter]="trackBy" [risk-data-table-highlighter-context]="context"></div>`, isInline: true, dependencies: [{ kind: "directive", type: HighlighterDirective, selector: "[risk-data-table-highlighter]", inputs: ["risk-data-table-highlighter", "risk-data-table-highlighter-context"] }] }); }
863
868
  }
864
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HighLighterDirectiveTestComponent, decorators: [{
869
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: HighLighterDirectiveTestComponent, decorators: [{
865
870
  type: Component,
866
871
  args: [{
867
872
  template: `
868
- <div [risk-data-table-highlighter]="trackBy" [risk-data-table-highlighter-context]="context"></div>`
873
+ <div [risk-data-table-highlighter]="trackBy" [risk-data-table-highlighter-context]="context"></div>`,
874
+ imports: [HighlighterDirective]
869
875
  }]
870
876
  }] });
871
877
  class HighLighterDirectivePage extends Page {
@@ -925,6 +931,12 @@ class LayoutComponentDefinition {
925
931
  get sideNav() {
926
932
  return this.sideNavContainer.query(By.directive(MatSidenav));
927
933
  }
934
+ get sideNavMenu() {
935
+ return this.sideNav.queryAll(ByUtil.or(By.css('[menu-vertical]'), By.css('risk-layout-vertical')));
936
+ }
937
+ get content() {
938
+ return this.sideNavContainer.query(By.css('.risk-layout-content'));
939
+ }
928
940
  openSideNav() {
929
941
  this.sideNav.componentInstance.open();
930
942
  this.page.advanceAndDetectChanges();
@@ -933,12 +945,6 @@ class LayoutComponentDefinition {
933
945
  this.sideNav.componentInstance.close();
934
946
  this.page.advanceAndDetectChanges(1);
935
947
  }
936
- get sideNavMenu() {
937
- return this.sideNav.queryAll(ByUtil.or(By.css('[menu-vertical]'), By.css('risk-layout-vertical')));
938
- }
939
- get content() {
940
- return this.sideNavContainer.query(By.css('.risk-layout-content'));
941
- }
942
948
  }
943
949
  class TestLayoutComponentHostPage extends Page {
944
950
  get layoutComponent() {
@@ -946,8 +952,8 @@ class TestLayoutComponentHostPage extends Page {
946
952
  }
947
953
  }
948
954
  class TestLayoutHostComponent {
949
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TestLayoutHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
950
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TestLayoutHostComponent, selector: "ng-component", ngImport: i0, template: `
955
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: TestLayoutHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
956
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: TestLayoutHostComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
951
957
  <risk-layout>
952
958
  <!-- menu-horizontal -->
953
959
  <risk-layout-horizontal>
@@ -962,9 +968,9 @@ class TestLayoutHostComponent {
962
968
 
963
969
  <span>Content</span>
964
970
  </risk-layout>
965
- `, isInline: true, dependencies: [{ kind: "component", type: i1$2.LayoutComponent, selector: "risk-layout", inputs: ["smallScreenMenuVisible", "smallScreenWidth", "footerVisible", "toolbarBackgroundColor", "backgroundColor"] }, { kind: "directive", type: i1$2.VerticalLayoutDirective, selector: "risk-layout-vertical" }, { kind: "directive", type: i1$2.HorizontalLayoutDirective, selector: "risk-layout-horizontal" }] }); }
971
+ `, isInline: true, dependencies: [{ kind: "component", type: LayoutComponent, selector: "risk-layout", inputs: ["smallScreenMenuVisible", "smallScreenWidth", "footerVisible", "toolbarBackgroundColor", "backgroundColor"] }, { kind: "directive", type: HorizontalLayoutDirective, selector: "risk-layout-horizontal" }, { kind: "directive", type: VerticalLayoutDirective, selector: "risk-layout-vertical" }] }); }
966
972
  }
967
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TestLayoutHostComponent, decorators: [{
973
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: TestLayoutHostComponent, decorators: [{
968
974
  type: Component,
969
975
  args: [{
970
976
  template: `
@@ -982,60 +988,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
982
988
 
983
989
  <span>Content</span>
984
990
  </risk-layout>
985
- `
991
+ `,
992
+ imports: [LayoutComponent, HorizontalLayoutDirective, VerticalLayoutDirective]
986
993
  }]
987
994
  }] });
988
995
 
989
- class RouterLinkStubDirective {
990
- constructor(injector) {
991
- this.navigatedTo = null;
992
- this._urlTree = null;
993
- this.routerStub = injector.get(Router, null);
994
- }
995
- ngOnChanges() {
996
- if (this.linkParams && this.routerStub) {
997
- this._urlTree = this.routerStub.getURLTree(this.linkParams);
998
- }
999
- }
1000
- onClick() {
1001
- this.navigatedTo = this.linkParams;
1002
- if (this.routerStub) {
1003
- if (Array.isArray(this.navigatedTo)) {
1004
- this.routerStub.navigate(this.navigatedTo);
1005
- }
1006
- else {
1007
- this.routerStub.navigateByUrl(this.navigatedTo);
1008
- }
1009
- }
1010
- }
1011
- get urlTree() {
1012
- return this._urlTree;
1013
- }
1014
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterLinkStubDirective, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
1015
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: RouterLinkStubDirective, selector: "[routerLink]", inputs: { linkParams: ["routerLink", "linkParams"] }, host: { listeners: { "click": "onClick()" } }, usesOnChanges: true, ngImport: i0 }); }
1016
- }
1017
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterLinkStubDirective, decorators: [{
1018
- type: Directive,
1019
- args: [{
1020
- /* eslint-disable @angular-eslint/directive-selector */
1021
- selector: '[routerLink]',
1022
- /* eslint-enable */
1023
- host: {
1024
- '(click)': 'onClick()'
1025
- }
1026
- }]
1027
- }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { linkParams: [{
1028
- type: Input,
1029
- args: ['routerLink']
1030
- }] } });
1031
-
1032
996
  class LinkDefinition {
1033
997
  constructor(page, link) {
1034
998
  this.page = page;
1035
999
  this.link = link;
1036
1000
  }
1037
1001
  get stub() {
1038
- return this.link.injector.get(RouterLinkStubDirective);
1002
+ return this.link.injector.get(RouterLink);
1039
1003
  }
1040
1004
  get text() {
1041
1005
  return this.link.nativeElement.textContent.trim();
@@ -1051,7 +1015,7 @@ class LinkOnlyPage extends Page {
1051
1015
  super(fixture);
1052
1016
  }
1053
1017
  get link() {
1054
- return new LinkDefinition(this, this.debugElement.query(By.directive(RouterLinkStubDirective)));
1018
+ return new LinkDefinition(this, this.debugElement.query(By.directive(RouterLink)));
1055
1019
  }
1056
1020
  }
1057
1021
 
@@ -1097,14 +1061,14 @@ class LoginPage extends Page {
1097
1061
  return this.formElement.query(By.directive(MatButton));
1098
1062
  }
1099
1063
  get successMessage() {
1100
- const debugElement = this.debugElement.query(ByUtil.and(By.directive(NoopAnimationMessageComponent), By.css(RISK_GOOD_SELECTOR)));
1064
+ const debugElement = this.debugElement.query(ByUtil.and(By.directive(MessageComponent), By.css(RISK_GOOD_SELECTOR)));
1101
1065
  if (!debugElement) {
1102
1066
  return null;
1103
1067
  }
1104
1068
  return new MessageComponentDef(debugElement);
1105
1069
  }
1106
1070
  get errorMessage() {
1107
- const debugElement = this.debugElement.query(ByUtil.or(ByUtil.and(By.directive(NoopAnimationMessageComponent), By.css(RISK_ERROR_SELECTOR)), By.css('h3')));
1071
+ const debugElement = this.debugElement.query(ByUtil.or(ByUtil.and(By.directive(MessageComponent), By.css(RISK_ERROR_SELECTOR)), By.css('h3')));
1108
1072
  if (!debugElement) {
1109
1073
  return null;
1110
1074
  }
@@ -1121,31 +1085,34 @@ class TestMessageHostComponent {
1121
1085
  constructor() {
1122
1086
  this.message = 'custom message';
1123
1087
  }
1124
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TestMessageHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1125
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TestMessageHostComponent, selector: "ng-component", ngImport: i0, template: `
1126
- <risk-error [message]="message"></risk-error>
1127
- <risk-good [message]="message"></risk-good>
1128
- <risk-info [message]="message"></risk-info>
1129
- <risk-message [message]="message"></risk-message>
1130
- <risk-warn [message]="message"></risk-warn>
1131
- <risk-initial-load [message]="message"></risk-initial-load>
1132
- <risk-update-failed [message]="message"></risk-update-failed>
1133
- <risk-no-data [message]="message"></risk-no-data>
1134
- `, isInline: true, dependencies: [{ kind: "component", type: i1$2.MessageComponent, selector: "risk-error, risk-good, risk-info, risk-message, risk-warn, risk-initial-load, risk-no-data, risk-update-failed", inputs: ["message"] }] }); }
1088
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: TestMessageHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1089
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: TestMessageHostComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
1090
+ <risk-error [message]="message"/>
1091
+ <risk-good [message]="message"/>
1092
+ <risk-info [message]="message"/>
1093
+ <risk-message [message]="message"/>
1094
+ <risk-warn [message]="message"/>
1095
+ <risk-initial-load [message]="message"/>
1096
+ <risk-update-failed [message]="message"/>
1097
+ <risk-no-data [message]="message"/>
1098
+ `, isInline: true, dependencies: [{ kind: "component", type: MessageComponent, selector: "risk-error, risk-good, risk-info, risk-message, risk-warn, risk-initial-load, risk-no-data, risk-update-failed", inputs: ["message"] }] }); }
1135
1099
  }
1136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TestMessageHostComponent, decorators: [{
1100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: TestMessageHostComponent, decorators: [{
1137
1101
  type: Component,
1138
1102
  args: [{
1139
1103
  template: `
1140
- <risk-error [message]="message"></risk-error>
1141
- <risk-good [message]="message"></risk-good>
1142
- <risk-info [message]="message"></risk-info>
1143
- <risk-message [message]="message"></risk-message>
1144
- <risk-warn [message]="message"></risk-warn>
1145
- <risk-initial-load [message]="message"></risk-initial-load>
1146
- <risk-update-failed [message]="message"></risk-update-failed>
1147
- <risk-no-data [message]="message"></risk-no-data>
1148
- `
1104
+ <risk-error [message]="message"/>
1105
+ <risk-good [message]="message"/>
1106
+ <risk-info [message]="message"/>
1107
+ <risk-message [message]="message"/>
1108
+ <risk-warn [message]="message"/>
1109
+ <risk-initial-load [message]="message"/>
1110
+ <risk-update-failed [message]="message"/>
1111
+ <risk-no-data [message]="message"/>
1112
+ `,
1113
+ imports: [
1114
+ MessageComponent
1115
+ ]
1149
1116
  }]
1150
1117
  }] });
1151
1118
  class MessageHostedPage extends Page {
@@ -1179,14 +1146,29 @@ class MessageHostedPage extends Page {
1179
1146
  }
1180
1147
 
1181
1148
  const storage = { authRequestedPath: null };
1182
- class AuthRoutingFlowServiceStub extends AuthRoutingFlowService {
1183
- constructor(authServiceStub, authConfig) {
1184
- super(null, null, { loggedIn: of(null) }, storage, authConfig, null);
1185
- this.authServiceStub = authServiceStub;
1149
+ class AuthRoutingFlowServiceStub {
1150
+ constructor() {
1151
+ this.authServiceStub = inject(AUTH_PROVIDER);
1152
+ this.authConfig = inject(AUTH_CONFIG);
1186
1153
  // cleanup
1187
1154
  storage.authRequestedPath = null;
1188
1155
  }
1189
- logout(state) {
1156
+ get authFlow() {
1157
+ return this.authConfig.flow;
1158
+ }
1159
+ get authorizationCodeFlow() {
1160
+ return this.authFlow === AuthFlow.AUTHORIZATION_CODE;
1161
+ }
1162
+ get implicitFlow() {
1163
+ return this.authFlow === AuthFlow.IMPLICIT;
1164
+ }
1165
+ get hybridFlow() {
1166
+ return this.authFlow === AuthFlow.HYBRID;
1167
+ }
1168
+ get directFlow() {
1169
+ return this.authFlow === AuthFlow.DIRECT;
1170
+ }
1171
+ logout() {
1190
1172
  return this.authServiceStub.logout().pipe(defaultIfEmpty(0), map(() => true));
1191
1173
  }
1192
1174
  login(username, password) {
@@ -1195,49 +1177,30 @@ class AuthRoutingFlowServiceStub extends AuthRoutingFlowService {
1195
1177
  loginViaService() {
1196
1178
  return this.authServiceStub.loginViaAuthService();
1197
1179
  }
1198
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthRoutingFlowServiceStub, deps: [{ token: AUTH_PROVIDER }, { token: AUTH_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
1199
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthRoutingFlowServiceStub }); }
1200
- }
1201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthRoutingFlowServiceStub, decorators: [{
1202
- type: Injectable
1203
- }], ctorParameters: () => [{ type: i1$3.AuthService, decorators: [{
1204
- type: Inject,
1205
- args: [AUTH_PROVIDER]
1206
- }] }, { type: undefined, decorators: [{
1207
- type: Inject,
1208
- args: [AUTH_CONFIG]
1209
- }] }] });
1210
-
1211
- const WELL_KNOWN = {
1212
- endpoints: {
1213
- auth: '/auth',
1214
- token: '/token',
1215
- logout: '/logout'
1216
- },
1217
- issuer: 'risk-auth'
1218
- };
1219
- class WellKnownServiceStub {
1220
- get wellKnown() {
1221
- return of(WELL_KNOWN);
1180
+ storeRequestedPath(state) {
1181
+ storage.authRequestedPath = state?.url || null;
1222
1182
  }
1223
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WellKnownServiceStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1224
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WellKnownServiceStub }); }
1183
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AuthRoutingFlowServiceStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1184
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AuthRoutingFlowServiceStub }); }
1225
1185
  }
1226
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WellKnownServiceStub, decorators: [{
1186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AuthRoutingFlowServiceStub, decorators: [{
1227
1187
  type: Injectable
1228
- }] });
1188
+ }], ctorParameters: () => [] });
1229
1189
 
1230
- class AuthServiceStub extends AuthService {
1190
+ class AuthServiceStub {
1231
1191
  constructor() {
1232
- super({}, new WellKnownServiceStub(), null, null, null);
1192
+ this._loggedInStream = new ReplaySubject(1);
1233
1193
  }
1234
1194
  get loggedIn() {
1235
1195
  return of(!!this.user);
1236
1196
  }
1237
1197
  get userProfile() {
1238
- return of({
1198
+ return of(this.user ? {
1239
1199
  name: this.user
1240
- });
1200
+ } : undefined);
1201
+ }
1202
+ get loggedInStream() {
1203
+ return this._loggedInStream.asObservable();
1241
1204
  }
1242
1205
  loginViaAuthService() {
1243
1206
  return of(true);
@@ -1255,194 +1218,108 @@ class AuthServiceStub extends AuthService {
1255
1218
  delete this.user;
1256
1219
  return EMPTY;
1257
1220
  }
1258
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthServiceStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1259
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthServiceStub }); }
1260
- }
1261
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthServiceStub, decorators: [{
1262
- type: Injectable
1263
- }], ctorParameters: () => [] });
1264
-
1265
- class LoginMenuStubComponent {
1266
- constructor() {
1267
- this.orientation = 'row';
1268
- }
1269
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginMenuStubComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1270
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoginMenuStubComponent, selector: "login-menu, risk-login-menu", inputs: { orientation: "orientation" }, ngImport: i0, template: '', isInline: true }); }
1271
- }
1272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginMenuStubComponent, decorators: [{
1273
- type: Component,
1274
- args: [{
1275
- selector: 'login-menu, risk-login-menu',
1276
- template: ''
1277
- }]
1278
- }], propDecorators: { orientation: [{
1279
- type: Input
1280
- }] } });
1281
-
1282
- class ActivatedRouteStub {
1283
- constructor() {
1284
- // Test parameters
1285
- this._testParams = {};
1286
- // ActivatedRoute.params is Observable
1287
- this.subject = new BehaviorSubject(this.testParams);
1288
- this.params = this.subject.asObservable();
1289
- }
1290
- get testParams() {
1291
- return this._testParams;
1292
- }
1293
- set testParams(params) {
1294
- this._testParams = params;
1295
- this.subject.next(params);
1221
+ emitLoginStatusChange(status) {
1222
+ this._loggedInStream.next(status);
1296
1223
  }
1297
- // ActivatedRoute.snapshot.params
1298
- get snapshot() {
1299
- return { params: this.testParams };
1300
- }
1301
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActivatedRouteStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1302
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActivatedRouteStub }); }
1224
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AuthServiceStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1225
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AuthServiceStub }); }
1303
1226
  }
1304
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActivatedRouteStub, decorators: [{
1227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AuthServiceStub, decorators: [{
1305
1228
  type: Injectable
1306
1229
  }] });
1307
1230
 
1308
- class RouterOutletStubComponent {
1309
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterOutletStubComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1310
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RouterOutletStubComponent, selector: "router-outlet", ngImport: i0, template: '', isInline: true }); }
1231
+ const WELL_KNOWN = {
1232
+ endpoints: {
1233
+ auth: '/auth',
1234
+ token: '/token',
1235
+ logout: '/logout'
1236
+ },
1237
+ issuer: 'risk-auth'
1238
+ };
1239
+ class WellKnownServiceStub {
1240
+ get wellKnown() {
1241
+ return of(WELL_KNOWN);
1242
+ }
1243
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: WellKnownServiceStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1244
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: WellKnownServiceStub }); }
1311
1245
  }
1312
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterOutletStubComponent, decorators: [{
1313
- type: Component,
1314
- args: [{
1315
- /* eslint-disable @angular-eslint/component-selector */
1316
- selector: 'router-outlet',
1317
- /* eslint-enable */
1318
- template: ''
1319
- }]
1246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: WellKnownServiceStub, decorators: [{
1247
+ type: Injectable
1320
1248
  }] });
1321
1249
 
1322
- class Snapshot {
1323
- constructor(stub) {
1324
- this.stub = stub;
1325
- }
1326
- get url() {
1327
- return this.stub.getCurrentURL();
1328
- }
1329
- }
1330
- // @dynamic
1250
+ /**
1251
+ * A lightweight Router stub for testing that doesn't require actual routing infrastructure.
1252
+ * Use this when you want complete isolation from the Router and only need to verify navigation calls.
1253
+ */
1331
1254
  class RouterStub {
1332
1255
  constructor() {
1333
- this.id = 0;
1334
- this.navigated = true;
1335
- this.currentUrlTree = this.createUrlTree(['/dashboard']);
1336
- this.routerState = {
1337
- snapshot: new Snapshot(this)
1338
- };
1339
- this.events = new EventEmitter();
1256
+ this._url = '/';
1257
+ this._events$ = new BehaviorSubject(null);
1340
1258
  }
1341
- getURLTree(url) {
1342
- if (Array.isArray(url)) {
1343
- return this.createUrlTree(url);
1344
- }
1345
- if (url instanceof Object) {
1346
- return url;
1347
- }
1348
- return this.createUrlTree(url.split('/'));
1259
+ get url() {
1260
+ return this._url;
1349
1261
  }
1350
- navigateByUrl(url) {
1351
- this.currentUrlTree = this.getURLTree(url);
1352
- this.emitNavigate();
1353
- return url;
1262
+ get events() {
1263
+ return this._events$.asObservable();
1354
1264
  }
1355
- navigate(commands, extras) {
1356
- this.currentUrlTree = this.getURLTree(commands);
1357
- this.emitNavigate();
1358
- return [commands, extras];
1265
+ get routerState() {
1266
+ return {
1267
+ snapshot: {
1268
+ url: this._url,
1269
+ root: {}
1270
+ }
1271
+ };
1359
1272
  }
1360
- emitNavigate() {
1361
- this.id++;
1362
- const urlString = this.getCurrentURL();
1363
- this.events.emit(new NavigationEnd(this.id, urlString, urlString));
1273
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1274
+ navigate(commands, _extras) {
1275
+ this._url = commands.join('/');
1276
+ return Promise.resolve(true);
1364
1277
  }
1365
- isActive(url) {
1366
- return this.getCurrentURL().indexOf(RouterStub.serializeUrl(url)) !== -1;
1278
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1279
+ navigateByUrl(url, _extras) {
1280
+ this._url = typeof url === 'string' ? url : url.toString();
1281
+ return Promise.resolve(true);
1367
1282
  }
1368
- getCurrentURL() {
1369
- return RouterStub.serializeUrl(this.currentUrlTree);
1283
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1284
+ createUrlTree(_commands, _navigationExtras) {
1285
+ return {};
1370
1286
  }
1371
- createUrlTree(commands, extras) {
1372
- const _b = extras || {};
1373
- const queryParams = _b.queryParams || {};
1374
- const fragment = _b.fragment || '';
1375
- return {
1376
- root: new UrlSegmentGroup(commands.map((command) => {
1377
- return new UrlSegment(command, {});
1378
- }), {}),
1379
- queryParams,
1380
- fragment,
1381
- queryParamMap: {
1382
- ...new Map(),
1383
- getAll: () => [],
1384
- keys: []
1385
- }
1386
- };
1287
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1288
+ serializeUrl(_url) {
1289
+ return '';
1290
+ }
1291
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1292
+ parseUrl(_url) {
1293
+ return {};
1387
1294
  }
1388
- static serializeUrl(url) {
1389
- return url.root.segments.map((segment) => segment.path).join('/');
1295
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1296
+ isActive(_url, _exact) {
1297
+ return false;
1390
1298
  }
1391
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1392
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterStub }); }
1299
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: RouterStub, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1300
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: RouterStub }); }
1393
1301
  }
1394
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterStub, decorators: [{
1302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: RouterStub, decorators: [{
1395
1303
  type: Injectable
1396
1304
  }] });
1397
1305
 
1398
- function stubRouter(customOverrides) {
1399
- const override = {
1400
- set: {
1401
- imports: [],
1402
- declarations: [
1403
- RouterLinkStubDirective,
1404
- RouterOutletStubComponent
1405
- ],
1406
- providers: [
1407
- {
1408
- provide: Router,
1409
- useClass: RouterStub
1410
- },
1411
- {
1412
- provide: ActivatedRoute,
1413
- useClass: ActivatedRouteStub
1414
- }
1415
- ],
1416
- exports: [
1417
- RouterLinkStubDirective,
1418
- RouterOutletStubComponent
1419
- ]
1420
- }
1421
- };
1422
- if (customOverrides) {
1423
- if (customOverrides.add) {
1424
- override.add = customOverrides.add;
1425
- }
1426
- if (customOverrides.set) {
1427
- override.set = customOverrides.set;
1428
- }
1429
- if (customOverrides.remove) {
1430
- override.remove = customOverrides.remove;
1431
- }
1306
+ class LoginMenuStubComponent {
1307
+ constructor() {
1308
+ this.orientation = 'row';
1432
1309
  }
1433
- return TestBed.overrideModule(RouterModule, override);
1310
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LoginMenuStubComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1311
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: LoginMenuStubComponent, isStandalone: true, selector: "login-menu, risk-login-menu", inputs: { orientation: "orientation" }, ngImport: i0, template: '', isInline: true }); }
1434
1312
  }
1313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LoginMenuStubComponent, decorators: [{
1314
+ type: Component,
1315
+ args: [{
1316
+ selector: 'login-menu, risk-login-menu',
1317
+ template: ''
1318
+ }]
1319
+ }], propDecorators: { orientation: [{
1320
+ type: Input
1321
+ }] } });
1435
1322
 
1436
- function disableMaterialAnimations(ngModule) {
1437
- TestBed.overrideModule(ngModule, {
1438
- remove: {
1439
- imports: [CommonViewModule]
1440
- },
1441
- add: {
1442
- imports: [NoopAnimationsCommonViewModule]
1443
- }
1444
- });
1445
- }
1446
1323
  function compileTestBed(compileFunction, destroyFunction, stubMatchMedia = true) {
1447
1324
  let matchMedia;
1448
1325
  beforeEach((done) => {
@@ -1478,43 +1355,6 @@ function fakeMatchMedia(matches = false) {
1478
1355
  });
1479
1356
  }
1480
1357
 
1481
- class TestingModule {
1482
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1483
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TestingModule, declarations: [DownloadTestComponent,
1484
- TestDataTableHostComponent,
1485
- HighLighterDirectiveTestComponent,
1486
- TestLayoutHostComponent,
1487
- RouterLinkStubDirective,
1488
- TestMessageHostComponent,
1489
- LoginMenuStubComponent,
1490
- RouterOutletStubComponent], imports: [CommonViewModule,
1491
- FileModule,
1492
- DataTableModule] }); }
1493
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TestingModule, imports: [CommonViewModule,
1494
- FileModule,
1495
- DataTableModule] }); }
1496
- }
1497
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TestingModule, decorators: [{
1498
- type: NgModule,
1499
- args: [{
1500
- imports: [
1501
- CommonViewModule,
1502
- FileModule,
1503
- DataTableModule
1504
- ],
1505
- declarations: [
1506
- DownloadTestComponent,
1507
- TestDataTableHostComponent,
1508
- HighLighterDirectiveTestComponent,
1509
- TestLayoutHostComponent,
1510
- RouterLinkStubDirective,
1511
- TestMessageHostComponent,
1512
- LoginMenuStubComponent,
1513
- RouterOutletStubComponent
1514
- ]
1515
- }]
1516
- }] });
1517
-
1518
1358
  // WARNING: Do not change order in this file!!! Environment has to be first as it includes polyfills
1519
1359
  // Add CachedResourceProviderImpl to compiler configuration
1520
1360
  if ('beforeEach' in globalScope && globalScope.beforeEach) {
@@ -1539,5 +1379,5 @@ if ('beforeEach' in globalScope && globalScope.beforeEach) {
1539
1379
  * Generated bundle index. Do not edit.
1540
1380
  */
1541
1381
 
1542
- export { ActivatedRouteStub, AuthRoutingFlowServiceStub, AuthServiceStub, BUTTON_CLICK_EVENTS, ByUtil, COMPILE_TIMEOUT_INTERVAL, CSVDownloadMenuPage, DataTableDefinition, DataTableDefinitionHosted, DownloadLink, DownloadTestComponent, DownloadTestComponentPage, FAKE_HTTP_ASYNC_TIMEOUT, HighLighterDirectivePage, HighLighterDirectiveTestComponent, HttpAsyncServiceStub, HttpServiceStub, LayoutComponentDefinition, LinkDefinition, LinkOnlyPage, LoginMenuPage, LoginMenuStubComponent, LoginPage, MessageComponentDef, MessageHostedPage, Page, PageWithLoading, Pager, RecordsCount, RouterLinkStubDirective, RouterOutletStubComponent, RouterStub, RowExpander, Snapshot, SortingHandle, TableBody, TableBodyCell, TableBodyDetail, TableBodyDetailBody, TableBodyDetailRow, TableBodyRow, TableFooter, TableFooterRow, TableHeader, TableHeaderCell, TableHeaderRow, TableSorting, TestDataTableHostComponent, TestLayoutComponentHostPage, TestLayoutHostComponent, TestMessageHostComponent, TestingModule, WELL_KNOWN, WellKnownServiceStub, chceckSorting, click, compileTestBed, disableMaterialAnimations, dispatchEvent, initTestEnvironment, newEvent, setNgModelSelectValue, setNgModelValue, storage, stubRouter };
1382
+ export { AuthRoutingFlowServiceStub, AuthServiceStub, BUTTON_CLICK_EVENTS, ByUtil, COMPILE_TIMEOUT_INTERVAL, CSVDownloadMenuPage, DataTableDefinition, DataTableDefinitionHosted, DownloadLink, DownloadTestComponent, DownloadTestComponentPage, FAKE_HTTP_ASYNC_TIMEOUT, HighLighterDirectivePage, HighLighterDirectiveTestComponent, HttpAsyncServiceStub, HttpServiceStub, LayoutComponentDefinition, LinkDefinition, LinkOnlyPage, LoginMenuPage, LoginMenuStubComponent, LoginPage, MessageComponentDef, MessageHostedPage, Page, PageWithLoading, Pager, RecordsCount, RouterStub, RowExpander, SortingHandle, TableBody, TableBodyCell, TableBodyDetail, TableBodyDetailBody, TableBodyDetailRow, TableBodyRow, TableFooter, TableFooterRow, TableHeader, TableHeaderCell, TableHeaderRow, TableSorting, TestDataTableHostComponent, TestLayoutComponentHostPage, TestLayoutHostComponent, TestMessageHostComponent, WELL_KNOWN, WellKnownServiceStub, chceckSorting, click, compileTestBed, dispatchEvent, initTestEnvironment, newEvent, setNgModelSelectValue, setNgModelValue, storage };
1543
1383
  //# sourceMappingURL=dbg-riskit-angular-testing.mjs.map