Commit 3d642749a248d0ff775adef7930a651a43eab230
1 parent
3f5ff960
Exists in
master
and in
1 other branch
changes on navbar spec. adding a test to complete 100% coverage
Showing
1 changed file
with
20 additions
and
10 deletions
Show diff stats
src/app/components/navbar/navbar.spec.ts
| @@ -21,7 +21,7 @@ describe("Components", () => { | @@ -21,7 +21,7 @@ describe("Components", () => { | ||
| 21 | let $modal: any; | 21 | let $modal: any; |
| 22 | let authService: any; | 22 | let authService: any; |
| 23 | let stateService: any; | 23 | let stateService: any; |
| 24 | - let sessionService: any; | 24 | + let sessionService: Session; |
| 25 | 25 | ||
| 26 | let provideFunc = provide; | 26 | let provideFunc = provide; |
| 27 | 27 | ||
| @@ -36,7 +36,7 @@ describe("Components", () => { | @@ -36,7 +36,7 @@ describe("Components", () => { | ||
| 36 | $modal = helpers.mocks.$modal; | 36 | $modal = helpers.mocks.$modal; |
| 37 | authService = helpers.mocks.authService; | 37 | authService = helpers.mocks.authService; |
| 38 | stateService = jasmine.createSpyObj("$state", ["go"]); | 38 | stateService = jasmine.createSpyObj("$state", ["go"]); |
| 39 | - sessionService = helpers.mocks.sessionWithCurrentUser(user); | 39 | + sessionService = <any>helpers.mocks.sessionWithCurrentUser(user); |
| 40 | }); | 40 | }); |
| 41 | 41 | ||
| 42 | 42 | ||
| @@ -155,18 +155,28 @@ describe("Components", () => { | @@ -155,18 +155,28 @@ describe("Components", () => { | ||
| 155 | let navbarComp: Navbar = <Navbar>fixture.debugElement.componentViewChildren[0].componentInstance; | 155 | let navbarComp: Navbar = <Navbar>fixture.debugElement.componentViewChildren[0].componentInstance; |
| 156 | let localScope: ng.IScope = navbarComp["$scope"]; | 156 | let localScope: ng.IScope = navbarComp["$scope"]; |
| 157 | 157 | ||
| 158 | - | ||
| 159 | navbarComp.openLogin(); | 158 | navbarComp.openLogin(); |
| 160 | - | ||
| 161 | - localScope.$on(AUTH_EVENTS.loginSuccess, () => { | ||
| 162 | - expect(modalInstance.close).toHaveBeenCalled(); | ||
| 163 | - done(); | ||
| 164 | - }); | ||
| 165 | - | ||
| 166 | localScope.$emit(AUTH_EVENTS.loginSuccess); | 159 | localScope.$emit(AUTH_EVENTS.loginSuccess); |
| 167 | - fixture.detectChanges(); | 160 | + expect(modalInstance.close).toHaveBeenCalled(); |
| 161 | + done(); | ||
| 162 | + }); | ||
| 163 | + }); | ||
| 164 | + | ||
| 165 | + it('updates current user on logout', (done: Function) => { | ||
| 166 | + buildComponent().then((fixture: ComponentFixture) => { | ||
| 167 | + let navbarComp: Navbar = <Navbar>fixture.debugElement.componentViewChildren[0].componentInstance; | ||
| 168 | + let localScope: ng.IScope = navbarComp["$scope"]; | ||
| 168 | 169 | ||
| 170 | + // init navbar currentUser with some user | ||
| 171 | + navbarComp["currentUser"] = user; | ||
| 169 | 172 | ||
| 173 | + // changes the current User to return null, | ||
| 174 | + // and emmit the 'logoutSuccess' event | ||
| 175 | + // just what happens when user logsout | ||
| 176 | + sessionService.currentUser = () => { return null; }; | ||
| 177 | + localScope.$emit(AUTH_EVENTS.logoutSuccess); | ||
| 178 | + expect(navbarComp["currentUser"]).toBeNull(); | ||
| 179 | + done(); | ||
| 170 | }); | 180 | }); |
| 171 | }); | 181 | }); |
| 172 | 182 |