X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fapp%2Fvorgang%2Fvorgang.component.spec.ts;h=1e786f58bd70a52101772854e4fec14b7b0fc88d;hb=a3fbe02b047f901a7fd7c16ee7b001379d92e702;hp=5623c206d484d1c5f1cb1a6b0a5b4ac0e8459d92;hpb=19c4e709fac3a3b73f4bc2cdbebe0f1319195728;p=examples%2Fangular-tour-of-heroes diff --git a/src/app/vorgang/vorgang.component.spec.ts b/src/app/vorgang/vorgang.component.spec.ts index 5623c20..1e786f5 100644 --- a/src/app/vorgang/vorgang.component.spec.ts +++ b/src/app/vorgang/vorgang.component.spec.ts @@ -1,25 +1,59 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { provideMockStore, MockStore } from '@ngrx/store/testing'; +import { MemoizedSelector, State } from '@ngrx/store'; import { VorgangComponent } from './vorgang.component'; +import { VorgangService } from '../vorgang.service'; +import { Vorgang } from '../vorgang'; +import Result = jasmine.Result; + +class VorgangServiceStub {} describe('VorgangComponent', () => { let component: VorgangComponent; let fixture: ComponentFixture; + let mockStore: MockStore; + // let mockUsernameSelector: MemoizedSelector; + + const initialState = { vorgaenge: [] }; beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ VorgangComponent ] + declarations: [ VorgangComponent ], + providers: [ + provideMockStore({ initialState }), + { provide: VorgangService, useClass: VorgangServiceStub } + ] }) .compileComponents(); + + mockStore = TestBed.inject(MockStore); })); beforeEach(() => { fixture = TestBed.createComponent(VorgangComponent); component = fixture.componentInstance; + // mockUsernameSelector = mockStore.overrideSelector('vorgang', Vorgang); fixture.detectChanges(); }); it('should create', () => { expect(component).toBeTruthy(); }); + + it('should render empty vorgang-list in the beginning', () => { + fixture.detectChanges(); + const compiled = fixture.debugElement.nativeElement; + expect(compiled.querySelector('.vorgang-result')).toBeTruthy(); + expect(compiled.querySelector('.vorgang-result > li')).toBeNull(); + }); + + it('should render new vorgang-list', () => { + const vorgang: Vorgang = require('../../mock/vorgang.json'); + // mockStore.set + fixture.detectChanges(); + const compiled = fixture.debugElement.nativeElement; + expect(compiled.querySelector('.vorgang-result')).toBeTruthy(); + expect(compiled.querySelector('.vorgang-result > li')).toBeNull(); + }); });