X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-frontend%2Fsrc%2Fapp%2Fei-coordinator%2Fproducers-list%2Fproducers-list.component.spec.ts;h=d7542e8f63fc5ed325ff5264fb0522f12c4b5ebe;hb=refs%2Fchanges%2F71%2F6071%2F2;hp=f67939e2bda19455783b9ce8f1e4b08298c32fca;hpb=ae54b92e9c8d621d9e3907bbe7c0b56b2c778d8d;p=portal%2Fnonrtric-controlpanel.git diff --git a/webapp-frontend/src/app/ei-coordinator/producers-list/producers-list.component.spec.ts b/webapp-frontend/src/app/ei-coordinator/producers-list/producers-list.component.spec.ts index f67939e..d7542e8 100644 --- a/webapp-frontend/src/app/ei-coordinator/producers-list/producers-list.component.spec.ts +++ b/webapp-frontend/src/app/ei-coordinator/producers-list/producers-list.component.spec.ts @@ -5,8 +5,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 +42,7 @@ describe('ProducersListComponent', () => { ProducersListComponent ], providers: [ - { provide: EIService, useValue: spy }, + { provide: ProducerService, useValue: spy }, UiService, ] }) @@ -62,19 +62,19 @@ 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).toEqual([producer1, producer2]); }); @@ -121,11 +121,11 @@ describe('ProducersListComponent', () => { }); it('should display defaults values for non required properties', async () => { - let eiServiceSpy = TestBed.inject(EIService) as jasmine.SpyObj; + let producerServiceSpy = TestBed.inject(ProducerService) as jasmine.SpyObj; - 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 >' }; @@ -198,16 +198,59 @@ describe('ProducersListComponent', () => { prodRows = await producersTable.getRows(); expect(await prodRows[prodRows.length - 1].getCellTextByColumnName()).toEqual(expectedProducer1Row); }); + + it('should not sort when clicking on the filter input field', async () => { + setServiceSpy(); + let producersTable = await loader.getHarness(MatTableHarness.with({ selector: '#producersTable' })); + let producerRows = await producersTable.getRows(); + let producerIdFilter = await loader.getHarness(MatInputHarness.with({ selector: '#producerIdFilter'})); + let producerTypesFilter = await loader.getHarness(MatInputHarness.with({ selector: '#producerTypesFilter'})); + let producerStatusFilter = await loader.getHarness(MatInputHarness.with({ selector: '#producerStatusFilter'})); + let producerIds, producerTypes, producerStatuses: String[]; + let unfilteredProducerIds, unfilteredProducerTypes, unfilteredProducerStatuses: String[]; + + for (let i = 0; i < producerRows.length; i++) { + producerRows[i].getCellTextByColumnName().then((value) => { + producerIds.push(value[0]); + producerTypes.push(value[1]); + producerStatuses.push(value[2]); + }); + }; + + producerIdFilter.setValue(""); + for (let i = 0; i < producerRows.length; i++) { + producerRows[i].getCellTextByColumnName().then((value) => { + unfilteredProducerIds.push(value[0]); + }); + }; + expect(unfilteredProducerIds).toBe(producerIds); + + producerTypesFilter.setValue(""); + for (let i = 0; i < producerRows.length; i++) { + producerRows[i].getCellTextByColumnName().then((value) => { + unfilteredProducerTypes.push(value[1]); + }); + }; + expect(unfilteredProducerTypes).toBe(producerTypes); + + producerStatusFilter.setValue(""); + for (let i = 0; i < producerRows.length; i++) { + producerRows[i].getCellTextByColumnName().then((value) => { + unfilteredProducerStatuses.push(value[2]); + }); + }; + expect(unfilteredProducerStatuses).toBe(producerStatuses); + }); }); }); }); 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 @@ -216,11 +259,11 @@ function setServiceSpy() { operational_state: OperationalState.DISABLED } as ProducerStatus; - let eiServiceSpy = TestBed.inject(EIService) as jasmine.SpyObj; + let producerServiceSpy = TestBed.inject(ProducerService) as jasmine.SpyObj; - 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)); }