@dbg-riskit/angular-testing 9999.9999.9999-rc.41311 → 9999.9999.9999-rc.445048
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.
- package/{esm2020 → esm2022}/lib/definitions/data.table.definition.mjs +11 -11
- package/{esm2020 → esm2022}/lib/definitions/download.menu.page.mjs +6 -6
- package/{esm2020 → esm2022}/lib/definitions/highlighter.directive.page.mjs +5 -5
- package/{esm2020 → esm2022}/lib/definitions/layout.component.page.mjs +6 -6
- package/{esm2020 → esm2022}/lib/definitions/message.page.mjs +6 -6
- package/{esm2020 → esm2022}/lib/stubs/auth/auth.routing.flow.service.stub.mjs +4 -4
- package/{esm2020 → esm2022}/lib/stubs/auth/auth.service.stub.mjs +4 -4
- package/{esm2020 → esm2022}/lib/stubs/auth/well.known.service.stub.mjs +4 -4
- package/{esm2020 → esm2022}/lib/stubs/http.service.stub.mjs +7 -7
- package/{esm2020 → esm2022}/lib/stubs/login.menu.stub.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/stubs/router/activated.route.stub.mjs +4 -4
- package/{esm2020 → esm2022}/lib/stubs/router/router.link.stub.mjs +4 -4
- package/esm2022/lib/stubs/router/router.module.stub.mjs +44 -0
- package/{esm2020 → esm2022}/lib/stubs/router/router.outlet.stub.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/stubs/router/router.stub.mjs +4 -4
- package/esm2022/lib/testing.module.mjs +50 -0
- package/{fesm2020 → fesm2022}/dbg-riskit-angular-testing.mjs +76 -79
- package/fesm2022/dbg-riskit-angular-testing.mjs.map +1 -0
- package/lib/definitions/data.table.definition.d.ts +1 -1
- package/lib/definitions/download.menu.page.d.ts +1 -1
- package/lib/definitions/highlighter.directive.page.d.ts +1 -1
- package/lib/definitions/layout.component.page.d.ts +1 -1
- package/lib/definitions/message.page.d.ts +1 -1
- package/lib/stubs/login.menu.stub.component.d.ts +1 -1
- package/lib/stubs/router/router.link.stub.d.ts +1 -1
- package/lib/stubs/router/router.module.stub.d.ts +1 -1
- package/lib/stubs/router/router.outlet.stub.component.d.ts +1 -1
- package/package.json +21 -27
- package/esm2020/lib/stubs/router/router.module.stub.mjs +0 -45
- package/esm2020/lib/testing.module.mjs +0 -52
- package/fesm2015/dbg-riskit-angular-testing.mjs +0 -1544
- package/fesm2015/dbg-riskit-angular-testing.mjs.map +0 -1
- package/fesm2020/dbg-riskit-angular-testing.mjs.map +0 -1
- /package/{esm2020 → esm2022}/dbg-riskit-angular-testing.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/by.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/definitions/link.definition.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/definitions/link.only.page.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/definitions/login.menu.page.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/definitions/login.page.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/definitions/message.def.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/definitions/page.base.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/environment.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/events.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/{dbg-riskit-angular-testing.d.ts → index.d.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dbg-riskit-angular-testing.mjs","sources":["../../../../pkg/dbg-riskit/angular-testing/src/lib/environment.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/events.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/http.service.stub.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/message.def.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/page.base.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/download.menu.page.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/data.table.definition.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/highlighter.directive.page.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/by.util.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/layout.component.page.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/router/router.link.stub.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/link.definition.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/link.only.page.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/login.menu.page.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/login.page.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/message.page.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/auth/auth.routing.flow.service.stub.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/auth/well.known.service.stub.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/auth/auth.service.stub.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/login.menu.stub.component.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/router/activated.route.stub.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/router/router.outlet.stub.component.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/router/router.stub.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/router/router.module.stub.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/utils.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/testing.module.ts","../../../../pkg/dbg-riskit/angular-testing/src/public_api.ts","../../../../pkg/dbg-riskit/angular-testing/src/dbg-riskit-angular-testing.ts"],"sourcesContent":["// Has to be first in this order\nimport '@dbg-riskit/angular-polyfill';\nimport 'zone.js/testing';\n\n// Other modules follow\nimport {getTestBed} from '@angular/core/testing';\nimport {BrowserDynamicTestingModule, platformBrowserDynamicTesting} from '@angular/platform-browser-dynamic/testing';\n\nexport const COMPILE_TIMEOUT_INTERVAL = Math.pow(2, 31) - 1;\n\nexport function initTestEnvironment() {\n Error.stackTraceLimit = 10;\n\n jasmine.DEFAULT_TIMEOUT_INTERVAL = 5000;\n\n // TODO: Quick fix for memory leaks\n window.addEventListener = () => {\n return;\n };\n window.document.addEventListener = () => {\n return;\n };\n\n // First, initialize the Angular testing environment.\n getTestBed().initTestEnvironment(\n BrowserDynamicTestingModule,\n platformBrowserDynamicTesting(), {\n teardown: {destroyAfterEach: false}\n }\n );\n}\n","import {DebugElement} from '@angular/core';\n\nimport {tick} from '@angular/core/testing';\n\n/** Button events to pass to `DebugElement.triggerEventHandler` for RouterLink event handler */\nexport const BUTTON_CLICK_EVENTS = {\n left : {button: 0},\n right: {button: 2}\n};\n\n/** Simulate element click. Defaults to mouse left-button click event. */\nexport function click(el: DebugElement | HTMLElement, eventObj: any = BUTTON_CLICK_EVENTS.left): void {\n if (el instanceof HTMLElement) {\n el.click();\n } else {\n el.triggerEventHandler('click', eventObj);\n }\n}\n\nexport function setNgModelValue(element: DebugElement, value: string, realAsync = false): void {\n if (!(element.nativeElement instanceof HTMLInputElement)) {\n throw new Error('Not an instance of HTMLInputElement');\n }\n const input: HTMLInputElement = element.nativeElement;\n input.value = value;\n\n dispatchEvent(input, 'input'); // tell Angular\n if (!realAsync) {\n tick();\n }\n}\n\nexport function setNgModelSelectValue(element: DebugElement, selectedIndex: number, realAsync = false): void {\n if (!(element.nativeElement instanceof HTMLSelectElement)) {\n throw new Error('Not an instance of HTMLInputElement');\n }\n const input: HTMLSelectElement = element.nativeElement;\n input.selectedIndex = selectedIndex;\n\n dispatchEvent(input, 'change'); // tell Angular\n if (!realAsync) {\n tick();\n }\n}\n\nexport function dispatchEvent(element: DebugElement | HTMLElement | Window, eventName: string): void {\n if (element instanceof HTMLElement) {\n element.dispatchEvent(newEvent(eventName));\n } else if (element instanceof Window) {\n element.dispatchEvent(newEvent(eventName));\n } else {\n element.nativeElement.dispatchEvent(newEvent(eventName));\n }\n}\n\n/**\n * Create custom DOM event the old fashioned way\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/Event/initEvent\n * Although officially deprecated, some browsers (phantom) don't accept the preferred \"new Event(eventName)\"\n */\nexport function newEvent(eventName: string, bubbles = false, cancelable = false): CustomEvent {\n const evt = document.createEvent('CustomEvent'); // MUST be 'CustomEvent'\n evt.initCustomEvent(eventName, bubbles, cancelable, null);\n return evt;\n}\n","import {EventEmitter, Injectable} from '@angular/core';\nimport {Request, RequestWithData} from '@dbg-riskit/angular-common';\nimport {ErrorMessage} from '@dbg-riskit/common';\nimport {Observable, of, throwError as _throwError, timer} from 'rxjs';\nimport {switchMap} from 'rxjs/operators';\n\nexport const FAKE_HTTP_ASYNC_TIMEOUT = 1000;\n\n@Injectable()\nexport class HttpServiceStub<T> {\n\n private value: T[] = [];\n private error: ErrorMessage[] = [];\n\n public unauthorized: EventEmitter<ErrorMessage> = new EventEmitter();\n\n public returnValue(value: T) {\n this.value.push(value);\n }\n\n public popReturnValue(): T | undefined {\n return this.value.pop();\n }\n\n public shiftReturnValue(): T | undefined {\n return this.value.shift();\n }\n\n public throwError(value: ErrorMessage) {\n this.error.push(value);\n }\n\n public get(request: Request<T>): Observable<T | undefined> {\n if (this.error.length) {\n const error = this.error.shift();\n return _throwError(error);\n }\n const value: T | undefined = this.value.shift();\n return of(value);\n }\n\n public post(request: RequestWithData<T>): Observable<T | undefined> {\n return this.get(request);\n }\n}\n\n@Injectable()\nexport class HttpAsyncServiceStub<T> extends HttpServiceStub<T> {\n\n public get(request: Request<T>, auth = true): Observable<T | undefined> {\n return timer(FAKE_HTTP_ASYNC_TIMEOUT).pipe(\n switchMap(() => super.get(request))\n );\n }\n\n public post(request: RequestWithData<T>): Observable<T | undefined> {\n return this.get(request);\n }\n}\n","import {DebugElement} from '@angular/core';\nimport {MatCard} from '@angular/material/card';\nimport {By} from '@angular/platform-browser';\n\nexport class MessageComponentDef {\n\n public constructor(public debugElement: DebugElement) {\n if (debugElement == null) {\n throw new Error('Debug element not found!');\n }\n }\n\n public get text(): string {\n return this.debugElement.query(By.directive(MatCard)).nativeElement.textContent.replace(/\\n\\s*/g, ' ')\n .replace(/\\r\\s*/g, ' ').trim();\n }\n}\n","import {DebugElement} from '@angular/core';\nimport {ComponentFixture, discardPeriodicTasks, tick} from '@angular/core/testing';\nimport {By} from '@angular/platform-browser';\nimport {RISK_INITIAL_LOAD_SELECTOR, RISK_NO_DATA_SELECTOR} from '@dbg-riskit/angular-view';\nimport {FAKE_HTTP_ASYNC_TIMEOUT} from '../stubs/http.service.stub';\nimport {MessageComponentDef} from './message.def';\n\nexport class Page<T> {\n\n public debugElement: DebugElement;\n public component: T;\n private _timeOffset = 0;\n\n public constructor(protected fixture: ComponentFixture<T>) {\n this.debugElement = fixture.debugElement;\n this.component = this.debugElement.componentInstance;\n }\n\n public detectChanges(millis = 0): void {\n this.fixture.detectChanges();\n tick(millis);\n this._timeOffset += millis;\n }\n\n public advanceAndDetectChanges(millis = 0): void {\n tick(millis);\n this._timeOffset += millis;\n this.detectChanges();\n }\n\n public advanceHTTP(): void {\n this.advanceAndDetectChanges(FAKE_HTTP_ASYNC_TIMEOUT);\n }\n\n public advanceAndDetectChangesUsingOffset(millis: number): void {\n this.advanceAndDetectChanges(millis - this._timeOffset);\n this.resetTimeOffset();\n }\n\n public resetTimeOffset(): void {\n this._timeOffset = 0;\n }\n\n public destroy() {\n this.fixture.destroy();\n try {\n // Move a lot into fututre ;)\n tick(60 * 60 * 1000);\n discardPeriodicTasks();\n } catch (ignore) {\n // Nothing to do...\n }\n }\n}\n\nexport class PageWithLoading<T> extends Page<T> {\n\n public constructor(fixture: ComponentFixture<T>) {\n super(fixture);\n }\n\n public get initialLoadComponent(): MessageComponentDef | null {\n const element = this.debugElement.query(By.css(RISK_INITIAL_LOAD_SELECTOR));\n if (element) {\n return new MessageComponentDef(element);\n }\n return null;\n }\n\n public get noDataComponent(): MessageComponentDef | null {\n const element = this.debugElement.query(By.css(RISK_NO_DATA_SELECTOR));\n if (element) {\n return new MessageComponentDef(element);\n }\n return null;\n }\n}\n","import {Component, DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {MatMenuItem, MatMenuTrigger} from '@angular/material/menu';\nimport {By} from '@angular/platform-browser';\nimport {\n AbstractFileDownloadDirective,\n CSVDownloadMenuComponent,\n CSVFileDownloadDirective,\n FileDownloadDirective\n} from '@dbg-riskit/angular-file';\nimport * as fileSaver from 'file-saver';\nimport {Observable} from 'rxjs';\nimport {click} from '../events';\nimport {Page} from './page.base';\nimport Spy = jasmine.Spy;\n\nexport class CSVDownloadMenuPage extends Page<CSVDownloadMenuComponent> {\n\n public constructor(fixture: ComponentFixture<CSVDownloadMenuComponent>) {\n super(fixture);\n }\n\n public get downloadWindowsLink(): DownloadLink {\n // Open the menu first\n click(this.debugElement.query(By.directive(MatMenuTrigger)));\n this.detectChanges(500);\n\n return new DownloadLink(this.debugElement.queryAll(By.directive(MatMenuItem))[0], this);\n }\n\n public get downloadUnixLink(): DownloadLink {\n // Open the menu first\n click(this.debugElement.query(By.directive(MatMenuTrigger)));\n this.detectChanges(500);\n\n return new DownloadLink(this.debugElement.queryAll(By.directive(MatMenuItem))[1], this);\n }\n}\n\nexport class DownloadLink {\n private _blobSpy?: jasmine.Spy;\n private _saveBlobSpy?: jasmine.Spy;\n\n public constructor(public element: DebugElement, private page: { detectChanges: () => void }) {\n }\n\n public click(): void {\n this.setupBlobConstructorSpy();\n this.setupSaveBlobSpy();\n click(this.element);\n this.page.detectChanges();\n }\n\n public get blobSpy(): Spy {\n this.setupBlobConstructorSpy();\n return this._blobSpy!;\n }\n\n private setupBlobConstructorSpy() {\n if (!this._blobSpy) {\n let downloadDirective: AbstractFileDownloadDirective<unknown>;\n try {\n downloadDirective = this.element.injector.get(CSVFileDownloadDirective);\n } catch (_) {\n downloadDirective = this.element.injector.get(FileDownloadDirective);\n }\n this._blobSpy = spyOn(downloadDirective, 'createBlob').and.callThrough();\n }\n }\n\n public get saveSpy(): Spy {\n this.setupSaveBlobSpy();\n return this._saveBlobSpy!;\n }\n\n private setupSaveBlobSpy() {\n if (!this._saveBlobSpy) {\n this._saveBlobSpy = spyOn(fileSaver, 'saveAs');\n }\n }\n}\n\n@Component({\n template: `\n <a [risk-download]=\"data\"\n [risk-download-content-type]=\"contentType\"\n [risk-download-filename]=\"filename\">Download</a>\n `\n})\nexport class DownloadTestComponent {\n public data: any | Observable<any>;\n\n public contentType?: string;\n\n public filename?: string;\n}\n\nexport class DownloadTestComponentPage extends Page<DownloadTestComponent> {\n\n public constructor(fixture: ComponentFixture<DownloadTestComponent>) {\n super(fixture);\n }\n\n public get downloadLink(): DownloadLink {\n return new DownloadLink(this.debugElement.query(By.directive(FileDownloadDirective)), this);\n }\n}\n","import {Component, DebugElement, DebugNode} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {MatAnchor, MatButton} from '@angular/material/button';\nimport {MatButtonToggle} from '@angular/material/button-toggle';\nimport {MatIcon} from '@angular/material/icon';\nimport {MatTooltip} from '@angular/material/tooltip';\nimport {By} from '@angular/platform-browser';\nimport {ValueGetter, secureRandom} from '@dbg-riskit/common';\nimport {\n DataTableComponent,\n DataTableRowDetailExpanderComponent,\n HIGHLIGHTER_CLASS,\n OrderingCriteria,\n PagingComponent\n} from '@dbg-riskit/angular-datatable';\nimport {click} from '../events';\nimport {Page} from './page.base';\n\nexport class DataTableDefinition {\n\n public constructor(public debugElement: DebugElement,\n private page: { detectChanges: () => void, advanceAndDetectChanges: () => void }) {\n }\n\n public get component(): DataTableComponent<unknown, unknown> {\n return this.debugElement.componentInstance;\n }\n\n public get data(): any[] {\n return this.component.plainData;\n }\n\n public get element(): DebugElement {\n return this.debugElement.query(By.css('.risk-data-table-wrapper > table'));\n }\n\n public get header(): TableHeader {\n return new TableHeader(this.debugElement.query((de) => de.references.mainHeader), this.page);\n }\n\n public get sorting(): TableSorting {\n return new TableSorting(this, this.page);\n }\n\n public get body(): TableBody {\n return new TableBody(this.debugElement.query((de) => de.references.mainBody), this.page);\n }\n\n public get footer(): TableFooter {\n return new TableFooter(this.debugElement.query((de) => de.references.mainFooter));\n }\n\n public get recordsCount(): RecordsCount {\n return new RecordsCount(this.debugElement.query(By.css('.risk-data-table-page-count')));\n }\n\n public get pager(): Pager {\n return new Pager(this.debugElement.query(By.directive(PagingComponent)), this.page);\n }\n}\n\n// <editor-fold defaultstate=\"collapsed\" desc=\"Table header\">\n\nexport class TableHeader {\n\n public constructor(public element: DebugElement, private page: { detectChanges: () => void }) {\n }\n\n public get rows(): TableHeaderRow[] {\n return this.element.queryAll(By.css('tr')).map((element: DebugElement) => {\n return new TableHeaderRow(element, this.page);\n });\n }\n\n public get cells(): TableHeaderCell[] {\n return this.element.queryAll(By.css('th')).map((element: DebugElement) => {\n return new TableHeaderCell(element, this.page);\n });\n }\n\n}\n\nexport class TableHeaderRow {\n public constructor(public element: DebugElement, private page: { detectChanges: () => void }) {\n }\n\n public get cells(): TableHeaderCell[] {\n return this.element.queryAll(By.css('th')).map((element: DebugElement) => {\n return new TableHeaderCell(element, this.page);\n });\n }\n}\n\nexport class TableHeaderCell {\n\n public constructor(public element: DebugElement, private page: { detectChanges: () => void }) {\n }\n\n public get sortingHandle(): SortingHandle | null {\n const handle = this.element.query(By.directive(MatButton));\n if (handle) {\n return new SortingHandle(this.page, handle);\n }\n return null;\n }\n\n public get tooltip(): string | null {\n const handle = this.element.query(By.directive(MatTooltip));\n if (handle) {\n return handle.injector.get(MatTooltip).message;\n }\n return null;\n }\n\n public get title(): string {\n const textNode = this.element.childNodes.find((node: DebugNode) => node.nativeNode.nodeType === Node.TEXT_NODE);\n if (textNode != null) {\n return textNode\n .nativeNode.textContent.trim();\n }\n return '';\n }\n\n public get colspan(): number {\n return this.element.nativeElement.colspan;\n }\n\n public get rowspan(): number {\n return this.element.nativeElement.rowspan;\n }\n\n}\n\n// <editor-fold defaultstate=\"collapsed\" desc=\"Sorting\">\n\nexport class TableSorting {\n\n public constructor(private table: DataTableDefinition, private page: { detectChanges: () => void }) {\n }\n\n public get handles(): SortingHandle[] {\n const handles = this.table.debugElement.query((de) => de.references.mainHeader)\n .queryAll(By.directive(MatButton));\n if (!handles) {\n return [];\n }\n return handles.map((handle: DebugElement) => {\n return new SortingHandle(this.page, handle);\n });\n }\n\n public get detailRowHandles(): SortingHandle[] | null {\n const handles = this.table.debugElement.query(By.css('.risk-data-table-detail')).query(By.css('thead'))\n .queryAll(By.directive(MatButton));\n if (!handles) {\n return null;\n }\n return handles.map((handle: DebugElement) => {\n return new SortingHandle(this.page, handle);\n });\n }\n\n public get currentOrdering(): Array<OrderingCriteria<any>> {\n return (this.table.component as any).ordering;\n }\n\n public checkSorting(firstNRows: number = this.table.component.rows.length,\n criterium?: OrderingCriteria<any>): void {\n // WARN: call data once as it calls .map on all table rows\n const data = this.table.data;\n\n let ordering: Array<OrderingCriteria<any>>;\n if (criterium) {\n ordering = [criterium].concat((this.table.component as any)._defaultOrdering);\n } else {\n ordering = this.currentOrdering;\n }\n for (let i = 1; i < Math.min(data.length, firstNRows); i++) {\n ordering.some((criteria: OrderingCriteria<any>) => {\n //noinspection EqualityComparisonWithCoercionJS\n const valueA: any = criteria.get(data[i - 1]);\n const valueB: any = criteria.get(data[i]);\n if (valueA == null && valueB == null) {\n return false;\n }\n expect(valueA).not.toBeNull();\n expect(valueA).not.toBeUndefined();\n if (valueB != null) {\n if (criteria.descending) {\n expect(valueA >= valueB)\n .toBeTruthy('Expect: ' + valueA + ' >= '\n + valueB);\n } else {\n expect(valueA <= valueB)\n .toBeTruthy('Expect: ' + valueA + ' <= '\n + valueB);\n }\n }\n return valueA !== valueB;\n });\n }\n }\n}\n\nexport class SortingHandle {\n\n public constructor(private page: { detectChanges: () => void }, private handle: DebugElement) {\n }\n\n public click() {\n click(this.handle);\n this.page.detectChanges();\n }\n}\n\n// </editor-fold>\n\n// </editor-fold>\n\n// <editor-fold defaultstate=\"collapsed\" desc=\"Table body\">\n\nexport class TableBody {\n\n public constructor(public element: DebugElement, private page: { detectChanges: () => void }) {\n }\n\n public get rows(): TableBodyRow[] {\n return this.element.queryAll((de) => de.references.masterRow).map((element: DebugElement) => {\n return new TableBodyRow(element, this.page);\n });\n }\n\n public get cells(): TableBodyCell[] {\n let cells: TableBodyCell[] = [];\n this.element.queryAll((de) => de.references.masterRow).forEach((row: DebugElement) => {\n cells = cells.concat(row.queryAll(By.css('td')).map((cell: DebugElement) => {\n return new TableBodyCell(cell);\n }));\n });\n return cells;\n }\n}\n\nexport class TableBodyRow {\n\n public constructor(public element: DebugElement, private page: { detectChanges: () => void }) {\n }\n\n public expandRow(): void {\n click(this.element);\n this.page.detectChanges();\n }\n\n public get expander(): RowExpander {\n return new RowExpander(\n this.element.query(By.directive(DataTableRowDetailExpanderComponent)).query(By.directive(MatAnchor)));\n }\n\n public get cells(): TableBodyCell[] {\n return this.element.queryAll(By.css('td')).map((element: DebugElement) => {\n return new TableBodyCell(element);\n });\n }\n\n public get rowDetail(): TableBodyDetail | null {\n const parent = this.element.parent;\n if (parent != null) {\n const next = parent.children[parent.children.indexOf(this.element) + 1];\n if (next && !next.references.masterRow) {\n return new TableBodyDetail(next, this.page);\n }\n }\n return null;\n }\n\n public get highlighted(): boolean {\n return this.element.nativeElement.classList.contains(HIGHLIGHTER_CLASS);\n }\n}\n\nexport class RowExpander {\n public constructor(public element: DebugElement) {\n }\n\n public get icon(): string {\n return this.element.query(By.directive(MatIcon)).nativeElement.textContent.trim();\n }\n\n public get opened(): boolean {\n return this.icon === 'expand_less';\n }\n\n public get closed(): boolean {\n return this.icon === 'expand_more';\n }\n}\n\nexport class TableBodyCell {\n\n public constructor(public element: DebugElement) {\n }\n\n public get colspan(): number {\n return this.element.nativeElement.colspan;\n }\n\n public get rowspan(): number {\n return this.element.nativeElement.rowspan;\n }\n}\n\n// <editor-fold defaultstate=\"collapsed\" desc=\"Row detail\">\n\nexport class TableBodyDetail {\n\n public constructor(public element: DebugElement, private page: { detectChanges: () => void }) {\n }\n\n public header(): TableHeader {\n return new TableHeader(this.element.query(By.css('thead')), this.page);\n }\n\n public get body(): TableBodyDetailBody {\n return new TableBodyDetailBody(this.element.query(By.css('tbody')));\n }\n\n public get highlighted(): boolean {\n return this.element.nativeElement.classList.contains(HIGHLIGHTER_CLASS);\n }\n\n public get colspan(): number {\n return this.element.children[0].nativeElement.colspan;\n }\n}\n\nexport class TableBodyDetailBody {\n\n public constructor(public element: DebugElement) {\n }\n\n public get rows(): TableBodyDetailRow[] {\n return this.element.queryAll(By.css('tr')).map((element: DebugElement) => {\n return new TableBodyDetailRow(element);\n });\n }\n\n public get cells(): TableBodyCell[] {\n let cells: TableBodyCell[] = [];\n this.element.queryAll(By.css('tr')).forEach((row: DebugElement) => {\n cells = cells.concat(row.queryAll(By.css('td')).map((cell: DebugElement) => {\n return new TableBodyCell(cell);\n }));\n });\n return cells;\n }\n}\n\nexport class TableBodyDetailRow {\n\n public constructor(public element: DebugElement) {\n }\n\n public get cells(): TableBodyCell[] {\n return this.element.queryAll(By.css('td')).map((element: DebugElement) => {\n return new TableBodyCell(element);\n });\n }\n}\n\n// </editor-fold>\n\n// </editor-fold>\n\n// <editor-fold defaultstate=\"collapsed\" desc=\"Table footer\">\n\nexport class TableFooter {\n\n public constructor(public element: DebugElement) {\n }\n\n public get rows(): TableFooterRow[] {\n return this.element.queryAll(By.css('tr')).map((element: DebugElement) => {\n return new TableFooterRow(element);\n });\n }\n\n public get cells(): TableBodyCell[] {\n let cells: TableBodyCell[] = [];\n this.element.queryAll(By.css('tr')).forEach((row: DebugElement) => {\n cells = cells.concat(row.queryAll(By.css('th')).map((cell: DebugElement) => {\n return new TableBodyCell(cell);\n }));\n });\n return cells;\n }\n}\n\nexport class TableFooterRow {\n\n public constructor(public element: DebugElement) {\n }\n\n public get cells(): TableBodyCell[] {\n return this.element.queryAll(By.css('th')).map((element: DebugElement) => {\n return new TableBodyCell(element);\n });\n }\n}\n\n// </editor-fold>\n\nexport class RecordsCount {\n\n public constructor(public element: DebugElement) {\n }\n\n public get message(): string {\n return this.element.nativeElement.textContent;\n }\n}\n\nexport class Pager {\n\n public constructor(public element: DebugElement,\n private page: { detectChanges: () => void, advanceAndDetectChanges: () => void }) {\n }\n\n public get pageButtons(): DebugElement[] {\n return this.element.queryAll(By.directive(MatButtonToggle));\n }\n\n public expectLeadingButtonsDisabled() {\n for (let i = 0; i < 2; i++) {\n expect(this.pageButtons[i].classes['mat-button-toggle-disabled'])\n .toBe(true, 'First two are disabled.');\n }\n }\n\n public expectLeadingButtonsNotDisabled() {\n for (let i = 0; i < 2; i++) {\n expect(this.pageButtons[i].classes['mat-button-toggle-disabled'])\n .not.toBe(true, 'First two are not disabled.');\n }\n }\n\n public expectTrailingButtonsDisabled() {\n for (let i = this.pageButtons.length - 1; i > this.pageButtons.length - 3; i--) {\n expect(this.pageButtons[i].classes['mat-button-toggle-disabled'])\n .toBe(true, 'Last two are disabled.');\n }\n }\n\n public expectTrailingButtonsNotDisabled() {\n for (let i = this.pageButtons.length - 1; i > this.pageButtons.length - 3; i--) {\n expect(this.pageButtons[i].classes['mat-button-toggle-disabled'])\n .not.toBe(true, 'Last two are not disabled.');\n }\n }\n\n public expectButtonNumbers(numbers: number[]) {\n for (let i = 0; i < numbers.length; i++) {\n expect(this.pageButtons[i + 2].query(By.css('.mat-button-toggle-label-content'))\n .nativeElement.textContent.trim())\n .toEqual(numbers[i] + '', 'Button numbers are correct');\n }\n }\n\n public expectButtonActive(index: number) {\n expect(this.pageButtons[index].classes['mat-button-toggle-checked'])\n .toBe(true, 'Button is active.');\n }\n\n public click(index: number) {\n click(this.pageButtons[index].query(By.css('.mat-button-toggle-label-content')).nativeElement);\n this.page.detectChanges();\n this.page.advanceAndDetectChanges();\n }\n}\n\nexport function chceckSorting(page: { detectChanges: () => void, dataTable: DataTableDefinition },\n criteria: Array<ValueGetter<any>>) {\n page.dataTable.sorting.checkSorting(150);\n\n page.dataTable.sorting.handles.forEach((handle: SortingHandle, index: number) => {\n // Tigger sort based on a handle\n handle.click();\n page.detectChanges();\n\n // Check the sorting\n page.dataTable.sorting.checkSorting(150, {\n get: criteria[index]\n });\n\n // Tigger sort based on a handle\n handle.click();\n page.detectChanges();\n\n // Check the sorting\n page.dataTable.sorting.checkSorting(150, {\n get : criteria[index],\n descending: true\n });\n });\n}\n\nexport class DataTableDefinitionHosted extends Page<TestDataTableHostComponent> {\n\n public constructor(fixture: ComponentFixture<TestDataTableHostComponent>) {\n super(fixture);\n }\n\n public get dataTable(): DataTableDefinition {\n return new DataTableDefinition(this.debugElement.query(By.directive(DataTableComponent)), this);\n }\n}\n\n@Component({\n template: `\n <risk-data-table [data]=\"data\"\n [footer]=\"footer\"\n [pageSize]=\"20\"\n [defaultOrdering]=\"defaultOrdering\"\n [striped]=\"true\">\n <risk-data-table-column title=\"Test Column 1\"\n [sortingKey]=\"valueGetter\">\n <ng-template let-record=\"row\" risk-data-table-cell>\n {{record.value1}}\n </ng-template>\n </risk-data-table-column>\n <risk-data-table-column>\n <ng-template risk-data-table-cell let-record=\"row\" let-expanded=\"expanded\">\n <risk-data-table-detail-expander [expanded]=\"expanded\"></risk-data-table-detail-expander>\n </ng-template>\n <ng-template risk-data-table-footer-cell let-footer=\"footer\">\n {{footer.value1}}\n </ng-template>\n </risk-data-table-column>\n <!-- Sub detail -->\n <risk-data-table-detail-row>\n <risk-data-table-column-group>\n <risk-data-table-column title=\"Test Detail Column 1\"\n [sortingKey]=\"valueGetter\">\n <ng-template risk-data-table-cell let-record=\"row\">\n {{record.value1}}\n </ng-template>\n </risk-data-table-column>\n </risk-data-table-column-group>\n <risk-data-table-column-group>\n <risk-data-table-column title=\"Test Detail Column 2\">\n <ng-template risk-data-table-cell let-record=\"row\">\n {{record.value2}}\n </ng-template>\n </risk-data-table-column>\n <risk-data-table-column title=\"Test Detail Column 3\">\n <ng-template risk-data-table-cell let-record=\"row\">\n {{record.value3}}\n </ng-template>\n </risk-data-table-column>\n </risk-data-table-column-group>\n <risk-data-table-column-group></risk-data-table-column-group>\n </risk-data-table-detail-row>\n </risk-data-table>`\n})\nexport class TestDataTableHostComponent {\n\n public data: any[];\n\n public footer: any;\n\n public constructor() {\n this.data = [];\n for (let i = 0; i < 500; i++) {\n this.data.push({\n value1: Math.floor(secureRandom() * 20) + ' - value 1',\n value2: Math.floor(secureRandom() * 20) + ' - value 2',\n value3: Math.floor(secureRandom() * 20) + ' - value 3'\n });\n }\n this.footer = this.data[0];\n }\n\n public get defaultOrdering(): Array<OrderingCriteria<any> | ValueGetter<any>> {\n return [\n {\n get : (record: any) => {\n return record.value3;\n },\n descending: true\n },\n (record: any) => {\n return record.value2;\n }\n ];\n }\n\n public get valueGetter(): (record: any) => any {\n return (record: any) => {\n return record.value1;\n };\n }\n}\n","import {Component, DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {By} from '@angular/platform-browser';\nimport {HighlighterDirective, Row} from '@dbg-riskit/angular-datatable';\nimport {Page} from './page.base';\n\n@Component({\n template: `\n <div [risk-data-table-highlighter]=\"trackBy\" [risk-data-table-highlighter-context]=\"context\"></div>`\n})\nexport class HighLighterDirectiveTestComponent {\n\n public context?: { row: any, storage?: any, index: number, enabled: boolean };\n\n public trackBy(index: number, row: Row<any>): any {\n return row.rowData;\n }\n}\n\nexport class HighLighterDirectivePage extends Page<HighLighterDirectiveTestComponent> {\n\n public constructor(fixture: ComponentFixture<HighLighterDirectiveTestComponent>) {\n super(fixture);\n }\n\n public get highlightedElement(): DebugElement {\n return this.debugElement.query(By.directive(HighlighterDirective));\n }\n\n public get classList(): DOMTokenList {\n return this.highlightedElement.nativeElement.classList;\n }\n\n public get highlighter(): HighlighterDirective<unknown> {\n return this.highlightedElement.injector.get(HighlighterDirective);\n }\n}\n","import {Predicate} from '@angular/core';\n\n// @dynamic\nexport class ByUtil {\n\n public static and<T>(...predicates: Array<Predicate<T>>): Predicate<T> {\n return (val: T) => {\n return predicates.every((predicate: Predicate<T>) => predicate(val));\n };\n }\n\n public static or<T>(...predicates: Array<Predicate<T>>): Predicate<T> {\n return (val: T) => {\n return predicates.some((predicate: Predicate<T>) => predicate(val));\n };\n }\n\n public static not<T>(predicate: Predicate<T>): Predicate<T> {\n return (val: T) => {\n return !predicate(val);\n };\n }\n}\n","import {Component, DebugElement} from '@angular/core';\nimport {MatSidenav, MatSidenavContainer} from '@angular/material/sidenav';\nimport {MatToolbar} from '@angular/material/toolbar';\nimport {By} from '@angular/platform-browser';\nimport {LayoutComponent} from '@dbg-riskit/angular-view';\nimport {ByUtil} from '../by.util';\nimport {Page} from './page.base';\n\nexport class LayoutComponentDefinition {\n\n public constructor(public debugElement: DebugElement,\n private page: { advanceAndDetectChanges: (milis?: number) => void }) {\n }\n\n public get component(): LayoutComponent {\n return this.debugElement.componentInstance;\n }\n\n public get headToolbar(): DebugElement {\n return this.debugElement.query(ByUtil.and(By.directive(MatToolbar), By.css('.mat-elevation-z2')));\n }\n\n public get logo(): DebugElement {\n return this.headToolbar.query(By.css('.risk-layout-logo'));\n }\n\n public get menu(): DebugElement[] {\n return this.headToolbar.queryAll(ByUtil.or(\n By.css('[menu-horizontal]'),\n By.css('risk-layout-horizontal')));\n }\n\n public get sideNavContainer(): DebugElement {\n return this.debugElement.query(By.directive(MatSidenavContainer));\n }\n\n public get sideNav(): DebugElement {\n return this.sideNavContainer.query(By.directive(MatSidenav));\n }\n\n public openSideNav(): void {\n (this.sideNav.componentInstance as MatSidenav).open();\n this.page.advanceAndDetectChanges();\n }\n\n public closeSideNav(): void {\n (this.sideNav.componentInstance as MatSidenav).close();\n this.page.advanceAndDetectChanges(1);\n }\n\n public get sideNavMenu(): DebugElement[] {\n return this.sideNav.queryAll(ByUtil.or(\n By.css('[menu-vertical]'),\n By.css('risk-layout-vertical')));\n }\n\n public get content(): DebugElement {\n return this.sideNavContainer.query(By.css('.risk-layout-content'));\n }\n\n}\n\nexport class TestLayoutComponentHostPage extends Page<TestLayoutHostComponent> {\n\n public get layoutComponent(): LayoutComponentDefinition {\n return new LayoutComponentDefinition(this.debugElement.query(By.directive(LayoutComponent)), this);\n }\n}\n\n@Component({\n template: `\n <risk-layout>\n <!-- menu-horizontal -->\n <risk-layout-horizontal>\n HorizontalMenu\n </risk-layout-horizontal>\n <!-- menu-horizontal -->\n\n <!-- menu-vertical -->\n <risk-layout-vertical>\n Vertical menu\n </risk-layout-vertical>\n\n <span>Content</span>\n </risk-layout>\n `\n})\nexport class TestLayoutHostComponent {\n\n}\n","import {Directive, Injector, Input, OnChanges} from '@angular/core';\nimport {Router, UrlTree} from '@angular/router';\n\nimport {RouterStub} from './router.stub';\n\n@Directive({\n /* eslint-disable @angular-eslint/directive-selector */\n selector: '[routerLink]',\n /* eslint-enable */\n host : {\n '(click)': 'onClick()'\n }\n})\nexport class RouterLinkStubDirective implements OnChanges {\n\n @Input('routerLink')\n public linkParams: any;\n\n public navigatedTo: any = null;\n private _urlTree: UrlTree | null = null;\n\n private routerStub: RouterStub;\n\n public constructor(injector: Injector) {\n this.routerStub = injector.get(Router, null) as any;\n }\n\n public ngOnChanges(): void {\n if (this.linkParams && this.routerStub) {\n this._urlTree = this.routerStub.getURLTree(this.linkParams);\n }\n }\n\n public onClick(): void {\n this.navigatedTo = this.linkParams;\n if (this.routerStub) {\n if (Array.isArray(this.navigatedTo)) {\n this.routerStub.navigate(this.navigatedTo);\n } else {\n this.routerStub.navigateByUrl(this.navigatedTo);\n }\n }\n }\n\n public get urlTree(): UrlTree | null {\n return this._urlTree;\n }\n}\n","import {DebugElement} from '@angular/core';\n\nimport {click} from '../events';\nimport {RouterLinkStubDirective} from '../stubs/router/router.link.stub';\nimport {Page} from './page.base';\n\nexport class LinkDefinition {\n\n public constructor(private page: Page<any>, public link: DebugElement) {\n }\n\n public get stub(): RouterLinkStubDirective {\n return this.link.injector.get(RouterLinkStubDirective);\n }\n\n public get text(): string {\n return this.link.nativeElement.textContent.trim();\n }\n\n public click() {\n click(this.link.nativeElement);\n this.page.advanceAndDetectChanges();\n }\n}\n","import {ComponentFixture} from '@angular/core/testing';\nimport {By} from '@angular/platform-browser';\nimport {RouterLinkStubDirective} from '../stubs/router/router.link.stub';\nimport {LinkDefinition} from './link.definition';\nimport {Page} from './page.base';\n\nexport class LinkOnlyPage<T> extends Page<T> {\n\n public constructor(fixture: ComponentFixture<T>) {\n super(fixture);\n }\n\n public get link(): LinkDefinition {\n return new LinkDefinition(this, this.debugElement.query(By.directive(RouterLinkStubDirective)));\n }\n}\n","import {DebugElement} from '@angular/core';\nimport {MatMenuItem, MatMenuTrigger} from '@angular/material/menu';\nimport {By} from '@angular/platform-browser';\nimport {LoginMenuComponent} from '@dbg-riskit/angular-login';\nimport {ByUtil} from '../by.util';\nimport {click} from '../events';\nimport {LinkDefinition} from './link.definition';\nimport {Page} from './page.base';\n\nexport class LoginMenuPage extends Page<LoginMenuComponent> {\n\n public get menuTrigger(): DebugElement {\n return this.debugElement.query(By.directive(MatMenuTrigger));\n }\n\n public clickMenuTrigger(): void {\n click(this.menuTrigger);\n this.waitForMenu();\n }\n\n public waitForMenu(): void {\n this.detectChanges(500);\n }\n\n public get loginLink(): LinkDefinition {\n return new LinkDefinition(this, this.debugElement.query(\n ByUtil.and(\n By.directive(MatMenuItem),\n (value: DebugElement) => value.nativeElement.textContent.trim().endsWith('Login'))));\n }\n\n public get logoutLink(): LinkDefinition {\n return new LinkDefinition(this, this.debugElement.query(\n ByUtil.and(\n By.directive(MatMenuItem),\n (value: DebugElement) => value.nativeElement.textContent.trim().endsWith('Logout'))));\n }\n}\n","import {DebugElement} from '@angular/core';\nimport {ComponentFixture, tick} from '@angular/core/testing';\nimport {MatButton} from '@angular/material/button';\nimport {By} from '@angular/platform-browser';\nimport {LoginComponent} from '@dbg-riskit/angular-login';\nimport {NoopAnimationMessageComponent, RISK_ERROR_SELECTOR, RISK_GOOD_SELECTOR} from '@dbg-riskit/angular-view';\nimport {ByUtil} from '../by.util';\nimport {click, setNgModelValue} from '../events';\nimport {MessageComponentDef} from './message.def';\nimport {Page} from './page.base';\n\nexport class LoginPage extends Page<LoginComponent> {\n\n public constructor(fixture: ComponentFixture<LoginComponent>) {\n super(fixture);\n }\n\n public get formElement(): DebugElement {\n return this.debugElement.query(By.css('form'));\n }\n\n public get usernameElement(): DebugElement {\n return this.formElement.query(By.css('input[name=username]'));\n }\n\n public set username(username: string) {\n setNgModelValue(this.usernameElement, username);\n }\n\n public get passwordElement(): DebugElement {\n return this.formElement.query(By.css('input[name=password]'));\n }\n\n public set password(password: string) {\n setNgModelValue(this.passwordElement, password);\n }\n\n public get loginButtonElement(): DebugElement {\n return this.formElement.query(By.directive(MatButton));\n }\n\n public get successMessage(): MessageComponentDef | null {\n const debugElement = this.debugElement.query(\n ByUtil.and(\n By.directive(NoopAnimationMessageComponent),\n By.css(RISK_GOOD_SELECTOR)));\n if (!debugElement) {\n return null;\n }\n return new MessageComponentDef(debugElement);\n }\n\n public get errorMessage(): MessageComponentDef | null {\n const debugElement = this.debugElement.query(\n ByUtil.or(\n ByUtil.and(\n By.directive(NoopAnimationMessageComponent),\n By.css(RISK_ERROR_SELECTOR)),\n By.css('h3')));\n if (!debugElement) {\n return null;\n }\n return new MessageComponentDef(debugElement);\n }\n\n public clickLogin() {\n click(this.loginButtonElement.nativeElement);\n tick();\n this.detectChanges();\n }\n}\n","import {Component} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {By} from '@angular/platform-browser';\nimport {\n RISK_ERROR_SELECTOR,\n RISK_GOOD_SELECTOR,\n RISK_INFO_SELECTOR,\n RISK_INITIAL_LOAD_SELECTOR,\n RISK_MESSAGE_SELECTOR,\n RISK_NO_DATA_SELECTOR,\n RISK_UPDATE_FAILED_SELECTOR,\n RISK_WARN_SELECTOR\n} from '@dbg-riskit/angular-view';\nimport {MessageComponentDef} from './message.def';\nimport {Page} from './page.base';\n\n@Component({\n template: `\n <risk-error [message]=\"message\"></risk-error>\n <risk-good [message]=\"message\"></risk-good>\n <risk-info [message]=\"message\"></risk-info>\n <risk-message [message]=\"message\"></risk-message>\n <risk-warn [message]=\"message\"></risk-warn>\n <risk-initial-load [message]=\"message\"></risk-initial-load>\n <risk-update-failed [message]=\"message\"></risk-update-failed>\n <risk-no-data [message]=\"message\"></risk-no-data>\n `\n})\nexport class TestMessageHostComponent {\n public message = 'custom message';\n}\n\nexport class MessageHostedPage extends Page<TestMessageHostComponent> {\n\n public constructor(fixture: ComponentFixture<TestMessageHostComponent>) {\n super(fixture);\n }\n\n public get error(): MessageComponentDef {\n return new MessageComponentDef(this.debugElement.query(By.css(RISK_ERROR_SELECTOR)));\n }\n\n public get good(): MessageComponentDef {\n return new MessageComponentDef(this.debugElement.query(By.css(RISK_GOOD_SELECTOR)));\n }\n\n public get info(): MessageComponentDef {\n return new MessageComponentDef(this.debugElement.query(By.css(RISK_INFO_SELECTOR)));\n }\n\n public get message(): MessageComponentDef {\n return new MessageComponentDef(this.debugElement.query(By.css(RISK_MESSAGE_SELECTOR)));\n }\n\n public get warn(): MessageComponentDef {\n return new MessageComponentDef(this.debugElement.query(By.css(RISK_WARN_SELECTOR)));\n }\n\n public get initialLoad(): MessageComponentDef {\n return new MessageComponentDef(this.debugElement.query(By.css(RISK_INITIAL_LOAD_SELECTOR)));\n }\n\n public get noData(): MessageComponentDef {\n return new MessageComponentDef(this.debugElement.query(By.css(RISK_NO_DATA_SELECTOR)));\n }\n\n public get updateFailed(): MessageComponentDef {\n return new MessageComponentDef(this.debugElement.query(By.css(RISK_UPDATE_FAILED_SELECTOR)));\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {RouterStateSnapshot} from '@angular/router';\n\nimport {AUTH_CONFIG, AuthConfig, AuthRoutingFlowService, AuthService} from '@dbg-riskit/angular-auth';\nimport {AUTH_PROVIDER} from '@dbg-riskit/angular-common';\n\nimport {Observable, of} from 'rxjs';\nimport {defaultIfEmpty, map} from 'rxjs/operators';\n\nexport const storage: { authRequestedPath: string | null; }\n = {authRequestedPath: null};\n\n@Injectable()\nexport class AuthRoutingFlowServiceStub extends AuthRoutingFlowService {\n\n public constructor(@Inject(AUTH_PROVIDER) private authServiceStub: AuthService,\n @Inject(AUTH_CONFIG) authConfig: AuthConfig) {\n super(null as any, null as any, {loggedIn: of(null)} as any, storage as any, authConfig, null as any);\n // cleanup\n storage.authRequestedPath = null;\n }\n\n public logout(state?: RouterStateSnapshot): Observable<boolean> {\n return this.authServiceStub.logout().pipe(\n defaultIfEmpty(0),\n map(() => true));\n }\n\n public login(username?: string, password?: string): Observable<boolean> {\n return this.authServiceStub.directLogin(username as any, password as any);\n }\n\n public loginViaService(): Observable<boolean> {\n return this.authServiceStub.loginViaAuthService();\n }\n}\n","import {Injectable} from '@angular/core';\n\nimport {WellKnown} from '@dbg-riskit/angular-auth';\n\nimport {Observable, of} from 'rxjs';\n\nexport const WELL_KNOWN: WellKnown = {\n endpoints: {\n auth : '/auth',\n token : '/token',\n logout: '/logout'\n },\n issuer : 'risk-auth'\n};\n\n@Injectable()\nexport class WellKnownServiceStub {\n public get wellKnown(): Observable<WellKnown> {\n return of(WELL_KNOWN);\n }\n\n}\n","import {Injectable} from '@angular/core';\n\nimport {AuthService} from '@dbg-riskit/angular-auth';\nimport {UserInfo} from '@dbg-riskit/common';\n\nimport {EMPTY, Observable, of} from 'rxjs';\nimport {WellKnownServiceStub} from './well.known.service.stub';\n\n@Injectable()\nexport class AuthServiceStub extends AuthService {\n\n public constructor() {\n super({} as any, new WellKnownServiceStub() as any, null as any, null as any, null as any);\n }\n\n private user?: string;\n\n public get loggedIn(): Observable<boolean> {\n return of(!!this.user);\n }\n\n public get userProfile(): Observable<UserInfo> {\n return of({\n name: this.user\n });\n }\n\n public loginViaAuthService(): Observable<boolean> {\n return of(true);\n }\n\n public checkLocationForLoginData(): Observable<boolean> {\n return of(true);\n }\n\n public directLogin(username: string, password: string): Observable<boolean> {\n this.user = username;\n this.emitLoginStatusChange(true);\n return of(true);\n }\n\n public logout(): Observable<never> {\n this.emitLoginStatusChange(false);\n delete this.user;\n return EMPTY;\n }\n}\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'login-menu, risk-login-menu',\n template: ''\n})\nexport class LoginMenuStubComponent {\n\n @Input()\n public orientation: 'row' | 'column' = 'row';\n}\n","import {Injectable} from '@angular/core';\n\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable()\nexport class ActivatedRouteStub<T> {\n\n // Test parameters\n private _testParams: T = {} as T;\n\n // ActivatedRoute.params is Observable\n private subject = new BehaviorSubject(this.testParams);\n public params: Observable<T> = this.subject.asObservable();\n\n public get testParams() {\n return this._testParams;\n }\n\n public set testParams(params: T) {\n this._testParams = params;\n this.subject.next(params);\n }\n\n // ActivatedRoute.snapshot.params\n public get snapshot() {\n return {params: this.testParams};\n }\n}\n","import {Component} from '@angular/core';\n\n@Component({\n /* eslint-disable @angular-eslint/component-selector */\n selector: 'router-outlet',\n /* eslint-enable */\n template: ''\n})\nexport class RouterOutletStubComponent {\n}\n","import {EventEmitter, Injectable} from '@angular/core';\nimport {NavigationEnd, NavigationExtras, UrlSegment, UrlSegmentGroup, UrlTree} from '@angular/router';\n\nexport class Snapshot {\n\n public constructor(private stub: RouterStub) {\n }\n\n public get url(): string {\n return this.stub.getCurrentURL();\n }\n}\n\n// @dynamic\n@Injectable()\nexport class RouterStub {\n\n private id = 0;\n\n public navigated = true;\n\n private currentUrlTree: UrlTree = this.createUrlTree(['/dashboard']);\n\n public routerState = {\n snapshot: new Snapshot(this)\n };\n\n public events: EventEmitter<NavigationEnd> = new EventEmitter<NavigationEnd>();\n\n public getURLTree(url: string | UrlTree | any[]): UrlTree {\n if (Array.isArray(url)) {\n return this.createUrlTree(url as any[]);\n }\n\n if (url instanceof Object) {\n return url as UrlTree;\n }\n\n return this.createUrlTree((url as string).split('/'));\n }\n\n public navigateByUrl(url: string | UrlTree) {\n this.currentUrlTree = this.getURLTree(url);\n this.emitNavigate();\n return url;\n }\n\n public navigate(commands: any[], extras?: NavigationExtras) {\n this.currentUrlTree = this.getURLTree(commands);\n this.emitNavigate();\n return [commands, extras];\n }\n\n private emitNavigate(): void {\n this.id++;\n const urlString = this.getCurrentURL();\n this.events.emit(new NavigationEnd(this.id, urlString, urlString));\n }\n\n public isActive(url: UrlTree): boolean {\n return this.getCurrentURL().indexOf(RouterStub.serializeUrl(url)) !== -1;\n }\n\n public getCurrentURL() {\n return RouterStub.serializeUrl(this.currentUrlTree);\n }\n\n public createUrlTree(commands: any[], extras?: NavigationExtras): UrlTree {\n const _b = extras || {};\n const queryParams = _b.queryParams || {};\n const fragment = _b.fragment || '';\n return {\n root : new UrlSegmentGroup(commands.map((command: any) => {\n return new UrlSegment(command, {});\n }), {}),\n queryParams,\n fragment,\n queryParamMap: {\n ...new Map(),\n getAll: () => [],\n keys : []\n }\n };\n }\n\n public static serializeUrl(url: UrlTree): string {\n return url.root.segments.map((segment: UrlSegment) => segment.path).join('/');\n }\n}\n","import {NgModule} from '@angular/core';\nimport {MetadataOverride, TestBed} from '@angular/core/testing';\nimport {ActivatedRoute, Router, RouterModule} from '@angular/router';\nimport {ActivatedRouteStub} from './activated.route.stub';\nimport {RouterLinkStubDirective} from './router.link.stub';\nimport {RouterOutletStubComponent} from './router.outlet.stub.component';\nimport {RouterStub} from './router.stub';\n\nexport function stubRouter(customOverrides?: MetadataOverride<NgModule>): typeof TestBed {\n const override: MetadataOverride<NgModule> = {\n set: {\n imports : [],\n declarations : [\n RouterLinkStubDirective,\n RouterOutletStubComponent\n ],\n providers : [\n {\n provide : Router,\n useClass: RouterStub\n },\n {\n provide : ActivatedRoute,\n useClass: ActivatedRouteStub\n }\n ],\n exports : [\n RouterLinkStubDirective,\n RouterOutletStubComponent\n ],\n entryComponents: []\n }\n };\n if (customOverrides) {\n if (customOverrides.add) {\n override.add = customOverrides.add;\n }\n if (customOverrides.set) {\n Object.assign(override.set, customOverrides.set);\n }\n if (customOverrides.remove) {\n override.remove = customOverrides.remove;\n }\n }\n return TestBed.overrideModule(RouterModule, override);\n}\n","import {Type} from '@angular/core';\nimport {TestBed} from '@angular/core/testing';\nimport {CommonViewModule, NoopAnimationsCommonViewModule} from '@dbg-riskit/angular-view';\nimport {COMPILE_TIMEOUT_INTERVAL} from './environment';\n\nexport function disableMaterialAnimations(ngModule: Type<any>) {\n TestBed.overrideModule(ngModule, {\n remove: {\n imports: [CommonViewModule]\n },\n add : {\n imports: [NoopAnimationsCommonViewModule]\n }\n });\n}\n\nexport function compileTestBed(compileFunction: () => Promise<any>, destroyFunction?: () => void,\n stubMatchMedia = true) {\n\n let matchMedia: any;\n beforeEach((done: DoneFn) => {\n if (stubMatchMedia) {\n matchMedia = window.matchMedia;\n window.matchMedia = fakeMatchMedia();\n }\n\n compileFunction()\n .then(done)\n .catch((err: any) => {\n done.fail(err);\n });\n }, COMPILE_TIMEOUT_INTERVAL);\n\n afterEach(() => {\n if (destroyFunction) {\n destroyFunction();\n }\n\n if (stubMatchMedia) {\n window.matchMedia = matchMedia;\n }\n }, COMPILE_TIMEOUT_INTERVAL);\n}\n\nfunction fakeMatchMedia(matches = false) {\n return (mediaQuery: string): MediaQueryList => ({\n matches,\n media : mediaQuery,\n onchange : () => null as any,\n addListener : () => null as any,\n addEventListener : () => null as any,\n removeListener : () => null as any,\n removeEventListener: () => null as any,\n dispatchEvent : () => true\n });\n}\n","import {NgModule} from '@angular/core';\n\nimport {DataTableModule} from '@dbg-riskit/angular-datatable';\nimport {FileModule} from '@dbg-riskit/angular-file';\nimport {CommonViewModule} from '@dbg-riskit/angular-view';\n\nimport {TestDataTableHostComponent} from './definitions/data.table.definition';\nimport {DownloadTestComponent} from './definitions/download.menu.page';\nimport {HighLighterDirectiveTestComponent} from './definitions/highlighter.directive.page';\nimport {TestLayoutHostComponent} from './definitions/layout.component.page';\nimport {TestMessageHostComponent} from './definitions/message.page';\nimport {LoginMenuStubComponent} from './stubs/login.menu.stub.component';\nimport {RouterLinkStubDirective} from './stubs/router/router.link.stub';\nimport {RouterOutletStubComponent} from './stubs/router/router.outlet.stub.component';\n\n@NgModule({\n imports : [\n CommonViewModule,\n FileModule,\n DataTableModule\n ],\n declarations: [\n DownloadTestComponent,\n TestDataTableHostComponent,\n HighLighterDirectiveTestComponent,\n TestLayoutHostComponent,\n RouterLinkStubDirective,\n TestMessageHostComponent,\n LoginMenuStubComponent,\n RouterOutletStubComponent\n ]\n})\nexport class TestingModule {\n}\n","// WARNING: Do not change order in this file!!! Environment has to be first as it includes polyfills\nexport * from './lib/environment';\n\nexport * from './lib/definitions/download.menu.page';\nexport * from './lib/definitions/data.table.definition';\nexport * from './lib/definitions/highlighter.directive.page';\nexport * from './lib/definitions/layout.component.page';\nexport * from './lib/definitions/link.definition';\nexport * from './lib/definitions/link.only.page';\nexport * from './lib/definitions/login.menu.page';\nexport * from './lib/definitions/login.page';\nexport * from './lib/definitions/message.def';\nexport * from './lib/definitions/message.page';\nexport * from './lib/definitions/page.base';\n\nexport * from './lib/stubs/auth/auth.routing.flow.service.stub';\nexport * from './lib/stubs/auth/auth.service.stub';\nexport * from './lib/stubs/auth/well.known.service.stub';\n\nexport * from './lib/stubs/http.service.stub';\nexport * from './lib/stubs/login.menu.stub.component';\n\nexport * from './lib/stubs/router/activated.route.stub';\nexport * from './lib/stubs/router/router.link.stub';\nexport * from './lib/stubs/router/router.outlet.stub.component';\nexport * from './lib/stubs/router/router.stub';\nexport * from './lib/stubs/router/router.module.stub';\n\nexport * from './lib/by.util';\nexport * from './lib/events';\nexport * from './lib/utils';\nexport * from './lib/testing.module';\n\nexport {\n LayoutComponent,\n NoopAnimationsCommonViewModule,\n NoopAnimationMessageComponent\n} from '@dbg-riskit/angular-view';\n\nimport {globalScope} from '@dbg-riskit/common';\n\n// Add CachedResourceProviderImpl to compiler configuration\nif ('beforeEach' in globalScope && globalScope.beforeEach) {\n globalScope.beforeEach(() => {\n // Disable logging in Safari as the Selenium WebDriver is not working there correctly....\n if ('navigator' in globalScope) {\n const ua = globalScope.navigator.userAgent.toLowerCase();\n if ('spyOn' in globalScope && globalScope.spyOn\n && ua.indexOf('safari') > -1\n && ua.indexOf('chrome') === -1) {\n globalScope.spyOn(console, 'log').and.stub();\n globalScope.spyOn(console, 'info').and.stub();\n globalScope.spyOn(console, 'warn').and.stub();\n globalScope.spyOn(console, 'debug').and.stub();\n globalScope.spyOn(console, 'error').and.stub();\n }\n }\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_throwError","i1"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dbg-riskit-angular-testing.mjs","sources":["../../../../pkg/dbg-riskit/angular-testing/src/lib/environment.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/events.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/http.service.stub.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/message.def.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/page.base.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/download.menu.page.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/data.table.definition.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/highlighter.directive.page.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/by.util.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/layout.component.page.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/router/router.link.stub.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/link.definition.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/link.only.page.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/login.menu.page.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/login.page.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/definitions/message.page.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/auth/auth.routing.flow.service.stub.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/auth/well.known.service.stub.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/auth/auth.service.stub.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/login.menu.stub.component.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/router/activated.route.stub.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/router/router.outlet.stub.component.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/router/router.stub.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/stubs/router/router.module.stub.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/utils.ts","../../../../pkg/dbg-riskit/angular-testing/src/lib/testing.module.ts","../../../../pkg/dbg-riskit/angular-testing/src/public_api.ts","../../../../pkg/dbg-riskit/angular-testing/src/dbg-riskit-angular-testing.ts"],"sourcesContent":["// Has to be first in this order\nimport '@dbg-riskit/angular-polyfill';\nimport 'zone.js/testing';\n\n// Other modules follow\nimport {getTestBed} from '@angular/core/testing';\nimport {BrowserDynamicTestingModule, platformBrowserDynamicTesting} from '@angular/platform-browser-dynamic/testing';\n\nexport const COMPILE_TIMEOUT_INTERVAL = Math.pow(2, 31) - 1;\n\nexport function initTestEnvironment() {\n Error.stackTraceLimit = 10;\n\n jasmine.DEFAULT_TIMEOUT_INTERVAL = 5000;\n\n // TODO: Quick fix for memory leaks\n window.addEventListener = () => {\n return;\n };\n window.document.addEventListener = () => {\n return;\n };\n\n // First, initialize the Angular testing environment.\n getTestBed().initTestEnvironment(\n BrowserDynamicTestingModule,\n platformBrowserDynamicTesting(), {\n teardown: {destroyAfterEach: false}\n }\n );\n}\n","import {DebugElement} from '@angular/core';\n\nimport {tick} from '@angular/core/testing';\n\n/** Button events to pass to `DebugElement.triggerEventHandler` for RouterLink event handler */\nexport const BUTTON_CLICK_EVENTS = {\n left : {button: 0},\n right: {button: 2}\n};\n\n/** Simulate element click. Defaults to mouse left-button click event. */\nexport function click(el: DebugElement | HTMLElement, eventObj: any = BUTTON_CLICK_EVENTS.left): void {\n if (el instanceof HTMLElement) {\n el.click();\n } else {\n el.triggerEventHandler('click', eventObj);\n }\n}\n\nexport function setNgModelValue(element: DebugElement, value: string, realAsync = false): void {\n if (!(element.nativeElement instanceof HTMLInputElement)) {\n throw new Error('Not an instance of HTMLInputElement');\n }\n const input: HTMLInputElement = element.nativeElement;\n input.value = value;\n\n dispatchEvent(input, 'input'); // tell Angular\n if (!realAsync) {\n tick();\n }\n}\n\nexport function setNgModelSelectValue(element: DebugElement, selectedIndex: number, realAsync = false): void {\n if (!(element.nativeElement instanceof HTMLSelectElement)) {\n throw new Error('Not an instance of HTMLInputElement');\n }\n const input: HTMLSelectElement = element.nativeElement;\n input.selectedIndex = selectedIndex;\n\n dispatchEvent(input, 'change'); // tell Angular\n if (!realAsync) {\n tick();\n }\n}\n\nexport function dispatchEvent(element: DebugElement | HTMLElement | Window, eventName: string): void {\n if (element instanceof HTMLElement) {\n element.dispatchEvent(newEvent(eventName));\n } else if (element instanceof Window) {\n element.dispatchEvent(newEvent(eventName));\n } else {\n element.nativeElement.dispatchEvent(newEvent(eventName));\n }\n}\n\n/**\n * Create custom DOM event the old fashioned way\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/Event/initEvent\n * Although officially deprecated, some browsers (phantom) don't accept the preferred \"new Event(eventName)\"\n */\nexport function newEvent(eventName: string, bubbles = false, cancelable = false): CustomEvent {\n const evt = document.createEvent('CustomEvent'); // MUST be 'CustomEvent'\n evt.initCustomEvent(eventName, bubbles, cancelable, null);\n return evt;\n}\n","import {EventEmitter, Injectable} from '@angular/core';\nimport {Request, RequestWithData} from '@dbg-riskit/angular-common';\nimport {ErrorMessage} from '@dbg-riskit/common';\nimport {Observable, of, throwError as _throwError, timer} from 'rxjs';\nimport {switchMap} from 'rxjs/operators';\n\nexport const FAKE_HTTP_ASYNC_TIMEOUT = 1000;\n\n@Injectable()\nexport class HttpServiceStub<T> {\n\n private value: T[] = [];\n private error: ErrorMessage[] = [];\n\n public unauthorized: EventEmitter<ErrorMessage> = new EventEmitter();\n\n public returnValue(value: T) {\n this.value.push(value);\n }\n\n public popReturnValue(): T | undefined {\n return this.value.pop();\n }\n\n public shiftReturnValue(): T | undefined {\n return this.value.shift();\n }\n\n public throwError(value: ErrorMessage) {\n this.error.push(value);\n }\n\n public get(request: Request<T>): Observable<T | undefined> {\n if (this.error.length) {\n const error = this.error.shift();\n return _throwError(error);\n }\n const value: T | undefined = this.value.shift();\n return of(value);\n }\n\n public post(request: RequestWithData<T>): Observable<T | undefined> {\n return this.get(request);\n }\n}\n\n@Injectable()\nexport class HttpAsyncServiceStub<T> extends HttpServiceStub<T> {\n\n public get(request: Request<T>, auth = true): Observable<T | undefined> {\n return timer(FAKE_HTTP_ASYNC_TIMEOUT).pipe(\n switchMap(() => super.get(request))\n );\n }\n\n public post(request: RequestWithData<T>): Observable<T | undefined> {\n return this.get(request);\n }\n}\n","import {DebugElement} from '@angular/core';\nimport {MatCard} from '@angular/material/card';\nimport {By} from '@angular/platform-browser';\n\nexport class MessageComponentDef {\n\n public constructor(public debugElement: DebugElement) {\n if (debugElement == null) {\n throw new Error('Debug element not found!');\n }\n }\n\n public get text(): string {\n return this.debugElement.query(By.directive(MatCard)).nativeElement.textContent.replace(/\\n\\s*/g, ' ')\n .replace(/\\r\\s*/g, ' ').trim();\n }\n}\n","import {DebugElement} from '@angular/core';\nimport {ComponentFixture, discardPeriodicTasks, tick} from '@angular/core/testing';\nimport {By} from '@angular/platform-browser';\nimport {RISK_INITIAL_LOAD_SELECTOR, RISK_NO_DATA_SELECTOR} from '@dbg-riskit/angular-view';\nimport {FAKE_HTTP_ASYNC_TIMEOUT} from '../stubs/http.service.stub';\nimport {MessageComponentDef} from './message.def';\n\nexport class Page<T> {\n\n public debugElement: DebugElement;\n public component: T;\n private _timeOffset = 0;\n\n public constructor(protected fixture: ComponentFixture<T>) {\n this.debugElement = fixture.debugElement;\n this.component = this.debugElement.componentInstance;\n }\n\n public detectChanges(millis = 0): void {\n this.fixture.detectChanges();\n tick(millis);\n this._timeOffset += millis;\n }\n\n public advanceAndDetectChanges(millis = 0): void {\n tick(millis);\n this._timeOffset += millis;\n this.detectChanges();\n }\n\n public advanceHTTP(): void {\n this.advanceAndDetectChanges(FAKE_HTTP_ASYNC_TIMEOUT);\n }\n\n public advanceAndDetectChangesUsingOffset(millis: number): void {\n this.advanceAndDetectChanges(millis - this._timeOffset);\n this.resetTimeOffset();\n }\n\n public resetTimeOffset(): void {\n this._timeOffset = 0;\n }\n\n public destroy() {\n this.fixture.destroy();\n try {\n // Move a lot into fututre ;)\n tick(60 * 60 * 1000);\n discardPeriodicTasks();\n } catch (ignore) {\n // Nothing to do...\n }\n }\n}\n\nexport class PageWithLoading<T> extends Page<T> {\n\n public constructor(fixture: ComponentFixture<T>) {\n super(fixture);\n }\n\n public get initialLoadComponent(): MessageComponentDef | null {\n const element = this.debugElement.query(By.css(RISK_INITIAL_LOAD_SELECTOR));\n if (element) {\n return new MessageComponentDef(element);\n }\n return null;\n }\n\n public get noDataComponent(): MessageComponentDef | null {\n const element = this.debugElement.query(By.css(RISK_NO_DATA_SELECTOR));\n if (element) {\n return new MessageComponentDef(element);\n }\n return null;\n }\n}\n","import {Component, DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {MatMenuItem, MatMenuTrigger} from '@angular/material/menu';\nimport {By} from '@angular/platform-browser';\nimport {\n AbstractFileDownloadDirective,\n CSVDownloadMenuComponent,\n CSVFileDownloadDirective,\n FileDownloadDirective\n} from '@dbg-riskit/angular-file';\nimport * as fileSaver from 'file-saver';\nimport {Observable} from 'rxjs';\nimport {click} from '../events';\nimport {Page} from './page.base';\nimport Spy = jasmine.Spy;\n\nexport class CSVDownloadMenuPage extends Page<CSVDownloadMenuComponent> {\n\n public constructor(fixture: ComponentFixture<CSVDownloadMenuComponent>) {\n super(fixture);\n }\n\n public get downloadWindowsLink(): DownloadLink {\n // Open the menu first\n click(this.debugElement.query(By.directive(MatMenuTrigger)));\n this.detectChanges(500);\n\n return new DownloadLink(this.debugElement.queryAll(By.directive(MatMenuItem))[0], this);\n }\n\n public get downloadUnixLink(): DownloadLink {\n // Open the menu first\n click(this.debugElement.query(By.directive(MatMenuTrigger)));\n this.detectChanges(500);\n\n return new DownloadLink(this.debugElement.queryAll(By.directive(MatMenuItem))[1], this);\n }\n}\n\nexport class DownloadLink {\n private _blobSpy?: jasmine.Spy;\n private _saveBlobSpy?: jasmine.Spy;\n\n public constructor(public element: DebugElement, private page: { detectChanges: () => void }) {\n }\n\n public click(): void {\n this.setupBlobConstructorSpy();\n this.setupSaveBlobSpy();\n click(this.element);\n this.page.detectChanges();\n }\n\n public get blobSpy(): Spy {\n this.setupBlobConstructorSpy();\n return this._blobSpy!;\n }\n\n private setupBlobConstructorSpy() {\n if (!this._blobSpy) {\n let downloadDirective: AbstractFileDownloadDirective<unknown>;\n try {\n downloadDirective = this.element.injector.get(CSVFileDownloadDirective);\n } catch (_) {\n downloadDirective = this.element.injector.get(FileDownloadDirective);\n }\n this._blobSpy = spyOn(downloadDirective, 'createBlob').and.callThrough();\n }\n }\n\n public get saveSpy(): Spy {\n this.setupSaveBlobSpy();\n return this._saveBlobSpy!;\n }\n\n private setupSaveBlobSpy() {\n if (!this._saveBlobSpy) {\n this._saveBlobSpy = spyOn(fileSaver, 'saveAs');\n }\n }\n}\n\n@Component({\n template: `\n <a [risk-download]=\"data\"\n [risk-download-content-type]=\"contentType\"\n [risk-download-filename]=\"filename\">Download</a>\n `\n})\nexport class DownloadTestComponent {\n public data: any | Observable<any>;\n\n public contentType?: string;\n\n public filename?: string;\n}\n\nexport class DownloadTestComponentPage extends Page<DownloadTestComponent> {\n\n public constructor(fixture: ComponentFixture<DownloadTestComponent>) {\n super(fixture);\n }\n\n public get downloadLink(): DownloadLink {\n return new DownloadLink(this.debugElement.query(By.directive(FileDownloadDirective)), this);\n }\n}\n","import {Component, DebugElement, DebugNode} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {MatAnchor, MatButton} from '@angular/material/button';\nimport {MatButtonToggle} from '@angular/material/button-toggle';\nimport {MatIcon} from '@angular/material/icon';\nimport {MatTooltip} from '@angular/material/tooltip';\nimport {By} from '@angular/platform-browser';\nimport {ValueGetter, secureRandom} from '@dbg-riskit/common';\nimport {\n DataTableComponent,\n DataTableRowDetailExpanderComponent,\n HIGHLIGHTER_CLASS,\n OrderingCriteria,\n PagingComponent\n} from '@dbg-riskit/angular-datatable';\nimport {click} from '../events';\nimport {Page} from './page.base';\n\nexport class DataTableDefinition {\n\n public constructor(public debugElement: DebugElement,\n private page: { detectChanges: () => void, advanceAndDetectChanges: () => void }) {\n }\n\n public get component(): DataTableComponent<unknown, unknown> {\n return this.debugElement.componentInstance;\n }\n\n public get data(): any[] {\n return this.component.plainData;\n }\n\n public get element(): DebugElement {\n return this.debugElement.query(By.css('.risk-data-table-wrapper > table'));\n }\n\n public get header(): TableHeader {\n return new TableHeader(this.debugElement.query((de) => de.references.mainHeader), this.page);\n }\n\n public get sorting(): TableSorting {\n return new TableSorting(this, this.page);\n }\n\n public get body(): TableBody {\n return new TableBody(this.debugElement.query((de) => de.references.mainBody), this.page);\n }\n\n public get footer(): TableFooter {\n return new TableFooter(this.debugElement.query((de) => de.references.mainFooter));\n }\n\n public get recordsCount(): RecordsCount {\n return new RecordsCount(this.debugElement.query(By.css('.risk-data-table-page-count')));\n }\n\n public get pager(): Pager {\n return new Pager(this.debugElement.query(By.directive(PagingComponent)), this.page);\n }\n}\n\n// <editor-fold defaultstate=\"collapsed\" desc=\"Table header\">\n\nexport class TableHeader {\n\n public constructor(public element: DebugElement, private page: { detectChanges: () => void }) {\n }\n\n public get rows(): TableHeaderRow[] {\n return this.element.queryAll(By.css('tr')).map((element: DebugElement) => {\n return new TableHeaderRow(element, this.page);\n });\n }\n\n public get cells(): TableHeaderCell[] {\n return this.element.queryAll(By.css('th')).map((element: DebugElement) => {\n return new TableHeaderCell(element, this.page);\n });\n }\n\n}\n\nexport class TableHeaderRow {\n public constructor(public element: DebugElement, private page: { detectChanges: () => void }) {\n }\n\n public get cells(): TableHeaderCell[] {\n return this.element.queryAll(By.css('th')).map((element: DebugElement) => {\n return new TableHeaderCell(element, this.page);\n });\n }\n}\n\nexport class TableHeaderCell {\n\n public constructor(public element: DebugElement, private page: { detectChanges: () => void }) {\n }\n\n public get sortingHandle(): SortingHandle | null {\n const handle = this.element.query(By.directive(MatButton));\n if (handle) {\n return new SortingHandle(this.page, handle);\n }\n return null;\n }\n\n public get tooltip(): string | null {\n const handle = this.element.query(By.directive(MatTooltip));\n if (handle) {\n return handle.injector.get(MatTooltip).message;\n }\n return null;\n }\n\n public get title(): string {\n const textNode = this.element.childNodes.find((node: DebugNode) => node.nativeNode.nodeType === Node.TEXT_NODE);\n if (textNode != null) {\n return textNode\n .nativeNode.textContent.trim();\n }\n return '';\n }\n\n public get colspan(): number {\n return this.element.nativeElement.colspan;\n }\n\n public get rowspan(): number {\n return this.element.nativeElement.rowspan;\n }\n\n}\n\n// <editor-fold defaultstate=\"collapsed\" desc=\"Sorting\">\n\nexport class TableSorting {\n\n public constructor(private table: DataTableDefinition, private page: { detectChanges: () => void }) {\n }\n\n public get handles(): SortingHandle[] {\n const handles = this.table.debugElement.query((de) => de.references.mainHeader)\n .queryAll(By.directive(MatButton));\n if (!handles) {\n return [];\n }\n return handles.map((handle: DebugElement) => {\n return new SortingHandle(this.page, handle);\n });\n }\n\n public get detailRowHandles(): SortingHandle[] | null {\n const handles = this.table.debugElement.query(By.css('.risk-data-table-detail')).query(By.css('thead'))\n .queryAll(By.directive(MatButton));\n if (!handles) {\n return null;\n }\n return handles.map((handle: DebugElement) => {\n return new SortingHandle(this.page, handle);\n });\n }\n\n public get currentOrdering(): Array<OrderingCriteria<any>> {\n return (this.table.component as any).ordering;\n }\n\n public checkSorting(firstNRows: number = this.table.component.rows.length,\n criterium?: OrderingCriteria<any>): void {\n // WARN: call data once as it calls .map on all table rows\n const data = this.table.data;\n\n let ordering: Array<OrderingCriteria<any>>;\n if (criterium) {\n ordering = [criterium].concat((this.table.component as any)._defaultOrdering);\n } else {\n ordering = this.currentOrdering;\n }\n for (let i = 1; i < Math.min(data.length, firstNRows); i++) {\n ordering.some((criteria: OrderingCriteria<any>) => {\n //noinspection EqualityComparisonWithCoercionJS\n const valueA: any = criteria.get(data[i - 1]);\n const valueB: any = criteria.get(data[i]);\n if (valueA == null && valueB == null) {\n return false;\n }\n expect(valueA).not.toBeNull();\n expect(valueA).not.toBeUndefined();\n if (valueB != null) {\n if (criteria.descending) {\n expect(valueA >= valueB)\n .toBeTruthy('Expect: ' + valueA + ' >= '\n + valueB);\n } else {\n expect(valueA <= valueB)\n .toBeTruthy('Expect: ' + valueA + ' <= '\n + valueB);\n }\n }\n return valueA !== valueB;\n });\n }\n }\n}\n\nexport class SortingHandle {\n\n public constructor(private page: { detectChanges: () => void }, private handle: DebugElement) {\n }\n\n public click() {\n click(this.handle);\n this.page.detectChanges();\n }\n}\n\n// </editor-fold>\n\n// </editor-fold>\n\n// <editor-fold defaultstate=\"collapsed\" desc=\"Table body\">\n\nexport class TableBody {\n\n public constructor(public element: DebugElement, private page: { detectChanges: () => void }) {\n }\n\n public get rows(): TableBodyRow[] {\n return this.element.queryAll((de) => de.references.masterRow).map((element: DebugElement) => {\n return new TableBodyRow(element, this.page);\n });\n }\n\n public get cells(): TableBodyCell[] {\n let cells: TableBodyCell[] = [];\n this.element.queryAll((de) => de.references.masterRow).forEach((row: DebugElement) => {\n cells = cells.concat(row.queryAll(By.css('td')).map((cell: DebugElement) => {\n return new TableBodyCell(cell);\n }));\n });\n return cells;\n }\n}\n\nexport class TableBodyRow {\n\n public constructor(public element: DebugElement, private page: { detectChanges: () => void }) {\n }\n\n public expandRow(): void {\n click(this.element);\n this.page.detectChanges();\n }\n\n public get expander(): RowExpander {\n return new RowExpander(\n this.element.query(By.directive(DataTableRowDetailExpanderComponent)).query(By.directive(MatAnchor)));\n }\n\n public get cells(): TableBodyCell[] {\n return this.element.queryAll(By.css('td')).map((element: DebugElement) => {\n return new TableBodyCell(element);\n });\n }\n\n public get rowDetail(): TableBodyDetail | null {\n const parent = this.element.parent;\n if (parent != null) {\n const next = parent.children[parent.children.indexOf(this.element) + 1];\n if (next && !next.references.masterRow) {\n return new TableBodyDetail(next, this.page);\n }\n }\n return null;\n }\n\n public get highlighted(): boolean {\n return this.element.nativeElement.classList.contains(HIGHLIGHTER_CLASS);\n }\n}\n\nexport class RowExpander {\n public constructor(public element: DebugElement) {\n }\n\n public get icon(): string {\n return this.element.query(By.directive(MatIcon)).nativeElement.textContent.trim();\n }\n\n public get opened(): boolean {\n return this.icon === 'expand_less';\n }\n\n public get closed(): boolean {\n return this.icon === 'expand_more';\n }\n}\n\nexport class TableBodyCell {\n\n public constructor(public element: DebugElement) {\n }\n\n public get colspan(): number {\n return this.element.nativeElement.colspan;\n }\n\n public get rowspan(): number {\n return this.element.nativeElement.rowspan;\n }\n}\n\n// <editor-fold defaultstate=\"collapsed\" desc=\"Row detail\">\n\nexport class TableBodyDetail {\n\n public constructor(public element: DebugElement, private page: { detectChanges: () => void }) {\n }\n\n public header(): TableHeader {\n return new TableHeader(this.element.query(By.css('thead')), this.page);\n }\n\n public get body(): TableBodyDetailBody {\n return new TableBodyDetailBody(this.element.query(By.css('tbody')));\n }\n\n public get highlighted(): boolean {\n return this.element.nativeElement.classList.contains(HIGHLIGHTER_CLASS);\n }\n\n public get colspan(): number {\n return this.element.children[0].nativeElement.colspan;\n }\n}\n\nexport class TableBodyDetailBody {\n\n public constructor(public element: DebugElement) {\n }\n\n public get rows(): TableBodyDetailRow[] {\n return this.element.queryAll(By.css('tr')).map((element: DebugElement) => {\n return new TableBodyDetailRow(element);\n });\n }\n\n public get cells(): TableBodyCell[] {\n let cells: TableBodyCell[] = [];\n this.element.queryAll(By.css('tr')).forEach((row: DebugElement) => {\n cells = cells.concat(row.queryAll(By.css('td')).map((cell: DebugElement) => {\n return new TableBodyCell(cell);\n }));\n });\n return cells;\n }\n}\n\nexport class TableBodyDetailRow {\n\n public constructor(public element: DebugElement) {\n }\n\n public get cells(): TableBodyCell[] {\n return this.element.queryAll(By.css('td')).map((element: DebugElement) => {\n return new TableBodyCell(element);\n });\n }\n}\n\n// </editor-fold>\n\n// </editor-fold>\n\n// <editor-fold defaultstate=\"collapsed\" desc=\"Table footer\">\n\nexport class TableFooter {\n\n public constructor(public element: DebugElement) {\n }\n\n public get rows(): TableFooterRow[] {\n return this.element.queryAll(By.css('tr')).map((element: DebugElement) => {\n return new TableFooterRow(element);\n });\n }\n\n public get cells(): TableBodyCell[] {\n let cells: TableBodyCell[] = [];\n this.element.queryAll(By.css('tr')).forEach((row: DebugElement) => {\n cells = cells.concat(row.queryAll(By.css('th')).map((cell: DebugElement) => {\n return new TableBodyCell(cell);\n }));\n });\n return cells;\n }\n}\n\nexport class TableFooterRow {\n\n public constructor(public element: DebugElement) {\n }\n\n public get cells(): TableBodyCell[] {\n return this.element.queryAll(By.css('th')).map((element: DebugElement) => {\n return new TableBodyCell(element);\n });\n }\n}\n\n// </editor-fold>\n\nexport class RecordsCount {\n\n public constructor(public element: DebugElement) {\n }\n\n public get message(): string {\n return this.element.nativeElement.textContent;\n }\n}\n\nexport class Pager {\n\n public constructor(public element: DebugElement,\n private page: { detectChanges: () => void, advanceAndDetectChanges: () => void }) {\n }\n\n public get pageButtons(): DebugElement[] {\n return this.element.queryAll(By.directive(MatButtonToggle));\n }\n\n public expectLeadingButtonsDisabled() {\n for (let i = 0; i < 2; i++) {\n expect(this.pageButtons[i].classes['mat-button-toggle-disabled'])\n .toBe(true, 'First two are disabled.');\n }\n }\n\n public expectLeadingButtonsNotDisabled() {\n for (let i = 0; i < 2; i++) {\n expect(this.pageButtons[i].classes['mat-button-toggle-disabled'])\n .not.toBe(true, 'First two are not disabled.');\n }\n }\n\n public expectTrailingButtonsDisabled() {\n for (let i = this.pageButtons.length - 1; i > this.pageButtons.length - 3; i--) {\n expect(this.pageButtons[i].classes['mat-button-toggle-disabled'])\n .toBe(true, 'Last two are disabled.');\n }\n }\n\n public expectTrailingButtonsNotDisabled() {\n for (let i = this.pageButtons.length - 1; i > this.pageButtons.length - 3; i--) {\n expect(this.pageButtons[i].classes['mat-button-toggle-disabled'])\n .not.toBe(true, 'Last two are not disabled.');\n }\n }\n\n public expectButtonNumbers(numbers: number[]) {\n for (let i = 0; i < numbers.length; i++) {\n expect(this.pageButtons[i + 2].query(By.css('.mat-button-toggle-label-content'))\n .nativeElement.textContent.trim())\n .toEqual(numbers[i] + '', 'Button numbers are correct');\n }\n }\n\n public expectButtonActive(index: number) {\n expect(this.pageButtons[index].classes['mat-button-toggle-checked'])\n .toBe(true, 'Button is active.');\n }\n\n public click(index: number) {\n click(this.pageButtons[index].query(By.css('.mat-button-toggle-label-content')).nativeElement);\n this.page.detectChanges();\n this.page.advanceAndDetectChanges();\n }\n}\n\nexport function chceckSorting(page: { detectChanges: () => void, dataTable: DataTableDefinition },\n criteria: Array<ValueGetter<any>>) {\n page.dataTable.sorting.checkSorting(150);\n\n page.dataTable.sorting.handles.forEach((handle: SortingHandle, index: number) => {\n // Tigger sort based on a handle\n handle.click();\n page.detectChanges();\n\n // Check the sorting\n page.dataTable.sorting.checkSorting(150, {\n get: criteria[index]\n });\n\n // Tigger sort based on a handle\n handle.click();\n page.detectChanges();\n\n // Check the sorting\n page.dataTable.sorting.checkSorting(150, {\n get : criteria[index],\n descending: true\n });\n });\n}\n\nexport class DataTableDefinitionHosted extends Page<TestDataTableHostComponent> {\n\n public constructor(fixture: ComponentFixture<TestDataTableHostComponent>) {\n super(fixture);\n }\n\n public get dataTable(): DataTableDefinition {\n return new DataTableDefinition(this.debugElement.query(By.directive(DataTableComponent)), this);\n }\n}\n\n@Component({\n template: `\n <risk-data-table [data]=\"data\"\n [footer]=\"footer\"\n [pageSize]=\"20\"\n [defaultOrdering]=\"defaultOrdering\"\n [striped]=\"true\">\n <risk-data-table-column title=\"Test Column 1\"\n [sortingKey]=\"valueGetter\">\n <ng-template let-record=\"row\" risk-data-table-cell>\n {{record.value1}}\n </ng-template>\n </risk-data-table-column>\n <risk-data-table-column>\n <ng-template risk-data-table-cell let-record=\"row\" let-expanded=\"expanded\">\n <risk-data-table-detail-expander [expanded]=\"expanded\"></risk-data-table-detail-expander>\n </ng-template>\n <ng-template risk-data-table-footer-cell let-footer=\"footer\">\n {{footer.value1}}\n </ng-template>\n </risk-data-table-column>\n <!-- Sub detail -->\n <risk-data-table-detail-row>\n <risk-data-table-column-group>\n <risk-data-table-column title=\"Test Detail Column 1\"\n [sortingKey]=\"valueGetter\">\n <ng-template risk-data-table-cell let-record=\"row\">\n {{record.value1}}\n </ng-template>\n </risk-data-table-column>\n </risk-data-table-column-group>\n <risk-data-table-column-group>\n <risk-data-table-column title=\"Test Detail Column 2\">\n <ng-template risk-data-table-cell let-record=\"row\">\n {{record.value2}}\n </ng-template>\n </risk-data-table-column>\n <risk-data-table-column title=\"Test Detail Column 3\">\n <ng-template risk-data-table-cell let-record=\"row\">\n {{record.value3}}\n </ng-template>\n </risk-data-table-column>\n </risk-data-table-column-group>\n <risk-data-table-column-group></risk-data-table-column-group>\n </risk-data-table-detail-row>\n </risk-data-table>`\n})\nexport class TestDataTableHostComponent {\n\n public data: any[];\n\n public footer: any;\n\n public constructor() {\n this.data = [];\n for (let i = 0; i < 500; i++) {\n this.data.push({\n value1: Math.floor(secureRandom() * 20) + ' - value 1',\n value2: Math.floor(secureRandom() * 20) + ' - value 2',\n value3: Math.floor(secureRandom() * 20) + ' - value 3'\n });\n }\n this.footer = this.data[0];\n }\n\n public get defaultOrdering(): Array<OrderingCriteria<any> | ValueGetter<any>> {\n return [\n {\n get : (record: any) => {\n return record.value3;\n },\n descending: true\n },\n (record: any) => {\n return record.value2;\n }\n ];\n }\n\n public get valueGetter(): (record: any) => any {\n return (record: any) => {\n return record.value1;\n };\n }\n}\n","import {Component, DebugElement} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {By} from '@angular/platform-browser';\nimport {HighlighterDirective, Row} from '@dbg-riskit/angular-datatable';\nimport {Page} from './page.base';\n\n@Component({\n template: `\n <div [risk-data-table-highlighter]=\"trackBy\" [risk-data-table-highlighter-context]=\"context\"></div>`\n})\nexport class HighLighterDirectiveTestComponent {\n\n public context?: { row: any, storage?: any, index: number, enabled: boolean };\n\n public trackBy(index: number, row: Row<any>): any {\n return row.rowData;\n }\n}\n\nexport class HighLighterDirectivePage extends Page<HighLighterDirectiveTestComponent> {\n\n public constructor(fixture: ComponentFixture<HighLighterDirectiveTestComponent>) {\n super(fixture);\n }\n\n public get highlightedElement(): DebugElement {\n return this.debugElement.query(By.directive(HighlighterDirective));\n }\n\n public get classList(): DOMTokenList {\n return this.highlightedElement.nativeElement.classList;\n }\n\n public get highlighter(): HighlighterDirective<unknown> {\n return this.highlightedElement.injector.get(HighlighterDirective);\n }\n}\n","import {Predicate} from '@angular/core';\n\n// @dynamic\nexport class ByUtil {\n\n public static and<T>(...predicates: Array<Predicate<T>>): Predicate<T> {\n return (val: T) => {\n return predicates.every((predicate: Predicate<T>) => predicate(val));\n };\n }\n\n public static or<T>(...predicates: Array<Predicate<T>>): Predicate<T> {\n return (val: T) => {\n return predicates.some((predicate: Predicate<T>) => predicate(val));\n };\n }\n\n public static not<T>(predicate: Predicate<T>): Predicate<T> {\n return (val: T) => {\n return !predicate(val);\n };\n }\n}\n","import {Component, DebugElement} from '@angular/core';\nimport {MatSidenav, MatSidenavContainer} from '@angular/material/sidenav';\nimport {MatToolbar} from '@angular/material/toolbar';\nimport {By} from '@angular/platform-browser';\nimport {LayoutComponent} from '@dbg-riskit/angular-view';\nimport {ByUtil} from '../by.util';\nimport {Page} from './page.base';\n\nexport class LayoutComponentDefinition {\n\n public constructor(public debugElement: DebugElement,\n private page: { advanceAndDetectChanges: (milis?: number) => void }) {\n }\n\n public get component(): LayoutComponent {\n return this.debugElement.componentInstance;\n }\n\n public get headToolbar(): DebugElement {\n return this.debugElement.query(ByUtil.and(By.directive(MatToolbar), By.css('.mat-elevation-z2')));\n }\n\n public get logo(): DebugElement {\n return this.headToolbar.query(By.css('.risk-layout-logo'));\n }\n\n public get menu(): DebugElement[] {\n return this.headToolbar.queryAll(ByUtil.or(\n By.css('[menu-horizontal]'),\n By.css('risk-layout-horizontal')));\n }\n\n public get sideNavContainer(): DebugElement {\n return this.debugElement.query(By.directive(MatSidenavContainer));\n }\n\n public get sideNav(): DebugElement {\n return this.sideNavContainer.query(By.directive(MatSidenav));\n }\n\n public openSideNav(): void {\n (this.sideNav.componentInstance as MatSidenav).open();\n this.page.advanceAndDetectChanges();\n }\n\n public closeSideNav(): void {\n (this.sideNav.componentInstance as MatSidenav).close();\n this.page.advanceAndDetectChanges(1);\n }\n\n public get sideNavMenu(): DebugElement[] {\n return this.sideNav.queryAll(ByUtil.or(\n By.css('[menu-vertical]'),\n By.css('risk-layout-vertical')));\n }\n\n public get content(): DebugElement {\n return this.sideNavContainer.query(By.css('.risk-layout-content'));\n }\n\n}\n\nexport class TestLayoutComponentHostPage extends Page<TestLayoutHostComponent> {\n\n public get layoutComponent(): LayoutComponentDefinition {\n return new LayoutComponentDefinition(this.debugElement.query(By.directive(LayoutComponent)), this);\n }\n}\n\n@Component({\n template: `\n <risk-layout>\n <!-- menu-horizontal -->\n <risk-layout-horizontal>\n HorizontalMenu\n </risk-layout-horizontal>\n <!-- menu-horizontal -->\n\n <!-- menu-vertical -->\n <risk-layout-vertical>\n Vertical menu\n </risk-layout-vertical>\n\n <span>Content</span>\n </risk-layout>\n `\n})\nexport class TestLayoutHostComponent {\n\n}\n","import {Directive, Injector, Input, OnChanges} from '@angular/core';\nimport {Router, UrlTree} from '@angular/router';\n\nimport {RouterStub} from './router.stub';\n\n@Directive({\n /* eslint-disable @angular-eslint/directive-selector */\n selector: '[routerLink]',\n /* eslint-enable */\n host : {\n '(click)': 'onClick()'\n }\n})\nexport class RouterLinkStubDirective implements OnChanges {\n\n @Input('routerLink')\n public linkParams: any;\n\n public navigatedTo: any = null;\n private _urlTree: UrlTree | null = null;\n\n private routerStub: RouterStub;\n\n public constructor(injector: Injector) {\n this.routerStub = injector.get(Router, null) as any;\n }\n\n public ngOnChanges(): void {\n if (this.linkParams && this.routerStub) {\n this._urlTree = this.routerStub.getURLTree(this.linkParams);\n }\n }\n\n public onClick(): void {\n this.navigatedTo = this.linkParams;\n if (this.routerStub) {\n if (Array.isArray(this.navigatedTo)) {\n this.routerStub.navigate(this.navigatedTo);\n } else {\n this.routerStub.navigateByUrl(this.navigatedTo);\n }\n }\n }\n\n public get urlTree(): UrlTree | null {\n return this._urlTree;\n }\n}\n","import {DebugElement} from '@angular/core';\n\nimport {click} from '../events';\nimport {RouterLinkStubDirective} from '../stubs/router/router.link.stub';\nimport {Page} from './page.base';\n\nexport class LinkDefinition {\n\n public constructor(private page: Page<any>, public link: DebugElement) {\n }\n\n public get stub(): RouterLinkStubDirective {\n return this.link.injector.get(RouterLinkStubDirective);\n }\n\n public get text(): string {\n return this.link.nativeElement.textContent.trim();\n }\n\n public click() {\n click(this.link.nativeElement);\n this.page.advanceAndDetectChanges();\n }\n}\n","import {ComponentFixture} from '@angular/core/testing';\nimport {By} from '@angular/platform-browser';\nimport {RouterLinkStubDirective} from '../stubs/router/router.link.stub';\nimport {LinkDefinition} from './link.definition';\nimport {Page} from './page.base';\n\nexport class LinkOnlyPage<T> extends Page<T> {\n\n public constructor(fixture: ComponentFixture<T>) {\n super(fixture);\n }\n\n public get link(): LinkDefinition {\n return new LinkDefinition(this, this.debugElement.query(By.directive(RouterLinkStubDirective)));\n }\n}\n","import {DebugElement} from '@angular/core';\nimport {MatMenuItem, MatMenuTrigger} from '@angular/material/menu';\nimport {By} from '@angular/platform-browser';\nimport {LoginMenuComponent} from '@dbg-riskit/angular-login';\nimport {ByUtil} from '../by.util';\nimport {click} from '../events';\nimport {LinkDefinition} from './link.definition';\nimport {Page} from './page.base';\n\nexport class LoginMenuPage extends Page<LoginMenuComponent> {\n\n public get menuTrigger(): DebugElement {\n return this.debugElement.query(By.directive(MatMenuTrigger));\n }\n\n public clickMenuTrigger(): void {\n click(this.menuTrigger);\n this.waitForMenu();\n }\n\n public waitForMenu(): void {\n this.detectChanges(500);\n }\n\n public get loginLink(): LinkDefinition {\n return new LinkDefinition(this, this.debugElement.query(\n ByUtil.and(\n By.directive(MatMenuItem),\n (value: DebugElement) => value.nativeElement.textContent.trim().endsWith('Login'))));\n }\n\n public get logoutLink(): LinkDefinition {\n return new LinkDefinition(this, this.debugElement.query(\n ByUtil.and(\n By.directive(MatMenuItem),\n (value: DebugElement) => value.nativeElement.textContent.trim().endsWith('Logout'))));\n }\n}\n","import {DebugElement} from '@angular/core';\nimport {ComponentFixture, tick} from '@angular/core/testing';\nimport {MatButton} from '@angular/material/button';\nimport {By} from '@angular/platform-browser';\nimport {LoginComponent} from '@dbg-riskit/angular-login';\nimport {NoopAnimationMessageComponent, RISK_ERROR_SELECTOR, RISK_GOOD_SELECTOR} from '@dbg-riskit/angular-view';\nimport {ByUtil} from '../by.util';\nimport {click, setNgModelValue} from '../events';\nimport {MessageComponentDef} from './message.def';\nimport {Page} from './page.base';\n\nexport class LoginPage extends Page<LoginComponent> {\n\n public constructor(fixture: ComponentFixture<LoginComponent>) {\n super(fixture);\n }\n\n public get formElement(): DebugElement {\n return this.debugElement.query(By.css('form'));\n }\n\n public get usernameElement(): DebugElement {\n return this.formElement.query(By.css('input[name=username]'));\n }\n\n public set username(username: string) {\n setNgModelValue(this.usernameElement, username);\n }\n\n public get passwordElement(): DebugElement {\n return this.formElement.query(By.css('input[name=password]'));\n }\n\n public set password(password: string) {\n setNgModelValue(this.passwordElement, password);\n }\n\n public get loginButtonElement(): DebugElement {\n return this.formElement.query(By.directive(MatButton));\n }\n\n public get successMessage(): MessageComponentDef | null {\n const debugElement = this.debugElement.query(\n ByUtil.and(\n By.directive(NoopAnimationMessageComponent),\n By.css(RISK_GOOD_SELECTOR)));\n if (!debugElement) {\n return null;\n }\n return new MessageComponentDef(debugElement);\n }\n\n public get errorMessage(): MessageComponentDef | null {\n const debugElement = this.debugElement.query(\n ByUtil.or(\n ByUtil.and(\n By.directive(NoopAnimationMessageComponent),\n By.css(RISK_ERROR_SELECTOR)),\n By.css('h3')));\n if (!debugElement) {\n return null;\n }\n return new MessageComponentDef(debugElement);\n }\n\n public clickLogin() {\n click(this.loginButtonElement.nativeElement);\n tick();\n this.detectChanges();\n }\n}\n","import {Component} from '@angular/core';\nimport {ComponentFixture} from '@angular/core/testing';\nimport {By} from '@angular/platform-browser';\nimport {\n RISK_ERROR_SELECTOR,\n RISK_GOOD_SELECTOR,\n RISK_INFO_SELECTOR,\n RISK_INITIAL_LOAD_SELECTOR,\n RISK_MESSAGE_SELECTOR,\n RISK_NO_DATA_SELECTOR,\n RISK_UPDATE_FAILED_SELECTOR,\n RISK_WARN_SELECTOR\n} from '@dbg-riskit/angular-view';\nimport {MessageComponentDef} from './message.def';\nimport {Page} from './page.base';\n\n@Component({\n template: `\n <risk-error [message]=\"message\"></risk-error>\n <risk-good [message]=\"message\"></risk-good>\n <risk-info [message]=\"message\"></risk-info>\n <risk-message [message]=\"message\"></risk-message>\n <risk-warn [message]=\"message\"></risk-warn>\n <risk-initial-load [message]=\"message\"></risk-initial-load>\n <risk-update-failed [message]=\"message\"></risk-update-failed>\n <risk-no-data [message]=\"message\"></risk-no-data>\n `\n})\nexport class TestMessageHostComponent {\n public message = 'custom message';\n}\n\nexport class MessageHostedPage extends Page<TestMessageHostComponent> {\n\n public constructor(fixture: ComponentFixture<TestMessageHostComponent>) {\n super(fixture);\n }\n\n public get error(): MessageComponentDef {\n return new MessageComponentDef(this.debugElement.query(By.css(RISK_ERROR_SELECTOR)));\n }\n\n public get good(): MessageComponentDef {\n return new MessageComponentDef(this.debugElement.query(By.css(RISK_GOOD_SELECTOR)));\n }\n\n public get info(): MessageComponentDef {\n return new MessageComponentDef(this.debugElement.query(By.css(RISK_INFO_SELECTOR)));\n }\n\n public get message(): MessageComponentDef {\n return new MessageComponentDef(this.debugElement.query(By.css(RISK_MESSAGE_SELECTOR)));\n }\n\n public get warn(): MessageComponentDef {\n return new MessageComponentDef(this.debugElement.query(By.css(RISK_WARN_SELECTOR)));\n }\n\n public get initialLoad(): MessageComponentDef {\n return new MessageComponentDef(this.debugElement.query(By.css(RISK_INITIAL_LOAD_SELECTOR)));\n }\n\n public get noData(): MessageComponentDef {\n return new MessageComponentDef(this.debugElement.query(By.css(RISK_NO_DATA_SELECTOR)));\n }\n\n public get updateFailed(): MessageComponentDef {\n return new MessageComponentDef(this.debugElement.query(By.css(RISK_UPDATE_FAILED_SELECTOR)));\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {RouterStateSnapshot} from '@angular/router';\n\nimport {AUTH_CONFIG, AuthConfig, AuthRoutingFlowService, AuthService} from '@dbg-riskit/angular-auth';\nimport {AUTH_PROVIDER} from '@dbg-riskit/angular-common';\n\nimport {Observable, of} from 'rxjs';\nimport {defaultIfEmpty, map} from 'rxjs/operators';\n\nexport const storage: { authRequestedPath: string | null; }\n = {authRequestedPath: null};\n\n@Injectable()\nexport class AuthRoutingFlowServiceStub extends AuthRoutingFlowService {\n\n public constructor(@Inject(AUTH_PROVIDER) private authServiceStub: AuthService,\n @Inject(AUTH_CONFIG) authConfig: AuthConfig) {\n super(null as any, null as any, {loggedIn: of(null)} as any, storage as any, authConfig, null as any);\n // cleanup\n storage.authRequestedPath = null;\n }\n\n public logout(state?: RouterStateSnapshot): Observable<boolean> {\n return this.authServiceStub.logout().pipe(\n defaultIfEmpty(0),\n map(() => true));\n }\n\n public login(username?: string, password?: string): Observable<boolean> {\n return this.authServiceStub.directLogin(username as any, password as any);\n }\n\n public loginViaService(): Observable<boolean> {\n return this.authServiceStub.loginViaAuthService();\n }\n}\n","import {Injectable} from '@angular/core';\n\nimport {WellKnown} from '@dbg-riskit/angular-auth';\n\nimport {Observable, of} from 'rxjs';\n\nexport const WELL_KNOWN: WellKnown = {\n endpoints: {\n auth : '/auth',\n token : '/token',\n logout: '/logout'\n },\n issuer : 'risk-auth'\n};\n\n@Injectable()\nexport class WellKnownServiceStub {\n public get wellKnown(): Observable<WellKnown> {\n return of(WELL_KNOWN);\n }\n\n}\n","import {Injectable} from '@angular/core';\n\nimport {AuthService} from '@dbg-riskit/angular-auth';\nimport {UserInfo} from '@dbg-riskit/common';\n\nimport {EMPTY, Observable, of} from 'rxjs';\nimport {WellKnownServiceStub} from './well.known.service.stub';\n\n@Injectable()\nexport class AuthServiceStub extends AuthService {\n\n public constructor() {\n super({} as any, new WellKnownServiceStub() as any, null as any, null as any, null as any);\n }\n\n private user?: string;\n\n public get loggedIn(): Observable<boolean> {\n return of(!!this.user);\n }\n\n public get userProfile(): Observable<UserInfo> {\n return of({\n name: this.user\n });\n }\n\n public loginViaAuthService(): Observable<boolean> {\n return of(true);\n }\n\n public checkLocationForLoginData(): Observable<boolean> {\n return of(true);\n }\n\n public directLogin(username: string, password: string): Observable<boolean> {\n this.user = username;\n this.emitLoginStatusChange(true);\n return of(true);\n }\n\n public logout(): Observable<never> {\n this.emitLoginStatusChange(false);\n delete this.user;\n return EMPTY;\n }\n}\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'login-menu, risk-login-menu',\n template: ''\n})\nexport class LoginMenuStubComponent {\n\n @Input()\n public orientation: 'row' | 'column' = 'row';\n}\n","import {Injectable} from '@angular/core';\n\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable()\nexport class ActivatedRouteStub<T> {\n\n // Test parameters\n private _testParams: T = {} as T;\n\n // ActivatedRoute.params is Observable\n private subject = new BehaviorSubject(this.testParams);\n public params: Observable<T> = this.subject.asObservable();\n\n public get testParams() {\n return this._testParams;\n }\n\n public set testParams(params: T) {\n this._testParams = params;\n this.subject.next(params);\n }\n\n // ActivatedRoute.snapshot.params\n public get snapshot() {\n return {params: this.testParams};\n }\n}\n","import {Component} from '@angular/core';\n\n@Component({\n /* eslint-disable @angular-eslint/component-selector */\n selector: 'router-outlet',\n /* eslint-enable */\n template: ''\n})\nexport class RouterOutletStubComponent {\n}\n","import {EventEmitter, Injectable} from '@angular/core';\nimport {NavigationEnd, NavigationExtras, UrlSegment, UrlSegmentGroup, UrlTree} from '@angular/router';\n\nexport class Snapshot {\n\n public constructor(private stub: RouterStub) {\n }\n\n public get url(): string {\n return this.stub.getCurrentURL();\n }\n}\n\n// @dynamic\n@Injectable()\nexport class RouterStub {\n\n private id = 0;\n\n public navigated = true;\n\n private currentUrlTree: UrlTree = this.createUrlTree(['/dashboard']);\n\n public routerState = {\n snapshot: new Snapshot(this)\n };\n\n public events: EventEmitter<NavigationEnd> = new EventEmitter<NavigationEnd>();\n\n public getURLTree(url: string | UrlTree | any[]): UrlTree {\n if (Array.isArray(url)) {\n return this.createUrlTree(url as any[]);\n }\n\n if (url instanceof Object) {\n return url as UrlTree;\n }\n\n return this.createUrlTree((url as string).split('/'));\n }\n\n public navigateByUrl(url: string | UrlTree) {\n this.currentUrlTree = this.getURLTree(url);\n this.emitNavigate();\n return url;\n }\n\n public navigate(commands: any[], extras?: NavigationExtras) {\n this.currentUrlTree = this.getURLTree(commands);\n this.emitNavigate();\n return [commands, extras];\n }\n\n private emitNavigate(): void {\n this.id++;\n const urlString = this.getCurrentURL();\n this.events.emit(new NavigationEnd(this.id, urlString, urlString));\n }\n\n public isActive(url: UrlTree): boolean {\n return this.getCurrentURL().indexOf(RouterStub.serializeUrl(url)) !== -1;\n }\n\n public getCurrentURL() {\n return RouterStub.serializeUrl(this.currentUrlTree);\n }\n\n public createUrlTree(commands: any[], extras?: NavigationExtras): UrlTree {\n const _b = extras || {};\n const queryParams = _b.queryParams || {};\n const fragment = _b.fragment || '';\n return {\n root : new UrlSegmentGroup(commands.map((command: any) => {\n return new UrlSegment(command, {});\n }), {}),\n queryParams,\n fragment,\n queryParamMap: {\n ...new Map(),\n getAll: () => [],\n keys : []\n }\n };\n }\n\n public static serializeUrl(url: UrlTree): string {\n return url.root.segments.map((segment: UrlSegment) => segment.path).join('/');\n }\n}\n","import {NgModule} from '@angular/core';\nimport {MetadataOverride, TestBed} from '@angular/core/testing';\nimport {ActivatedRoute, Router, RouterModule} from '@angular/router';\nimport {ActivatedRouteStub} from './activated.route.stub';\nimport {RouterLinkStubDirective} from './router.link.stub';\nimport {RouterOutletStubComponent} from './router.outlet.stub.component';\nimport {RouterStub} from './router.stub';\n\nexport function stubRouter(customOverrides?: MetadataOverride<NgModule>): typeof TestBed {\n const override: MetadataOverride<NgModule> = {\n set: {\n imports : [],\n declarations : [\n RouterLinkStubDirective,\n RouterOutletStubComponent\n ],\n providers : [\n {\n provide : Router,\n useClass: RouterStub\n },\n {\n provide : ActivatedRoute,\n useClass: ActivatedRouteStub\n }\n ],\n exports : [\n RouterLinkStubDirective,\n RouterOutletStubComponent\n ],\n entryComponents: []\n }\n };\n if (customOverrides) {\n if (customOverrides.add) {\n override.add = customOverrides.add;\n }\n if (customOverrides.set) {\n Object.assign(override.set, customOverrides.set);\n }\n if (customOverrides.remove) {\n override.remove = customOverrides.remove;\n }\n }\n return TestBed.overrideModule(RouterModule, override);\n}\n","import {Type} from '@angular/core';\nimport {TestBed} from '@angular/core/testing';\nimport {CommonViewModule, NoopAnimationsCommonViewModule} from '@dbg-riskit/angular-view';\nimport {COMPILE_TIMEOUT_INTERVAL} from './environment';\n\nexport function disableMaterialAnimations(ngModule: Type<any>) {\n TestBed.overrideModule(ngModule, {\n remove: {\n imports: [CommonViewModule]\n },\n add : {\n imports: [NoopAnimationsCommonViewModule]\n }\n });\n}\n\nexport function compileTestBed(compileFunction: () => Promise<any>, destroyFunction?: () => void,\n stubMatchMedia = true) {\n\n let matchMedia: any;\n beforeEach((done: DoneFn) => {\n if (stubMatchMedia) {\n matchMedia = window.matchMedia;\n window.matchMedia = fakeMatchMedia();\n }\n\n compileFunction()\n .then(done)\n .catch((err: any) => {\n done.fail(err);\n });\n }, COMPILE_TIMEOUT_INTERVAL);\n\n afterEach(() => {\n if (destroyFunction) {\n destroyFunction();\n }\n\n if (stubMatchMedia) {\n window.matchMedia = matchMedia;\n }\n }, COMPILE_TIMEOUT_INTERVAL);\n}\n\nfunction fakeMatchMedia(matches = false) {\n return (mediaQuery: string): MediaQueryList => ({\n matches,\n media : mediaQuery,\n onchange : () => null as any,\n addListener : () => null as any,\n addEventListener : () => null as any,\n removeListener : () => null as any,\n removeEventListener: () => null as any,\n dispatchEvent : () => true\n });\n}\n","import {NgModule} from '@angular/core';\n\nimport {DataTableModule} from '@dbg-riskit/angular-datatable';\nimport {FileModule} from '@dbg-riskit/angular-file';\nimport {CommonViewModule} from '@dbg-riskit/angular-view';\n\nimport {TestDataTableHostComponent} from './definitions/data.table.definition';\nimport {DownloadTestComponent} from './definitions/download.menu.page';\nimport {HighLighterDirectiveTestComponent} from './definitions/highlighter.directive.page';\nimport {TestLayoutHostComponent} from './definitions/layout.component.page';\nimport {TestMessageHostComponent} from './definitions/message.page';\nimport {LoginMenuStubComponent} from './stubs/login.menu.stub.component';\nimport {RouterLinkStubDirective} from './stubs/router/router.link.stub';\nimport {RouterOutletStubComponent} from './stubs/router/router.outlet.stub.component';\n\n@NgModule({\n imports : [\n CommonViewModule,\n FileModule,\n DataTableModule\n ],\n declarations: [\n DownloadTestComponent,\n TestDataTableHostComponent,\n HighLighterDirectiveTestComponent,\n TestLayoutHostComponent,\n RouterLinkStubDirective,\n TestMessageHostComponent,\n LoginMenuStubComponent,\n RouterOutletStubComponent\n ]\n})\nexport class TestingModule {\n}\n","// WARNING: Do not change order in this file!!! Environment has to be first as it includes polyfills\nexport * from './lib/environment';\n\nexport * from './lib/definitions/download.menu.page';\nexport * from './lib/definitions/data.table.definition';\nexport * from './lib/definitions/highlighter.directive.page';\nexport * from './lib/definitions/layout.component.page';\nexport * from './lib/definitions/link.definition';\nexport * from './lib/definitions/link.only.page';\nexport * from './lib/definitions/login.menu.page';\nexport * from './lib/definitions/login.page';\nexport * from './lib/definitions/message.def';\nexport * from './lib/definitions/message.page';\nexport * from './lib/definitions/page.base';\n\nexport * from './lib/stubs/auth/auth.routing.flow.service.stub';\nexport * from './lib/stubs/auth/auth.service.stub';\nexport * from './lib/stubs/auth/well.known.service.stub';\n\nexport * from './lib/stubs/http.service.stub';\nexport * from './lib/stubs/login.menu.stub.component';\n\nexport * from './lib/stubs/router/activated.route.stub';\nexport * from './lib/stubs/router/router.link.stub';\nexport * from './lib/stubs/router/router.outlet.stub.component';\nexport * from './lib/stubs/router/router.stub';\nexport * from './lib/stubs/router/router.module.stub';\n\nexport * from './lib/by.util';\nexport * from './lib/events';\nexport * from './lib/utils';\nexport * from './lib/testing.module';\n\nexport {\n LayoutComponent,\n NoopAnimationsCommonViewModule,\n NoopAnimationMessageComponent\n} from '@dbg-riskit/angular-view';\n\nimport {globalScope} from '@dbg-riskit/common';\n\n// Add CachedResourceProviderImpl to compiler configuration\nif ('beforeEach' in globalScope && globalScope.beforeEach) {\n globalScope.beforeEach(() => {\n // Disable logging in Safari as the Selenium WebDriver is not working there correctly....\n if ('navigator' in globalScope) {\n const ua = globalScope.navigator.userAgent.toLowerCase();\n if ('spyOn' in globalScope && globalScope.spyOn\n && ua.indexOf('safari') > -1\n && ua.indexOf('chrome') === -1) {\n globalScope.spyOn(console, 'log').and.stub();\n globalScope.spyOn(console, 'info').and.stub();\n globalScope.spyOn(console, 'warn').and.stub();\n globalScope.spyOn(console, 'debug').and.stub();\n globalScope.spyOn(console, 'error').and.stub();\n }\n }\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_throwError","i1"],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|