X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-frontend%2Fsrc%2Fapp%2Fservices%2Fei%2Fei.service.spec.ts;h=9e2584bd35288f2e43a9f87b09b10550e8ebac9d;hb=095fb8c5c7ef690bc6f4317338f0716a8b7c6cb9;hp=affa682b4485c741bda3ad0d7e5819e51254a54b;hpb=84d9bf693900acf8624290919255fccd331c54e4;p=portal%2Fnonrtric-controlpanel.git diff --git a/webapp-frontend/src/app/services/ei/ei.service.spec.ts b/webapp-frontend/src/app/services/ei/ei.service.spec.ts index affa682..9e2584b 100644 --- a/webapp-frontend/src/app/services/ei/ei.service.spec.ts +++ b/webapp-frontend/src/app/services/ei/ei.service.spec.ts @@ -17,18 +17,82 @@ * limitations under the License. * ========================LICENSE_END=================================== */ +import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing' import { TestBed } from '@angular/core/testing'; +import { EIJob, EIProducer } from '../../interfaces/ei.types'; import { EIService } from './ei.service'; -import { HttpClientTestingModule } from '@angular/common/http/testing' describe('EIService', () => { + let basePath = 'api/enrichment'; + let service: EIService; + let httpTestingController: HttpTestingController; + beforeEach(() => TestBed.configureTestingModule({ - imports: [HttpClientTestingModule] + imports: [ + HttpClientTestingModule + ], + providers: [ + EIService + ] })); it('should be created', () => { - const service: EIService = TestBed.get(EIService); + service = TestBed.get(EIService); expect(service).toBeTruthy(); }); + + describe('#getEIProducers', () => { + let expectedEIProducers: EIProducer[]; + + beforeEach(() => { + service = TestBed.get(EIService); + httpTestingController = TestBed.get(HttpTestingController); + expectedEIProducers = [ + { ei_producer_id: '1', ei_producer_types: ['EI Type 1'], status: 'ENABLED' }, + { ei_producer_id: '1', ei_producer_types: ['EI Type 1'], status: 'ENABLED' } + ] as EIProducer[]; + }); + + it('should return all producers', () => { + service.getEIProducers().subscribe( + producers => expect(producers).toEqual(expectedEIProducers, 'should return expected EIProducers'), + fail + ); + + const req = httpTestingController.expectOne(basePath + '/' + service.eiProducerPath); + expect(req.request.method).toEqual('GET'); + + req.flush(expectedEIProducers); //Return expectedEITypes + + httpTestingController.verify(); + }); + }); + + describe('#EIJobs', () => { + let expectedEIJobs: EIJob[]; + + beforeEach(() => { + service = TestBed.get(EIService); + httpTestingController = TestBed.get(HttpTestingController); + expectedEIJobs = [ + { ei_job_identity: '1', ei_job_data: 'data', ei_type_identity: 'Type ID 1', target_uri: 'hhtp://url', owner: 'owner'}, + { ei_job_identity: '2', ei_job_data: 'EI Job 2', ei_type_identity: 'Type ID 2', target_uri: 'hhtp://url', owner: 'owner'} + ] as EIJob[]; + }); + + it('should return all jobs', () => { + service.getEIJobs().subscribe( + jobs => expect(jobs).toEqual(expectedEIJobs, 'should return expected Jobs'), + fail + ); + + const req = httpTestingController.expectOne(basePath + '/' + service.eiJobPath); + expect(req.request.method).toEqual('GET'); + + req.flush(expectedEIJobs); //Return expectedEIJobs + + httpTestingController.verify(); + }); + }); });