WIP
[examples/angular-tour-of-heroes] / src / app / vorgang / vorgang.component.spec.ts
index 6d671fc..7eb12a4 100644 (file)
@@ -1,16 +1,32 @@
 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;
+
+  const initialState = { vorgaenge: [] };
 
   beforeEach(async(() => {
     TestBed.configureTestingModule({
-      declarations: [ VorgangComponent ]
+      declarations: [ VorgangComponent ],
+      providers: [
+        provideMockStore({ initialState }),
+        { provide: VorgangService, useClass: VorgangServiceStub }
+      ]
     })
     .compileComponents();
+
+    mockStore = TestBed.inject(MockStore);
   }));
 
   beforeEach(() => {
@@ -23,10 +39,19 @@ describe('VorgangComponent', () => {
     expect(component).toBeTruthy();
   });
 
-  it('should render vorgang', () => {
-    const fixture = TestBed.createComponent(VorgangComponent);
-    fixture.detectChanges();
-    const compiled = fixture.debugElement.nativeElement;
-    expect(compiled.querySelector('p').textContent).toContain('Hello world!');
-  });
+//  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();
+//  });
 });