New Angular UI from 1806

Change-Id: I39c160db0e0a6ec2e587ccf007ee1b23c6a08666
Issue-ID: VID-208
Signed-off-by: Sonsino, Ofir (os0695) <os0695@intl.att.com>
diff --git a/vid-webpack-master/src/app/shared/server/healthStatusService/health-status.service.spec.ts b/vid-webpack-master/src/app/shared/server/healthStatusService/health-status.service.spec.ts
new file mode 100644
index 0000000..36f6349
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/server/healthStatusService/health-status.service.spec.ts
@@ -0,0 +1,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
+          }
+        },
+      ]);
+    });
+
+  });
+
+});