X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fapp%2Fvorgang%2Fvorgang.component.spec.ts;h=1e786f58bd70a52101772854e4fec14b7b0fc88d;hb=a3fbe02b047f901a7fd7c16ee7b001379d92e702;hp=6d671fc9ae990d4499194b7b42d8a75aa425be61;hpb=b4b42f22c5320db3f9634889a3254a250a7746f5;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 6d671fc..1e786f5 100644 --- a/src/app/vorgang/vorgang.component.spec.ts +++ b/src/app/vorgang/vorgang.component.spec.ts @@ -1,21 +1,39 @@ 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(); }); @@ -23,10 +41,19 @@ describe('VorgangComponent', () => { expect(component).toBeTruthy(); }); - it('should render vorgang', () => { - const fixture = TestBed.createComponent(VorgangComponent); + 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('p').textContent).toContain('Hello world!'); + expect(compiled.querySelector('.vorgang-result')).toBeTruthy(); + expect(compiled.querySelector('.vorgang-result > li')).toBeNull(); }); });