datasurvey/src/main/webapp/app/admin/configuration/configuration.service.spec.ts

74 lines
2.1 KiB
TypeScript

import { TestBed } from '@angular/core/testing';
import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
import { ConfigurationService } from './configuration.service';
import { Bean, ConfigProps, Env, PropertySource } from './configuration.model';
describe('Service Tests', () => {
describe('Logs Service', () => {
let service: ConfigurationService;
let httpMock: HttpTestingController;
let expectedResult: Bean[] | PropertySource[] | null;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
});
expectedResult = null;
service = TestBed.inject(ConfigurationService);
httpMock = TestBed.inject(HttpTestingController);
});
afterEach(() => {
httpMock.verify();
});
describe('Service methods', () => {
it('should get the config', () => {
const bean: Bean = {
prefix: 'jhipster',
properties: {
clientApp: {
name: 'jhipsterApp',
},
},
};
const configProps: ConfigProps = {
contexts: {
jhipster: {
beans: {
'tech.jhipster.config.JHipsterProperties': bean,
},
},
},
};
service.getBeans().subscribe(received => (expectedResult = received));
const req = httpMock.expectOne({ method: 'GET' });
req.flush(configProps);
expect(expectedResult).toEqual([bean]);
});
it('should get the env', () => {
const propertySources: PropertySource[] = [
{
name: 'server.ports',
properties: {
'local.server.port': {
value: '8080',
},
},
},
];
const env: Env = { propertySources };
service.getPropertySources().subscribe(received => (expectedResult = received));
const req = httpMock.expectOne({ method: 'GET' });
req.flush(env);
expect(expectedResult).toEqual(propertySources);
});
});
});
});