Commit 97702802b2f1dbb0d73d8f2bbeba95c35f7b828b

Authored by Ábner Oliveira
1 parent e882651c

new helpers methods

src/app/components/noosfero-articles/blog/blog.component.spec.ts
@@ -12,7 +12,7 @@ import { @@ -12,7 +12,7 @@ import {
12 quickCreateComponent, 12 quickCreateComponent,
13 provideEmptyObjects, 13 provideEmptyObjects,
14 createProviderToValue, 14 createProviderToValue,
15 - getAngularService 15 + getQService
16 } from "../../../../spec/helpers.ts"; 16 } from "../../../../spec/helpers.ts";
17 17
18 18
@@ -21,7 +21,7 @@ const htmlTemplate: string = '<noosfero-blog [article]="ctrl.article" [profile]= @@ -21,7 +21,7 @@ const htmlTemplate: string = '<noosfero-blog [article]="ctrl.article" [profile]=
21 21
22 let articleService: { 22 let articleService: {
23 getChildren: Function 23 getChildren: Function
24 -} = < any > {}; 24 +} = <any>{};
25 25
26 describe("Blog Component", () => { 26 describe("Blog Component", () => {
27 27
@@ -31,7 +31,7 @@ describe(&quot;Blog Component&quot;, () =&gt; { @@ -31,7 +31,7 @@ describe(&quot;Blog Component&quot;, () =&gt; {
31 // component Noosfero ArtileView will be load on our tests 31 // component Noosfero ArtileView will be load on our tests
32 beforeEach(angular.mock.module("templates")); 32 beforeEach(angular.mock.module("templates"));
33 33
34 - function promiseResultTemplate(response ? : {}) { 34 + function promiseResultTemplate(response?: {}) {
35 let thenFuncEmpty = (func: Function) => { 35 let thenFuncEmpty = (func: Function) => {
36 // does nothing 36 // does nothing
37 }; 37 };
@@ -90,7 +90,7 @@ describe(&quot;Blog Component&quot;, () =&gt; { @@ -90,7 +90,7 @@ describe(&quot;Blog Component&quot;, () =&gt; {
90 }); 90 });
91 91
92 it("get $q service", () => { 92 it("get $q service", () => {
93 - let $q = getAngularService<ng.IQService>("$q"); 93 + let $q: ng.IQService = getQService();
94 console.log($q); 94 console.log($q);
95 }); 95 });
96 96
@@ -102,7 +102,7 @@ describe(&quot;Blog Component&quot;, () =&gt; { @@ -102,7 +102,7 @@ describe(&quot;Blog Component&quot;, () =&gt; {
102 headers: (headerName: string) => { 102 headers: (headerName: string) => {
103 return 1; 103 return 1;
104 }, 104 },
105 - data: < any > { 105 + data: <any>{
106 articles: [] 106 articles: []
107 } 107 }
108 }); 108 });
@@ -128,9 +128,9 @@ describe(&quot;Blog Component&quot;, () =&gt; { @@ -128,9 +128,9 @@ describe(&quot;Blog Component&quot;, () =&gt; {
128 // gets the children component of BlogContainerComponent 128 // gets the children component of BlogContainerComponent
129 let articleBlog: BlogContainerComponent = fixture.debugElement.componentViewChildren[0].componentInstance; 129 let articleBlog: BlogContainerComponent = fixture.debugElement.componentViewChildren[0].componentInstance;
130 130
131 - // check if the component property are the provided by the mocked articleService  
132 - expect(( < any > articleBlog)["posts"]).toEqual([]);  
133 - expect(( < any > articleBlog)["totalPosts"]).toEqual(1); 131 + // check if the component property are the provided by the mocked articleService
  132 + expect((<any>articleBlog)["posts"]).toEqual([]);
  133 + expect((<any>articleBlog)["totalPosts"]).toEqual(1);
134 134
135 135
136 // done needs to be called (it isn't really needed, as we can read in 136 // done needs to be called (it isn't really needed, as we can read in
@@ -142,4 +142,4 @@ describe(&quot;Blog Component&quot;, () =&gt; { @@ -142,4 +142,4 @@ describe(&quot;Blog Component&quot;, () =&gt; {
142 142
143 }); 143 });
144 144
145 -});  
146 \ No newline at end of file 145 \ No newline at end of file
  146 +});
src/spec/helpers.ts
@@ -48,28 +48,62 @@ export function provideFilters(...filters: string[]) { @@ -48,28 +48,62 @@ export function provideFilters(...filters: string[]) {
48 return providers; 48 return providers;
49 } 49 }
50 50
  51 +
  52 +@Component({
  53 + selector: 'helper_get_angular_service',
  54 + template: 'not-used',
  55 + providers: []
  56 +})
  57 +class AngularServiceHookComponent {
  58 + constructor() {
  59 +
  60 + }
  61 +}
  62 +
  63 +class AngularServiceFactory {
  64 + fixtureComponentHookPoint: ComponentFixture;
  65 + tcb: TestComponentBuilder = new TestComponentBuilder();
  66 +
  67 + constructor() {
  68 + this.fixtureComponentHookPoint = (<any>this.tcb)["create"](AngularServiceHookComponent);
  69 + }
  70 +
  71 + getAngularService<T>(angularService: string) {
  72 + return this.fixtureComponentHookPoint.debugElement.getLocal(angularService);
  73 + }
  74 +
  75 + getQService(): ng.IQService {
  76 + return this.getAngularService<ng.IQService>("$q");
  77 + }
  78 +
  79 + getHttpBackendService(): ng.IHttpBackendService {
  80 + return this.getAngularService<ng.IHttpBackendService>("$httpBackend");
  81 + }
  82 +}
  83 +
  84 +export var angularServiceFactory = new AngularServiceFactory();
51 /** 85 /**
52 * This help function allows get angular services to be used in integration tests 86 * This help function allows get angular services to be used in integration tests
53 * i.e: '$http', '$q', '$location', etc... 87 * i.e: '$http', '$q', '$location', etc...
54 */ 88 */
55 export function getAngularService<T>(angularService: string) { 89 export function getAngularService<T>(angularService: string) {
56 - let tcb: TestComponentBuilder = new TestComponentBuilder();  
57 -  
58 - @Component({  
59 - selector: 'helper_get_angular_service',  
60 - template: 'not-used',  
61 - providers: []  
62 - })  
63 - class AnyService {  
64 - constructor() { 90 + return angularServiceFactory.getAngularService(angularService);
  91 +}
65 92
66 - }  
67 - } 93 +export function getQService(): ng.IQService {
  94 + return angularServiceFactory.getQService();
  95 +}
68 96
69 - let fixture: ComponentFixture = (<any>tcb)["create"](AnyService);  
70 - return fixture.debugElement.getLocal(angularService); 97 +export function getHttpBackendService(): ng.IHttpBackendService {
  98 + return angularServiceFactory.getHttpBackendService();
71 } 99 }
72 100
  101 +// export function getResolvablePromise() {
  102 +// let $q = getQService();
  103 +//
  104 +// return null;
  105 +// }
  106 +
73 export var fixtures = { 107 export var fixtures = {
74 user: { 108 user: {
75 id: 1, 109 id: 1,
@@ -82,4 +116,4 @@ export var fixtures = { @@ -82,4 +116,4 @@ export var fixtures = {
82 private_token: 'token', 116 private_token: 'token',
83 userRole: 'admin' 117 userRole: 'admin'
84 } 118 }
85 -};  
86 \ No newline at end of file 119 \ No newline at end of file
  120 +};