/// import { TestBed, async } from "@angular/core/testing"; import { Observable } from "rxjs/Observable"; import {TodoCmp} from "../../../../client/dev/todo/components/todo-cmp"; import {TodoService} from "../../../../client/dev/todo/services/todo-service"; class MockTodoService extends TodoService { getAll(): Observable { return new Observable((o) => { o.next([]); }); } add(message: string): Observable { return new Observable((o) => { o.next(message); }); } remove(id: string): Observable { return new Observable((o) => { o.next(id); }); } } describe("todo_component", () => { describe("creation", () => { it("should create the component correctly", async(() => { let fixture = TestBed.createComponent(TodoCmp); fixture.detectChanges(); let compiled = fixture.debugElement.nativeElement; expect(compiled).toBeDefined(); })); it("should inicialize the cmp correctly", async(() => { let fixture = TestBed.createComponent(TodoCmp); let instance = fixture.debugElement.componentInstance; spyOn(instance, "_getAll").and.callFake(() => {}); fixture.detectChanges(); expect(instance._getAll).toHaveBeenCalled(); })); it("should call add correctly", async(() => { let fixture = TestBed.createComponent(TodoCmp); fixture.detectChanges(); let instance = fixture.debugElement.componentInstance; let _todoMsg = "yo"; instance.add(_todoMsg); })); it("should call remove correctly", async(() => { let fixture = TestBed.createComponent(TodoCmp); fixture.detectChanges(); let instance = fixture.debugElement.componentInstance; let _id = "abc123"; instance.remove(_id); })); }); });