diff --git a/src/app/components/noosfero-articles/blog/blog.component.spec.ts b/src/app/components/noosfero-articles/blog/blog.component.spec.ts index 1b20fc8..5a56de3 100644 --- a/src/app/components/noosfero-articles/blog/blog.component.spec.ts +++ b/src/app/components/noosfero-articles/blog/blog.component.spec.ts @@ -12,7 +12,7 @@ import { quickCreateComponent, provideEmptyObjects, createProviderToValue, - getAngularService + getQService } from "../../../../spec/helpers.ts"; @@ -21,7 +21,7 @@ const htmlTemplate: string = ' {}; +} = {}; describe("Blog Component", () => { @@ -31,7 +31,7 @@ describe("Blog Component", () => { // component Noosfero ArtileView will be load on our tests beforeEach(angular.mock.module("templates")); - function promiseResultTemplate(response ? : {}) { + function promiseResultTemplate(response?: {}) { let thenFuncEmpty = (func: Function) => { // does nothing }; @@ -90,7 +90,7 @@ describe("Blog Component", () => { }); it("get $q service", () => { - let $q = getAngularService("$q"); + let $q: ng.IQService = getQService(); console.log($q); }); @@ -102,7 +102,7 @@ describe("Blog Component", () => { headers: (headerName: string) => { return 1; }, - data: < any > { + data: { articles: [] } }); @@ -128,9 +128,9 @@ describe("Blog Component", () => { // gets the children component of BlogContainerComponent let articleBlog: BlogContainerComponent = fixture.debugElement.componentViewChildren[0].componentInstance; - // check if the component property are the provided by the mocked articleService - expect(( < any > articleBlog)["posts"]).toEqual([]); - expect(( < any > articleBlog)["totalPosts"]).toEqual(1); + // check if the component property are the provided by the mocked articleService + expect((articleBlog)["posts"]).toEqual([]); + expect((articleBlog)["totalPosts"]).toEqual(1); // done needs to be called (it isn't really needed, as we can read in @@ -142,4 +142,4 @@ describe("Blog Component", () => { }); -}); \ No newline at end of file +}); diff --git a/src/spec/helpers.ts b/src/spec/helpers.ts index ae7cf6f..1adb90a 100644 --- a/src/spec/helpers.ts +++ b/src/spec/helpers.ts @@ -48,28 +48,62 @@ export function provideFilters(...filters: string[]) { return providers; } + +@Component({ + selector: 'helper_get_angular_service', + template: 'not-used', + providers: [] +}) +class AngularServiceHookComponent { + constructor() { + + } +} + +class AngularServiceFactory { + fixtureComponentHookPoint: ComponentFixture; + tcb: TestComponentBuilder = new TestComponentBuilder(); + + constructor() { + this.fixtureComponentHookPoint = (this.tcb)["create"](AngularServiceHookComponent); + } + + getAngularService(angularService: string) { + return this.fixtureComponentHookPoint.debugElement.getLocal(angularService); + } + + getQService(): ng.IQService { + return this.getAngularService("$q"); + } + + getHttpBackendService(): ng.IHttpBackendService { + return this.getAngularService("$httpBackend"); + } +} + +export var angularServiceFactory = new AngularServiceFactory(); /** * This help function allows get angular services to be used in integration tests * i.e: '$http', '$q', '$location', etc... */ export function getAngularService(angularService: string) { - let tcb: TestComponentBuilder = new TestComponentBuilder(); - - @Component({ - selector: 'helper_get_angular_service', - template: 'not-used', - providers: [] - }) - class AnyService { - constructor() { + return angularServiceFactory.getAngularService(angularService); +} - } - } +export function getQService(): ng.IQService { + return angularServiceFactory.getQService(); +} - let fixture: ComponentFixture = (tcb)["create"](AnyService); - return fixture.debugElement.getLocal(angularService); +export function getHttpBackendService(): ng.IHttpBackendService { + return angularServiceFactory.getHttpBackendService(); } +// export function getResolvablePromise() { +// let $q = getQService(); +// +// return null; +// } + export var fixtures = { user: { id: 1, @@ -82,4 +116,4 @@ export var fixtures = { private_token: 'token', userRole: 'admin' } -}; \ No newline at end of file +}; -- libgit2 0.21.2