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 @@ |
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 | 69 | } |
70 | 70 | } |
71 | 71 | ]) |
72 | -@Inject(ProfileService, "$log", "$stateParams") | |
72 | +@Inject(ProfileService, "$stateParams") | |
73 | 73 | export class Profile { |
74 | 74 | |
75 | 75 | boxes: noosferoModels.Box[]; |
76 | 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 | 79 | profileService.getByIdentifier($stateParams["profile"]).then((response: restangular.IResponse) => { |
80 | 80 | this.profile = response.data[0]; |
81 | 81 | profileService.setCurrentProfile(this.profile); | ... | ... |
src/app/profile/profile.controller.spec.js