CI: Migrate Sonar Scan job to GHA
[portal/nonrtric-controlpanel.git] / webapp-frontend / src / app / ei-coordinator / producers-list / producers-list.component.spec.ts
index 77f1cb8..2b29dc9 100644 (file)
@@ -1,3 +1,22 @@
+/*-
+ * ========================LICENSE_START=================================
+ * O-RAN-SC
+ * %%
+ * Copyright (C) 2021-2022 Nordix Foundation
+ * %%
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================LICENSE_END===================================
+ */
 
 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
 import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed';
@@ -5,8 +24,8 @@ import { HarnessLoader } from '@angular/cdk/testing';
 import { MatTableHarness } from '@angular/material/table/testing';
 import { MatSortHarness } from '@angular/material/sort/testing';
 import { ProducersListComponent } from "./producers-list.component";
-import { EIService } from '@services/ei/ei.service';
-import { EIProducer, OperationalState, ProducerRegistrationInfo, ProducerStatus } from '@interfaces/ei.types';
+import { ProducerService } from '@services/ei/producer.service';
+import { Producer, OperationalState, ProducerRegistrationInfo, ProducerStatus } from '@interfaces/producer.types';
 import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
 import { ReactiveFormsModule } from '@angular/forms';
 import { MatIconModule } from '@angular/material/icon';
@@ -42,7 +61,7 @@ describe('ProducersListComponent', () => {
         ProducersListComponent
       ],
       providers: [
-        { provide: EIService, useValue: spy },
+        { provide: ProducerService, useValue: spy },
         UiService,
       ]
     })
@@ -62,19 +81,21 @@ describe('ProducersListComponent', () => {
 
     it('should loadProducers', () => {
       const producer1 = {
-        ei_producer_id: 'producer1',
-        ei_producer_types: ['type1', 'type2'],
+        producer_id: 'producer1',
+        producer_types: ['type1', 'type2'],
         status: 'ENABLED'
-      } as EIProducer;
+      } as Producer;
       const producer2 = {
-        ei_producer_id: 'producer2',
-        ei_producer_types: ['type2', 'type3'],
+        producer_id: 'producer2',
+        producer_types: ['type2', 'type3'],
         status: 'DISABLED'
-      } as EIProducer;
+      } as Producer;
 
       setServiceSpy();
+
       component.loadProducers();
-      const actualProducers: EIProducer[] = component.eiProducers();
+      const actualProducers: Producer[] = component.producers();
+      expect(actualProducers.length).toEqual(2);
       expect(actualProducers).toEqual([producer1, producer2]);
     });
 
@@ -105,7 +126,6 @@ describe('ProducersListComponent', () => {
 
     it('should contain data after initialization', async () => {
       setServiceSpy();
-      component.ngOnInit();
       const expectedProducerRows = [
         expectedProducer1Row,
         { id: 'producer2', types: 'type2,type3', status: 'DISABLED' }
@@ -121,14 +141,14 @@ describe('ProducersListComponent', () => {
     });
 
     it('should display defaults values for non required properties', async () => {
-      let eiServiceSpy = TestBed.inject(EIService) as jasmine.SpyObj<EIService>;
+      let producerServiceSpy = TestBed.inject(ProducerService) as jasmine.SpyObj<ProducerService>;
 
-      eiServiceSpy.getProducerIds.and.returnValue(of(['producer1']));
-      eiServiceSpy.getProducer.and.returnValues(of({} as ProducerRegistrationInfo));
-      eiServiceSpy.getProducerStatus.and.returnValues(of({} as ProducerStatus));
+      producerServiceSpy.getProducerIds.and.returnValue(of(['producer1']));
+      producerServiceSpy.getProducer.and.returnValues(of({} as ProducerRegistrationInfo));
+      producerServiceSpy.getProducerStatus.and.returnValues(of({} as ProducerStatus));
 
-      component.ngOnInit();
       const expectedProducerRow = { id: 'producer1', types: '< No types >', status: '< No status >' };
+
       let producersTable = await loader.getHarness(MatTableHarness.with({ selector: '#producersTable' }));
       let producerRows = await producersTable.getRows();
       expect(await producerRows[0].getCellTextByColumnName()).toEqual(expectedProducerRow);
@@ -136,7 +156,6 @@ describe('ProducersListComponent', () => {
 
     it('filtering', async () => {
       setServiceSpy();
-      component.ngOnInit();
       let producersTable = await loader.getHarness(MatTableHarness.with({ selector: '#producersTable' }));
 
       let idFilterInput = await loader.getHarness(MatInputHarness.with({ selector: '#producerIdFilter' }));
@@ -247,10 +266,10 @@ describe('ProducersListComponent', () => {
 
 function setServiceSpy() {
   let producerRegInfo1 = {
-    supported_ei_types: ['type1', 'type2']
+    supported_info_types: ['type1', 'type2']
   } as ProducerRegistrationInfo;
   let producerRegInfo2 = {
-    supported_ei_types: ['type2', 'type3']
+    supported_info_types: ['type2', 'type3']
   } as ProducerRegistrationInfo;
   let producerStatus1 = {
     operational_state: OperationalState.ENABLED
@@ -259,11 +278,11 @@ function setServiceSpy() {
     operational_state: OperationalState.DISABLED
   } as ProducerStatus;
 
-  let eiServiceSpy = TestBed.inject(EIService) as jasmine.SpyObj<EIService>;
+  let producerServiceSpy = TestBed.inject(ProducerService) as jasmine.SpyObj<ProducerService>;
 
-  eiServiceSpy.getProducerIds.and.returnValue(of(['producer1', 'producer2']));
-  eiServiceSpy.getProducer.and.returnValues(of(producerRegInfo1), of(producerRegInfo2));
-  eiServiceSpy.getProducerStatus.and.returnValues(of(producerStatus1), of(producerStatus2));
+  producerServiceSpy.getProducerIds.and.returnValue(of(['producer1', 'producer2']));
+  producerServiceSpy.getProducer.and.returnValues(of(producerRegInfo1), of(producerRegInfo2));
+  producerServiceSpy.getProducerStatus.and.returnValues(of(producerStatus1), of(producerStatus2));
 }