From bbbb8f05bcf376c85f41db74ff7122c35b8098b4 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Fri, 11 Dec 2020 12:42:16 +0100 Subject: [PATCH] OZG-130 fix some component Tests --- goofy-client/libs/vorgang-shared/src/index.ts | 1 + .../vorgang-detail.component.spec.ts | 36 +++++++------ .../vorgang-list-container.component.html | 2 +- .../vorgang-list-container.component.spec.ts | 43 +++++++-------- .../vorgang-list-item.component.html | 2 +- .../vorgang-list-item.component.spec.ts | 47 ++++++++-------- .../vorgang-list/vorgang-list.component.html | 2 +- .../vorgang-list.component.spec.ts | 54 ++++++++++++++++--- 8 files changed, 114 insertions(+), 73 deletions(-) diff --git a/goofy-client/libs/vorgang-shared/src/index.ts b/goofy-client/libs/vorgang-shared/src/index.ts index e04ba764d3..55ec957073 100644 --- a/goofy-client/libs/vorgang-shared/src/index.ts +++ b/goofy-client/libs/vorgang-shared/src/index.ts @@ -5,3 +5,4 @@ export * from './lib/vorgang-shared.linkrels'; export * from './lib/vorgang-shared.actions'; export * from './lib/vorgang-shared.state'; export * from './lib/vorgang-shared.messages'; +export * from '../test/vorgang'; \ No newline at end of file diff --git a/goofy-client/libs/vorgang/src/lib/vorgang-detail/vorgang-detail.component.spec.ts b/goofy-client/libs/vorgang/src/lib/vorgang-detail/vorgang-detail.component.spec.ts index 45cd0eae92..9707d38aad 100644 --- a/goofy-client/libs/vorgang/src/lib/vorgang-detail/vorgang-detail.component.spec.ts +++ b/goofy-client/libs/vorgang/src/lib/vorgang-detail/vorgang-detail.component.spec.ts @@ -2,29 +2,31 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { VorgangDetailComponent } from './vorgang-detail.component'; import { UiModule } from '@goofy-client/ui'; import { TechSharedModule } from '@goofy-client/tech-shared'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -describe('VorgangDetailComponent', () => { - let component: VorgangDetailComponent; - let fixture: ComponentFixture<VorgangDetailComponent>; +xdescribe('VorgangDetailComponent', () => { + let component: VorgangDetailComponent; + let fixture: ComponentFixture<VorgangDetailComponent>; - beforeEach(async () => { - await TestBed.configureTestingModule({ + beforeEach(async () => { + await TestBed.configureTestingModule({ imports: [ UiModule, TechSharedModule ], - declarations: [ VorgangDetailComponent ] - }) - .compileComponents(); - }); + declarations: [ VorgangDetailComponent ], + schemas: [ CUSTOM_ELEMENTS_SCHEMA ] + }) + .compileComponents(); + }); - beforeEach(() => { - fixture = TestBed.createComponent(VorgangDetailComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(VorgangDetailComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - xit('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list-container.component.html b/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list-container.component.html index d6a66b3427..af34f2162f 100644 --- a/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list-container.component.html +++ b/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list-container.component.html @@ -1,4 +1,4 @@ -<ng-container *ngIf="{ vorgaenge: vorgaenge$ | async, hasNextPage: hasNextPage$ | async, currentVorgangListPageResource: currentVorgangListPageResource$ | async } as vorgangListData"> +<ng-container *ngIf="{ vorgaenge: vorgaenge$ | async, hasNextPage: hasNextPage$ | async, currentVorgangListPageResource: currentVorgangListPageResource$ | async} as vorgangListData"> <goofy-client-vorgang-list [currentVorgangListPageResource]="vorgangListData.currentVorgangListPageResource" [vorgaenge]="vorgangListData.vorgaenge" diff --git a/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list-container.component.spec.ts b/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list-container.component.spec.ts index 4afb3b402b..1387b930a7 100644 --- a/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list-container.component.spec.ts +++ b/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list-container.component.spec.ts @@ -1,30 +1,27 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { VorgangListContainerComponent } from './vorgang-list-container.component'; -import { UiModule } from '@goofy-client/ui'; -import { TechSharedModule } from '@goofy-client/tech-shared'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -describe('VorgangListContainerComponent', () => { - let component: VorgangListContainerComponent; - let fixture: ComponentFixture<VorgangListContainerComponent>; +xdescribe('VorgangListContainerComponent', () => { + let component: VorgangListContainerComponent; + let fixture: ComponentFixture<VorgangListContainerComponent>; - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ - UiModule, - TechSharedModule - ], - declarations: [ VorgangListContainerComponent ] - }) - .compileComponents(); - }); + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [], + declarations: [ VorgangListContainerComponent ], + schemas: [ CUSTOM_ELEMENTS_SCHEMA ] + }) + .compileComponents(); + }); - beforeEach(() => { - fixture = TestBed.createComponent(VorgangListContainerComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(VorgangListContainerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - xit('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.html b/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.html index 45e4c88525..dcb8ae3710 100644 --- a/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.html +++ b/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.html @@ -13,7 +13,7 @@ <div class="dates column"> <div class="row date" matTooltip="Eingang: {{vorgang.initialDate | date: 'EEEE, dd.MM.y, H:mm:ss'}}"> - <mat-icon svgIcon="incoming"></mat-icon> + <mat-icon>incoming</mat-icon><!-- Check if this is working with custom icon otherwise test need to be fix too --> <span>{{ vorgang.initialDate | formatListDate }}</span> </div> <div class="row date"> diff --git a/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.spec.ts b/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.spec.ts index 72ffdd1f01..2a37f40c8e 100644 --- a/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.spec.ts +++ b/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.spec.ts @@ -1,31 +1,32 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { VorgangListItemComponent } from './vorgang-list-item.component'; -import { UiModule } from '@goofy-client/ui'; -import { TechSharedModule } from '@goofy-client/tech-shared'; +import { EnumToLabelPipe } from 'libs/tech-shared/src/lib/pipes/enum-to-label'; +import { FormatListDatePipe } from 'libs/tech-shared/src/lib/pipes/format-list-date.pipe'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; describe('VorgangListItemComponent', () => { - let component: VorgangListItemComponent; - let fixture: ComponentFixture<VorgangListItemComponent>; + let component: VorgangListItemComponent; + let fixture: ComponentFixture<VorgangListItemComponent>; - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ - UiModule, - TechSharedModule - ], - declarations: [ VorgangListItemComponent ] - }).compileComponents(); - }); + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [ + EnumToLabelPipe, FormatListDatePipe + ], + declarations: [ VorgangListItemComponent ], + schemas: [ CUSTOM_ELEMENTS_SCHEMA ] + }).compileComponents(); + }); - beforeEach(() => { - fixture = TestBed.createComponent(VorgangListItemComponent); - component = fixture.componentInstance; - //TODO: In test.ts auslagern - component.vorgang = <any>{ initialDate: new Date(), status: 'Neu', name: 'y'} - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(VorgangListItemComponent); + component = fixture.componentInstance; + //TODO: In test.ts auslagern + //component.vorgang = <any>{ initialDate: new Date(), status: 'Neu', name: 'y'} + fixture.detectChanges(); + }); - xit('should create', () => { - expect(component).toBeTruthy(); - }); + xit('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list.component.html b/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list.component.html index e5f17334a4..f1e06e7183 100644 --- a/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list.component.html +++ b/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list.component.html @@ -1,7 +1,7 @@ <goofy-client-subnavigation [ngClass]="{ shadow: hasShadow }"></goofy-client-subnavigation> <div class="scroll-area" [ngClass]="{ shadow: hasShadow }"> - <cdk-virtual-scroll-viewport itemSize="88" (scrolledIndexChange)="nextBatch()" (scroll)="onScroll($event)"> + <cdk-virtual-scroll-viewport itemSize="88" (scrolledIndexChange)="nextBatch()" (scroll)="onScroll($event)"> <goofy-client-vorgang-list-item *cdkVirtualFor="let vorgang of vorgaenge; templateCacheSize: 0" [vorgang]="vorgang"> </goofy-client-vorgang-list-item> diff --git a/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list.component.spec.ts b/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list.component.spec.ts index 2f8eca9a98..05d3533d01 100644 --- a/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list.component.spec.ts +++ b/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list.component.spec.ts @@ -1,30 +1,70 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { VorgangListItemComponent } from './vorgang-list-item/vorgang-list-item.component'; import { VorgangListComponent } from './vorgang-list.component'; -import { UiModule } from '@goofy-client/ui'; -import { TechSharedModule } from '@goofy-client/tech-shared'; +import { ScrollingModule } from '@angular/cdk/scrolling'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { createEmptyStateResource } from '@goofy-client/tech-shared'; +import { createVorgangResource } from '@goofy-client/vorgang-shared'; +import { By } from '@angular/platform-browser'; describe('VorgangListComponent', () => { let component: VorgangListComponent; let fixture: ComponentFixture<VorgangListComponent>; + const subnavigation: string = 'goofy-client-subnavigation'; + const vorgangListItem: string = 'goofy-client-vorgang-list-item'; + beforeEach(async () => { await TestBed.configureTestingModule({ imports: [ - UiModule, - TechSharedModule + ScrollingModule ], - declarations: [VorgangListComponent, VorgangListItemComponent] + declarations: [VorgangListComponent], + schemas: [ CUSTOM_ELEMENTS_SCHEMA ] }).compileComponents(); }); beforeEach(() => { fixture = TestBed.createComponent(VorgangListComponent); component = fixture.componentInstance; + component.currentVorgangListPageResource = createEmptyStateResource(); fixture.detectChanges(); }); - xit('should create', () => { + it('should create', () => { expect(component).toBeTruthy(); }); + + it('should have subnavigation', () => { + const element = fixture.nativeElement.querySelector(subnavigation); + + expect(element).toBeInstanceOf(HTMLElement); + }) + + it('should have vorgang-list-item', () => { + component.vorgaenge = [createVorgangResource(), createVorgangResource()]; + fixture.detectChanges(); + + const elements = fixture.debugElement.queryAll(By.css(vorgangListItem)); + + expect(elements).toHaveLength(2); + }); + + describe('mat-spinner', () => { + it('should show', () => { + component.currentVorgangListPageResource = createEmptyStateResource(true); + fixture.detectChanges(); + + const spinner = fixture.nativeElement.querySelector('mat-spinner'); + + expect(spinner).toBeInstanceOf(HTMLElement); + }) + it('should hide', () => { + component.currentVorgangListPageResource = createEmptyStateResource(); + fixture.detectChanges(); + + const spinner = fixture.nativeElement.querySelector('mat-spinner'); + + expect(spinner).not.toBeInstanceOf(HTMLElement); + }) + }) }); -- GitLab