1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
import {TestBed, inject, getTestBed} from '@angular/core/testing';
import { HealthStatusService } from './health-status.service';
import {Constants} from "../../utils/constants";
import {HttpClientTestingModule, HttpTestingController} from "@angular/common/http/testing";
import {ExternalComponentStatus} from "../../models/externalComponentStatus";
describe('HealthStatusService', () => {
let injector;
let service: HealthStatusService;
let httpMock: HttpTestingController;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [HealthStatusService]
});
injector = getTestBed();
service = injector.get(HealthStatusService);
httpMock = injector.get(HttpTestingController);
});
describe('#getProbe', () =>{
it('when call probe, there is http GET with right url', () => {
service.getProbe().subscribe((result: Array<ExternalComponentStatus>)=>{
expect(result[0].component).toEqual("AAI");
expect(result[0].available).toBeTruthy();
expect(result[0].metadata).toEqual({ myKey: 'myValue' });
expect(result[1].component).toEqual("MSO");
expect(result[1].available).toBeFalsy();
expect(result[1].metadata).toEqual({otherKey: 123});
});
const req = httpMock.expectOne(Constants.Path.SERVICES_PROBE_PATH);
expect(req.request.method).toEqual('GET');
req.flush([
{
"component": "AAI",
"available": true,
"metadata": {
"myKey": "myValue"
}
},
{
"component": "MSO",
"available": false,
"metadata": {
"otherKey": 123
}
},
]);
});
});
});
|