Commit 976e5d62b43723c8eb209a883713b0e59945eae5

Authored by Victor Costa
1 parent e99067c1

Fix state change of sidebar

src/app/layout/services/body-state-classes.service.spec.ts
... ... @@ -19,9 +19,7 @@ describe("BodyStateClasses Service", () => {
19 19 },
20 20 authService: any = helpers.mocks.authService,
21 21 bodyEl: { className: string },
22   - bodyElJq: any,
23   - contentWrapperEl: { className: string },
24   - contentWrapperElJq: any;
  22 + bodyElJq: any;
25 23  
26 24 let getService = (): BodyStateClassesService => {
27 25 return new BodyStateClassesService($rootScope, $document, $state, authService);
... ... @@ -31,9 +29,6 @@ describe("BodyStateClasses Service", () => {
31 29 authService.isAuthenticated = jasmine.createSpy("isAuthenticated").and.returnValue(true);
32 30 bodyEl = { className: "" };
33 31 bodyElJq = [bodyEl];
34   -
35   - contentWrapperEl = { className: "" };
36   - contentWrapperElJq = [contentWrapperEl];
37 32 });
38 33  
39 34 it("should add the class noosfero-user-logged to the body element if the user is authenticated", () => {
... ... @@ -157,24 +152,20 @@ describe("BodyStateClasses Service", () => {
157 152 it("add a css class to content wrapper element", () => {
158 153 let service = getService();
159 154  
160   - contentWrapperElJq.addClass = jasmine.createSpy("addClass");
161   - contentWrapperElJq.removeClass = jasmine.createSpy("removeClass");
162   -
163   - service["contentWrapperElement"] = contentWrapperElJq;
  155 + let contentWrapperMock = jasmine.createSpyObj("contentWrapperMock", ["addClass", "removeClass"])
  156 + service["getContentWrapper"] = jasmine.createSpy("getContentWrapper").and.returnValue(contentWrapperMock);
164 157 service.addContentClass(true);
165 158  
166   - expect(contentWrapperElJq.addClass).toHaveBeenCalledWith(BodyStateClassesService.CONTENT_WRAPPER_FULL);
  159 + expect(contentWrapperMock.addClass).toHaveBeenCalledWith(BodyStateClassesService.CONTENT_WRAPPER_FULL);
167 160 });
168 161  
169 162 it("remove a css class from content wrapper element", () => {
170 163 let service = getService();
171 164  
172   - contentWrapperElJq.addClass = jasmine.createSpy("addClass");
173   - contentWrapperElJq.removeClass = jasmine.createSpy("removeClass");
174   -
175   - service["contentWrapperElement"] = contentWrapperElJq;
  165 + let contentWrapperMock = jasmine.createSpyObj("contentWrapperMock", ["addClass", "removeClass"])
  166 + service["getContentWrapper"] = jasmine.createSpy("getContentWrapper").and.returnValue(contentWrapperMock);
176 167 service.addContentClass(false);
177 168  
178   - expect(contentWrapperElJq.removeClass).toHaveBeenCalledWith(BodyStateClassesService.CONTENT_WRAPPER_FULL);
  169 + expect(contentWrapperMock.removeClass).toHaveBeenCalledWith(BodyStateClassesService.CONTENT_WRAPPER_FULL);
179 170 });
180 171 });
... ...
src/app/layout/services/body-state-classes.service.ts
... ... @@ -33,7 +33,6 @@ export class BodyStateClassesService {
33 33 public static get CONTENT_WRAPPER_FULL(): string { return "full-content"; }
34 34  
35 35 private bodyElement: ng.IAugmentedJQuery = null;
36   - private contentWrapperElement: INgForwardJQuery = null;
37 36  
38 37 constructor(
39 38 private $rootScope: ng.IRootScopeService,
... ... @@ -131,13 +130,7 @@ export class BodyStateClassesService {
131 130 }
132 131  
133 132 private getContentWrapper(selector?: string): INgForwardJQuery {
134   -
135   - if (this.contentWrapperElement === null) {
136   -
137   - let doc = <INgForwardJQuery>angular.element(this.$document);
138   - this.contentWrapperElement = doc.query(selector || '.content-wrapper');
139   - }
140   -
141   - return this.contentWrapperElement;
  133 + let doc = <INgForwardJQuery>angular.element(this.$document);
  134 + return doc.query(selector || '.content-wrapper');
142 135 }
143 136 }
... ...
src/app/main/main.html
1 1 <acme-navbar></acme-navbar>
2 2 <!-- Sidebar Left -->
3 3 <sidebar [visible]="false"></sidebar>
4   -<div class="content-wrapper" ui-view="content"></div>
  4 +<div class="content-wrapper full-content" ui-view="content"></div>
... ...