WIP
[examples/angular-tour-of-heroes] / src / app / vorgang / vorgang.component.spec.ts
1 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
2 import { provideMockStore, MockStore } from '@ngrx/store/testing';
3 import { MemoizedSelector, State } from '@ngrx/store';
4
5 import { VorgangComponent } from './vorgang.component';
6 import { VorgangService } from '../vorgang.service';
7 import { Vorgang } from '../vorgang';
8 import Result = jasmine.Result;
9
10 class VorgangServiceStub {}
11
12 describe('VorgangComponent', () => {
13   let component: VorgangComponent;
14   let fixture: ComponentFixture<VorgangComponent>;
15   let mockStore: MockStore;
16   // let mockUsernameSelector: MemoizedSelector<any, Vorgang>;
17
18   const initialState = { vorgaenge: [] };
19
20   beforeEach(async(() => {
21     TestBed.configureTestingModule({
22       declarations: [ VorgangComponent ],
23       providers: [
24         provideMockStore({ initialState }),
25         { provide: VorgangService, useClass: VorgangServiceStub }
26       ]
27     })
28     .compileComponents();
29
30     mockStore = TestBed.inject(MockStore);
31   }));
32
33   beforeEach(() => {
34     fixture = TestBed.createComponent(VorgangComponent);
35     component = fixture.componentInstance;
36     // mockUsernameSelector = mockStore.overrideSelector('vorgang', Vorgang);
37     fixture.detectChanges();
38   });
39
40   it('should create', () => {
41     expect(component).toBeTruthy();
42   });
43
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();
49   });
50
51   it('should render new vorgang-list', () => {
52     const vorgang: Vorgang = require('../../mock/vorgang.json');
53     // mockStore.set
54     fixture.detectChanges();
55     const compiled = fixture.debugElement.nativeElement;
56     expect(compiled.querySelector('.vorgang-result')).toBeTruthy();
57     expect(compiled.querySelector('.vorgang-result > li')).toBeNull();
58   });
59 });