diff --git a/src/app/components/navbar/navbar.spec.ts b/src/app/components/navbar/navbar.spec.ts
index 62ea059..b32a9cb 100644
--- a/src/app/components/navbar/navbar.spec.ts
+++ b/src/app/components/navbar/navbar.spec.ts
@@ -1,21 +1,21 @@
import {
-createComponentFromClass,
-quickCreateComponent,
-provideEmptyObjects
+ createComponentFromClass,
+ quickCreateComponent,
+ provideEmptyObjects
} from "./../../../spec/helpers";
import {
-Navbar
+ Navbar
} from "./navbar";
import {
-AUTH_EVENTS
+ AUTH_EVENTS
} from "./../auth";
import {
-User
+ User
} from "./../../models/interfaces";
import {
-Injectable,
-Provider,
-provide
+ Injectable,
+ Provider,
+ provide
} from "ng-forward";
@@ -59,7 +59,6 @@ describe("Components", () => {
})
];
-
quickCreateComponent({
providers: providers,
template: "",
@@ -72,5 +71,118 @@ describe("Components", () => {
});
});
+ it('It should open on click', (done: Function) => {
+
+ let scope = {
+ eventCalledHook: () => { },
+ $on: (eventName: string, func: Function) => {
+ console.log("ON Called!");
+ this.eventCalledHook = func;
+ }
+ }
+
+ let modalInstance = {
+ close: () => {
+ console.log("CLOSE Called!");
+ }
+ }
+
+ let $modal = {
+ open: (args: {}) => {
+ return modalInstance;
+ }
+ }
+
+ let stateService = jasmine.createSpyObj("$state", ["go"]);
+ let providers = [
+ new Provider('moment', { useValue: {} }),
+ new Provider('$modal', { useValue: $modal }),
+ new Provider('AuthService', { useValue: {} }),
+ new Provider('Session', {
+ useValue: {
+ currentUser: () => { return user }
+ }
+ }),
+ new Provider('$scope', { useValue: scope }),
+ new Provider('$state', { useValue: stateService }),
+ new Provider('AUTH_EVENTS', { useValue: { AUTH_EVENTS } })
+ ];
+ quickCreateComponent({
+ providers: providers,
+ template: "",
+ directives: [Navbar]
+ })
+ .then(fixture => {
+ console.log("entrou no .then")
+ let navbarComp: Navbar = fixture.debugElement.componentViewChildren[0].componentInstance;
+ spyOn($modal, "open");
+ //navbarComp.activate();
+ navbarComp.openLogin();
+ expect($modal.open).toHaveBeenCalled();
+ expect($modal.open).toHaveBeenCalledWith({
+ templateUrl: 'app/components/auth/login.html',
+ controller: 'AuthController',
+ controllerAs: 'vm',
+ bindToController: true
+ })
+ done();
+ })
+ });
+
+
+ // it('closes the modal the login', (done: Function) => {
+ // let scope = {
+ // eventCalledHook: () => { },
+ // $on: (eventName: string, func: Function) => {
+ // console.log("ON Called!");
+ // this.eventCalledHook = func;
+ // }
+ // }
+ //
+ // let modalInstance = {
+ // close: () => {
+ // console.log("CLOSE Called!");
+ // }
+ // }
+ //
+ // let $modal = {
+ // $open: (args: {}) => {
+ // return modalInstance;
+ // }
+ // }
+ //
+ // let stateService = jasmine.createSpyObj("$state", ["go"]);
+ // let providers = [
+ // new Provider('moment', { useValue: {} }),
+ // new Provider('$modal', { useValue: $modal }),
+ // new Provider('AuthService', { useValue: {} }),
+ // new Provider('Session', {
+ // useValue: {
+ // currentUser: () => { return user }
+ // }
+ // }),
+ // new Provider('$scope', { useValue: scope }),
+ // new Provider('$state', { useValue: stateService }),
+ // new Provider('AUTH_EVENTS', { useValue: { AUTH_EVENTS } })
+ // ];
+ // spyOn(modalInstance, "close");
+ //
+ // quickCreateComponent({
+ // providers: providers,
+ // template: "",
+ // directives: [Navbar]
+ // })
+ // .then(fixture => {
+ // let navbarComp: Navbar = fixture.debugElement.componentViewChildren[0].componentInstance;
+ // navbarComp.activate();
+ // navbarComp.openLogin
+ //
+ // expect($modal.open).toHaveBeenCalledWith({})
+ // scope.eventCalledHook();
+ // expect(modalInstance.close).toHaveBeenCalled();
+ // done();
+ // })
+ // //done();
+ // });
});
-});
\ No newline at end of file
+});
diff --git a/src/app/components/navbar/navbar.ts b/src/app/components/navbar/navbar.ts
index e73cca1..3491db7 100644
--- a/src/app/components/navbar/navbar.ts
+++ b/src/app/components/navbar/navbar.ts
@@ -65,4 +65,4 @@ export class Navbar {
}
}
-}
\ No newline at end of file
+}
--
libgit2 0.21.2