From aa5b35c0d77da06edb124607c2dea8230135f69a Mon Sep 17 00:00:00 2001 From: mauriziovitale84 Date: Wed, 23 Nov 2016 19:18:27 +0000 Subject: [PATCH] #1076 Improve unit test --- .../AlfrescoTranslationLoader.service.spec.ts | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/ng2-components/ng2-alfresco-core/src/services/AlfrescoTranslationLoader.service.spec.ts b/ng2-components/ng2-alfresco-core/src/services/AlfrescoTranslationLoader.service.spec.ts index a31feec6b3..f16a1620b4 100644 --- a/ng2-components/ng2-alfresco-core/src/services/AlfrescoTranslationLoader.service.spec.ts +++ b/ng2-components/ng2-alfresco-core/src/services/AlfrescoTranslationLoader.service.spec.ts @@ -19,18 +19,25 @@ import { TranslateLoader } from 'ng2-translate/ng2-translate'; import { AlfrescoTranslationLoader } from '../services/AlfrescoTranslationLoader.service'; import { AlfrescoTranslationService } from '../services/AlfrescoTranslation.service'; import { Injector } from '@angular/core'; -import { XHRBackend, HttpModule } from '@angular/http'; +import { ResponseOptions, Response, XHRBackend, HttpModule } from '@angular/http'; import { MockBackend, MockConnection } from '@angular/http/testing'; import { TranslateModule } from 'ng2-translate/ng2-translate'; import {getTestBed, TestBed} from '@angular/core/testing'; +let componentJson1 = ' {"TEST": "This is a test", "TEST2": "This is another test"} ' ; + +const mockBackendResponse = (connection: MockConnection, response: string) => { + connection.mockRespond(new Response(new ResponseOptions({body: response}))); +}; + describe('TranslateLoader', () => { let injector: Injector; let backend: MockBackend; let alfrescoTranslationService: AlfrescoTranslationService; let connection: MockConnection; // this will be set when a new connection is emitted from the backend. + let customLoader; beforeEach(() => { TestBed.configureTestingModule({ @@ -47,6 +54,7 @@ describe('TranslateLoader', () => { backend = injector.get(XHRBackend); alfrescoTranslationService = injector.get(AlfrescoTranslationService); backend.connections.subscribe((c: MockConnection) => connection = c); + customLoader = alfrescoTranslationService.translate.currentLoader; }); it('should be able to provide any TranslateLoader', () => { @@ -54,4 +62,22 @@ describe('TranslateLoader', () => { expect(alfrescoTranslationService.translate.currentLoader).toBeDefined(); expect(alfrescoTranslationService.translate.currentLoader instanceof AlfrescoTranslationLoader).toBeTruthy(); }); + + it('should add the component to the list', () => { + customLoader.addComponentList('login', 'path/login'); + expect(customLoader.existComponent('login')).toBeTruthy(); + }); + + it('should return the Json tranlation ', () => { + customLoader.addComponentList('login', 'path/login'); + customLoader.getTranslation('en').subscribe( + (response) => { + expect(response).toBeDefined(); + expect(response).toEqual(JSON.parse(componentJson1)); + } + ); + + mockBackendResponse(connection, componentJson1); + }); + });