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'
policytypes => expect(policytypes).toEqual(expectedPolicytypes, 'should return expected PolicyTypes'),
fail
);
-
+
const req = httpTestingController.expectOne(basePath + apiVersion2 + '/' + policyService.policyTypesPath);
expect(req.request.method).toEqual('GET');
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";
+ 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 + '?' + 'policytype_id=' + policyTypeId);
+ req.flush(emptyPolicyInstances); //Return empty data
+ });
+ });
+
+ describe('#getPolicyInstance', () => {
+ let expectedPolicyInstance: PolicyInstance;
+ let emptyPolicyInstances: PolicyInstances;
+ let policyId = "2000";
+ beforeEach(() => {
+ policyService = TestBed.get(PolicyService);
+ httpTestingController = TestBed.get(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 + '?type=' + policyTypeId);
- req.flush([]); //Return empty data
+ const req = httpTestingController.expectOne(basePath + apiVersion2 + '/' + policyService.policyPath + '/' + policyId);
+ expect(req.request.method).toEqual('GET');
+ req.flush(expectedPolicyInstance);
});
});
});