Commit 96006ac8fa4eb48cc6ba7fce6cd3f2824ed7f68e
1 parent
98db105e
Exists in
master
and in
34 other branches
Add tests to profile component
Showing
3 changed files
with
49 additions
and
14 deletions
Show diff stats
@@ -0,0 +1,47 @@ | @@ -0,0 +1,47 @@ | ||
1 | +import {quickCreateComponent} from "../../spec/helpers"; | ||
2 | +import {Profile} from "./profile.component"; | ||
3 | + | ||
4 | +describe("Components", () => { | ||
5 | + describe("Profile Component", () => { | ||
6 | + | ||
7 | + let $rootScope: ng.IRootScopeService; | ||
8 | + let $q: ng.IQService; | ||
9 | + let profileServiceMock: any; | ||
10 | + let $stateParams: any; | ||
11 | + | ||
12 | + beforeEach(inject((_$rootScope_: ng.IRootScopeService, _$q_: ng.IQService) => { | ||
13 | + $rootScope = _$rootScope_; | ||
14 | + $q = _$q_; | ||
15 | + })); | ||
16 | + | ||
17 | + beforeEach(() => { | ||
18 | + $stateParams = jasmine.createSpyObj("$stateParams", ["profile"]); | ||
19 | + profileServiceMock = jasmine.createSpyObj("profileServiceMock", ["getByIdentifier", "getBoxes", "setCurrentProfile"]); | ||
20 | + | ||
21 | + let getByIdentifierResponse = $q.defer(); | ||
22 | + getByIdentifierResponse.resolve({ data: [{ id: 1 }] }); | ||
23 | + let getBoxesResponse = $q.defer(); | ||
24 | + getBoxesResponse.resolve({ data: { boxes: [{ id: 2 }] } }); | ||
25 | + | ||
26 | + profileServiceMock.getByIdentifier = jasmine.createSpy("getByIdentifier").and.returnValue(getByIdentifierResponse.promise); | ||
27 | + profileServiceMock.getBoxes = jasmine.createSpy("getBoxes").and.returnValue(getBoxesResponse.promise); | ||
28 | + }); | ||
29 | + | ||
30 | + it("get the profile and store in profile service", done => { | ||
31 | + let component: Profile = new Profile(profileServiceMock, $stateParams); | ||
32 | + $rootScope.$apply(); | ||
33 | + expect(profileServiceMock.getByIdentifier).toHaveBeenCalled(); | ||
34 | + expect(profileServiceMock.setCurrentProfile).toHaveBeenCalled(); | ||
35 | + expect(component.profile).toEqual({ id: 1 }); | ||
36 | + done(); | ||
37 | + }); | ||
38 | + | ||
39 | + it("get the profile boxes", done => { | ||
40 | + let component: Profile = new Profile(profileServiceMock, $stateParams); | ||
41 | + $rootScope.$apply(); | ||
42 | + expect(profileServiceMock.getBoxes).toHaveBeenCalled(); | ||
43 | + expect(component.boxes).toEqual([{ id: 2 }]); | ||
44 | + done(); | ||
45 | + }); | ||
46 | + }); | ||
47 | +}); |
src/app/profile/profile.component.ts
@@ -69,13 +69,13 @@ import * as noosferoModels from "./../models/interfaces"; | @@ -69,13 +69,13 @@ import * as noosferoModels from "./../models/interfaces"; | ||
69 | } | 69 | } |
70 | } | 70 | } |
71 | ]) | 71 | ]) |
72 | -@Inject(ProfileService, "$log", "$stateParams") | 72 | +@Inject(ProfileService, "$stateParams") |
73 | export class Profile { | 73 | export class Profile { |
74 | 74 | ||
75 | boxes: noosferoModels.Box[]; | 75 | boxes: noosferoModels.Box[]; |
76 | profile: noosferoModels.Profile; | 76 | profile: noosferoModels.Profile; |
77 | 77 | ||
78 | - constructor(profileService: ProfileService, $log: ng.ILogService, $stateParams: ng.ui.IStateParamsService) { | 78 | + constructor(profileService: ProfileService, $stateParams: ng.ui.IStateParamsService) { |
79 | profileService.getByIdentifier($stateParams["profile"]).then((response: restangular.IResponse) => { | 79 | profileService.getByIdentifier($stateParams["profile"]).then((response: restangular.IResponse) => { |
80 | this.profile = response.data[0]; | 80 | this.profile = response.data[0]; |
81 | profileService.setCurrentProfile(this.profile); | 81 | profileService.setCurrentProfile(this.profile); |
src/app/profile/profile.controller.spec.js