Uplift to Angular 9
[portal/nonrtric-controlpanel.git] / webapp-frontend / src / app / services / policy / policy.service.spec.ts
index ee20509..095443b 100644 (file)
@@ -21,11 +21,11 @@ import { TestBed } from '@angular/core/testing';
 
 import { PolicyService } from './policy.service';
 import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'
-import { PolicyInstance, PolicyTypes } from '../../interfaces/policy.types';
+import { PolicyInstance, PolicyInstances, PolicyTypes } from '../../interfaces/policy.types';
 
 describe('PolicyService', () => {
   let apiVersion2 = 'v2'
-  let basePath = '';
+  let basePath = '/a1-policy/';
   let policyService: PolicyService;
   let httpTestingController: HttpTestingController;
   beforeEach(() => TestBed.configureTestingModule({
@@ -44,8 +44,8 @@ describe('PolicyService', () => {
     let emptyPolicyType: PolicyTypes;
 
     beforeEach(() => {
-      policyService = TestBed.get(PolicyService);
-      httpTestingController = TestBed.get(HttpTestingController);
+      policyService = TestBed.inject(PolicyService);
+      httpTestingController = TestBed.inject(HttpTestingController);
       expectedPolicytypes = {
         "policytype_ids": [
           "",
@@ -59,7 +59,6 @@ describe('PolicyService', () => {
         policytypes => expect(policytypes).toEqual(expectedPolicytypes, 'should return expected PolicyTypes'),
         fail
       );
-      
       const req = httpTestingController.expectOne(basePath + apiVersion2 + '/' + policyService.policyTypesPath);
       expect(req.request.method).toEqual('GET');
 
@@ -81,36 +80,71 @@ describe('PolicyService', () => {
       req.flush(emptyPolicyType); //Return empty data
     });
   });
-  describe('#getPolicyInstance', () => {
-    let expectedPolicyInstances: PolicyInstance[];
-    let policyTypeId: string;
+  describe('#getPolicyInstances', () => {
+    let expectedPolicyInstances: PolicyInstances;
+    let emptyPolicyInstances: PolicyInstances;
+    let policyTypeId = '1';
     beforeEach(() => {
-      policyService = TestBed.get(PolicyService);
-      httpTestingController = TestBed.get(HttpTestingController);
-      expectedPolicyInstances = [
-        { id: '2000', json: '{"scope": {"ueId": "ue3100","qosId": "qos3100"},"qosObjectives": {"priorityLevel": 3100}}', service: 'service1', lastModified: '2020-12-08T21:12:43.719084Z' }
-      ] as PolicyInstance[];
-      policyTypeId = "1";
+      policyService = TestBed.inject(PolicyService);
+      httpTestingController = TestBed.inject(HttpTestingController);
+      expectedPolicyInstances = {
+        "policy_ids": [
+          "2100",
+          "2000"
+        ]
+      } as PolicyInstances;
     });
     //Policy Instances Test Case 1:
     it('should return all policy instances', () => {
-      policyService.getPolicyInstances(policyTypeId).subscribe(
+      policyService.getPolicyInstancesByType(policyTypeId).subscribe(
         policyinstances => expect(policyinstances).toEqual(expectedPolicyInstances, 'should return expected Policy Instances'),
         fail
       );
-      const req = httpTestingController.expectOne(basePath + apiVersion2 + '/' + policyService.policyPath + '?type=' + policyTypeId);
+      const req = httpTestingController.expectOne(basePath + apiVersion2 + '/' + policyService.policyPath + '?' + 'policytype_id=' + policyTypeId);
       expect(req.request.method).toEqual('GET');
       req.flush(expectedPolicyInstances);
     });
 
     //Policy Instances Test Case 2:
+    emptyPolicyInstances = {
+      "policy_ids": [
+      ]
+    } as PolicyInstances;
     it('should return no policy instances', () => {
-      policyService.getPolicyInstances(policyTypeId).subscribe(
-        policyinstances => expect(policyinstances.length).toEqual(0, 'should return empty array of Policy Instances'),
+      policyService.getPolicyInstancesByType(policyTypeId).subscribe(
+        policyinstances => expect(policyinstances.policy_ids.length).toEqual(0, 'should return empty array of Policy Instances'),
         fail
       );
-      const req = httpTestingController.expectOne(basePath + apiVersion2 + '/' + policyService.policyPath + '?type=' + policyTypeId);
-      req.flush([]); //Return empty data
+      const req = httpTestingController.expectOne(basePath + apiVersion2 + '/' + policyService.policyPath + '?' + 'policytype_id=' + policyTypeId);
+      req.flush(emptyPolicyInstances); //Return empty data
+    });
+  });
+
+  describe('#getPolicyInstance', () => {
+    let expectedPolicyInstance: PolicyInstance;
+    let emptyPolicyInstances: PolicyInstances;
+    let policyId = "2000";
+    beforeEach(() => {
+      policyService = TestBed.inject(PolicyService);
+      httpTestingController = TestBed.inject(HttpTestingController);
+      expectedPolicyInstance = {
+        "policy_id": "2000",
+        "policytype_id": "1",
+        "ric_id": "ric1",
+        "policy_data": "",
+        "service_id": "service1",
+        "lastModified": ""
+      } as PolicyInstance;
+    });
+    //Policy Instances Test Case 1:
+    it('should return one policy instance', () => {
+      policyService.getPolicyInstance(policyId).subscribe(
+        policyinstance => expect(policyinstance).toEqual(expectedPolicyInstance, 'should return expected Policy Instances'),
+        fail
+      );
+      const req = httpTestingController.expectOne(basePath + apiVersion2 + '/' + policyService.policyPath + '/' + policyId);
+      expect(req.request.method).toEqual('GET');
+      req.flush(expectedPolicyInstance);
     });
   });
 });