X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-frontend%2Fsrc%2Fapp%2Fservices%2Fpolicy%2Fpolicy.service.spec.ts;h=e0afb464d0d336a17c8f7e54dc112eb3abf3e53e;hb=refs%2Fchanges%2F71%2F6071%2F2;hp=71fd62e2833b7fd963db090be8cb7577426b44f2;hpb=da0dd4633b71e93fdb7948741c1e1e85ae201d92;p=portal%2Fnonrtric-controlpanel.git diff --git a/webapp-frontend/src/app/services/policy/policy.service.spec.ts b/webapp-frontend/src/app/services/policy/policy.service.spec.ts index 71fd62e..e0afb46 100644 --- a/webapp-frontend/src/app/services/policy/policy.service.spec.ts +++ b/webapp-frontend/src/app/services/policy/policy.service.spec.ts @@ -25,10 +25,14 @@ import { HttpTestingController, } from "@angular/common/http/testing"; import { + CreatePolicyInstance, PolicyInstance, PolicyInstances, + PolicyStatus, + PolicyType, PolicyTypes, } from "@interfaces/policy.types"; +import { Ric, Rics } from "@interfaces/ric"; describe("PolicyService", () => { let apiVersion2 = "v2"; @@ -42,160 +46,227 @@ describe("PolicyService", () => { }) ); + beforeEach(() => { + policyService = TestBed.inject(PolicyService); + httpTestingController = TestBed.inject(HttpTestingController); + }); + afterEach(() => { httpTestingController.verify(); }); - describe("#getPolicyTypes", () => { - let expectedPolicytypes: PolicyTypes; - let emptyPolicyType: PolicyTypes; - - beforeEach(() => { - policyService = TestBed.inject(PolicyService); - httpTestingController = TestBed.inject(HttpTestingController); - expectedPolicytypes = { - policytype_ids: ["", "1"], - } as PolicyTypes; - }); - //Policy Type Test Case 1: - it("should return all policy types", () => { - policyService - .getPolicyTypes() - .subscribe( - (policytypes) => - expect(policytypes).toEqual( - expectedPolicytypes, - "should return expected PolicyTypes" - ), - fail - ); - const req = httpTestingController.expectOne( - basePath + apiVersion2 + "/" + policyService.policyTypesPath + it("#getPolicyTypes should return policy types", () => { + const expectedPolicytypes = { + policytype_ids: ["", "1"], + } as PolicyTypes; + + policyService + .getPolicyTypes() + .subscribe( + (policytypes) => + expect(policytypes).toEqual( + expectedPolicytypes, + "should return expected PolicyTypes" + ), + fail ); - expect(req.request.method).toEqual("GET"); + const req = httpTestingController.expectOne( + basePath + apiVersion2 + "/" + policyService.policyTypesPath + ); + expect(req.request.method).toEqual("GET"); + + req.flush(expectedPolicytypes); + }); - req.flush(expectedPolicytypes); - }); + it("#getPolicyType", () => { + const policyTypeId = "1"; + const expectedPolicyType = { policy_schema: "schema" } as PolicyType; - //Policy Type Test Case 2: - emptyPolicyType = { - policytype_ids: [], - } as PolicyTypes; - it("should return no policy types", () => { - policyService - .getPolicyTypes() - .subscribe( - (policytypes) => - expect(policytypes).toEqual( - emptyPolicyType, - "should return empty array of Policy Types" - ), - fail - ); - - const req = httpTestingController.expectOne( - basePath + apiVersion2 + "/" + policyService.policyTypesPath + policyService + .getPolicyType(policyTypeId) + .subscribe( + (policyType) => + expect(policyType).toEqual( + expectedPolicyType, + "should return expected policy type" + ), + fail ); - req.flush(emptyPolicyType); //Return empty data - }); + + const req = httpTestingController.expectOne( + basePath + + apiVersion2 + + "/" + + policyService.policyTypesPath + + "/" + + policyTypeId + ); + expect(req.request.method).toEqual("GET"); + + req.flush(expectedPolicyType); }); - describe("#getPolicyInstances", () => { - let expectedPolicyInstances: PolicyInstances; - let emptyPolicyInstances: PolicyInstances; - let policyTypeId = "1"; - beforeEach(() => { - 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 - .getPolicyInstancesByType(policyTypeId) - .subscribe( - (policyinstances) => - expect(policyinstances).toEqual( - expectedPolicyInstances, - "should return expected Policy Instances" - ), - fail - ); - 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: [], + it("#getPolicyInstancesByType should return policy instances", () => { + const policyTypeId = "1"; + const expectedPolicyInstances = { + policy_ids: ["2100", "2000"], } as PolicyInstances; - it("should return no 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 + + policyService + .getPolicyInstancesByType(policyTypeId) + .subscribe( + (policyinstances) => + expect(policyinstances).toEqual( + expectedPolicyInstances, + "should return expected Policy Instances" + ), + fail + ); + + const req = httpTestingController.expectOne( + basePath + + apiVersion2 + + "/" + + policyService.policyPath + + "?" + + "policytype_id=" + + policyTypeId + ); + expect(req.request.method).toEqual("GET"); + + req.flush(expectedPolicyInstances); + }); + + it("#getPolicyInstance should return one policy instance", () => { + const policyId = "2000"; + const expectedPolicyInstance = { + policy_id: "2000", + policytype_id: "1", + ric_id: "ric1", + policy_data: "", + service_id: "service1", + lastModified: "", + } as PolicyInstance; + + 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); + }); + + it("#getPolicyStatus should return policy status", () => { + const policyId = "2000"; + const expectedPolicyStatus = { + last_modified: "modified", + } as PolicyStatus; + + policyService + .getPolicyStatus(policyId) + .subscribe( + (policyinstance) => + expect(policyinstance).toEqual( + expectedPolicyStatus, + "should return expected Policy status" + ), + fail + ); + + const req = httpTestingController.expectOne( + basePath + + apiVersion2 + + "/" + + policyService.policyPath + + "/" + + policyId + + "/status" + ); + expect(req.request.method).toEqual("GET"); + + req.flush(expectedPolicyStatus); + }); + + it("#putPolicy should return ok response", () => { + const createPolicyInstance = { policy_id: "2000" } as CreatePolicyInstance; + + policyService + .putPolicy(createPolicyInstance) + .subscribe( + (response) => + expect(response.status).toEqual( + 200, + "should return expected response" + ), + fail + ); + + const req = httpTestingController.expectOne( + basePath + apiVersion2 + "/" + policyService.policyPath + ); + expect(req.request.method).toEqual("PUT"); + + req.flush(200); + }); + + it("#deletePolicy should return ok response", () => { + const policyId = "2000"; + + policyService + .deletePolicy(policyId) + .subscribe( + (response) => + expect(response.status).toEqual( + 200, + "should return expected response" + ), + fail ); - req.flush(emptyPolicyInstances); //Return empty data - }); + + const req = httpTestingController.expectOne( + basePath + apiVersion2 + "/" + policyService.policyPath + "/2000" + ); + expect(req.request.method).toEqual("DELETE"); + + req.flush(200); }); - 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 + it("#getRics should return rics", () => { + const policyTypeId = "2000"; + const expectedRic = { ric_id: "1" } as Ric; + const expectedRics = { + rics: [expectedRic], + } as Rics; + + policyService + .getRics(policyTypeId) + .subscribe( + (rics) => + expect(rics).toEqual( + expectedRics, + "should return expected Rics" + ), + fail ); - expect(req.request.method).toEqual("GET"); - req.flush(expectedPolicyInstance); - }); + + const req = httpTestingController.expectOne( + basePath + + apiVersion2 + + "/rics?policytype_id=2000" + ); + expect(req.request.method).toEqual("GET"); + + req.flush(expectedRics); }); });