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<VorgangComponent>;
+ let mockStore: MockStore;
+ // let mockUsernameSelector: MemoizedSelector<any, Vorgang>;
+
+ 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();
+ });
});