tasks-menu.component.spec.ts
1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import { Provider, provide, Component } from 'ng-forward';
import * as helpers from "../../../spec/helpers";
import { ComponentTestHelper, createClass } from '../../../spec/component-test-helper';
import { TasksMenuComponent } from './tasks-menu.component';
import { AuthEvents } from "./../../login";
const htmlTemplate: string = '<tasks-menu></tasks-menu>';
describe("Components", () => {
describe("Task Menu Component", () => {
let helper: ComponentTestHelper<TasksMenuComponent>;
let taskService = jasmine.createSpyObj("taskService", ["getAllPending"]);
let tasks = [{ id: 1 }, { id: 2 }];
let eventsHubService = jasmine.createSpyObj("eventsHubService", ["subscribeToEvent", "emitEvent"]);
taskService.getAllPending = jasmine.createSpy("getAllPending").and.returnValue(Promise.resolve({ headers: () => { }, data: tasks }));
beforeEach(angular.mock.module("templates"));
beforeEach((done) => {
let cls = createClass({
template: htmlTemplate,
directives: [TasksMenuComponent],
providers: [
helpers.createProviderToValue("TaskService", taskService),
helpers.createProviderToValue("EventsHubService", eventsHubService),
helpers.createProviderToValue('SessionService', helpers.mocks.sessionWithCurrentUser({}))
]
});
helper = new ComponentTestHelper<TasksMenuComponent>(cls, done);
});
it("load person tasks", () => {
expect(taskService.getAllPending).toHaveBeenCalled();
});
it("load person tasks when receive a login event", () => {
helper.component.loadTasks = jasmine.createSpy("loadTasks");
helper.component.ngOnInit();
(<any>helper.component['authService'])[AuthEvents[AuthEvents.loginSuccess]].next({});
expect(helper.component.loadTasks).toHaveBeenCalled();
});
});
});