1 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
2 import { provideMockStore, MockStore } from '@ngrx/store/testing';
3 import { MemoizedSelector, State } from '@ngrx/store';
5 import { VorgangComponent } from './vorgang.component';
6 import { VorgangService } from '../vorgang.service';
7 import { Vorgang } from '../vorgang';
8 import Result = jasmine.Result;
10 class VorgangServiceStub {}
12 describe('VorgangComponent', () => {
13 let component: VorgangComponent;
14 let fixture: ComponentFixture<VorgangComponent>;
15 let mockStore: MockStore;
16 let mockUsernameSelector: MemoizedSelector<any, Vorgang>;
18 const initialState = { vorgang: { vorgaenge: [] } };
20 beforeEach(async(() => {
21 TestBed.configureTestingModule({
22 declarations: [ VorgangComponent ],
24 provideMockStore({ initialState }),
25 { provide: VorgangService, useClass: VorgangServiceStub }
30 mockStore = TestBed.inject(MockStore);
34 fixture = TestBed.createComponent(VorgangComponent);
35 component = fixture.componentInstance;
36 mockUsernameSelector = mockStore.overrideSelector('vorgang', Vorgang);
37 fixture.detectChanges();
40 it('should create', () => {
41 expect(component).toBeTruthy();
44 it('should render empty vorgang-list in the beginning', () => {
45 fixture.detectChanges();
46 const compiled = fixture.debugElement.nativeElement;
47 expect(compiled.querySelector('.vorgang-result')).toBeTruthy();
48 expect(compiled.querySelector('.vorgang-result > li')).toBeNull();
51 it('should render new vorgang-list', () => {
52 const vorgang: Vorgang = require('../../mock/vorgang.json');
54 fixture.detectChanges();
55 const compiled = fixture.debugElement.nativeElement;
56 expect(compiled.querySelector('.vorgang-result')).toBeTruthy();
57 expect(compiled.querySelector('.vorgang-result > li')).toBeNull();