Files
alfresco-ng2-components/ng2-components/ng2-alfresco-core/src/services/app-config.service.spec.ts
Denys Vuika e96f6aa481 [ADF-1544] app config file management refactoring (#2331)
* application configuration service refactoring

* fix demo shell

* remove logging to console
2017-09-14 10:06:40 +01:00

85 lines
2.8 KiB
TypeScript

/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { inject, TestBed } from '@angular/core/testing';
import { HttpModule, Response, ResponseOptions, XHRBackend } from '@angular/http';
import { MockBackend, MockConnection } from '@angular/http/testing';
import { AppConfigModule, AppConfigService } from './app-config.service';
describe('AppConfigService', () => {
let appConfigService: AppConfigService;
const mockResponse = {
ecmHost: 'http://localhost:4000/ecm',
bpmHost: 'http://localhost:4000/ecm',
application: {
name: 'Custom Name'
},
files: {
'excluded': ['exluded']
}
};
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
HttpModule,
AppConfigModule
],
providers: [
{ provide: XHRBackend, useClass: MockBackend }
]
});
});
beforeEach(
inject([AppConfigService, XHRBackend], (appConfig: AppConfigService, mockBackend) => {
appConfigService = appConfig;
mockBackend.connections.subscribe((connection: MockConnection) => {
connection.mockRespond(new Response(new ResponseOptions({
body: JSON.stringify(mockResponse)
})));
});
})
);
it('should export service in the module', () => {
const service = TestBed.get(AppConfigService);
expect(service).toBeDefined();
});
it('should load external settings', () => {
appConfigService.load().then(config => {
expect(config).toEqual(mockResponse);
});
});
it('should retrieve settings', () => {
appConfigService.load().then(() => {
expect(appConfigService.get('ecmHost')).toBe(mockResponse.ecmHost);
expect(appConfigService.get('bpmHost')).toBe(mockResponse.bpmHost);
expect(appConfigService.get('application.name')).toBe(mockResponse.application.name);
});
});
it('should take excluded file list', () => {
appConfigService.load().then(() => {
expect(appConfigService.get('files.excluded')[0]).toBe('exluded');
});
});
});