From: ychacon Date: Fri, 19 Mar 2021 08:16:41 +0000 (+0100) Subject: Use of ng-mocks instead of stub X-Git-Tag: 2.2.0~39^2 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F00%2F5800%2F2;p=portal%2Fnonrtric-controlpanel.git Use of ng-mocks instead of stub Issue-ID: NONRTRIC-451 Signed-off-by: ychacon Change-Id: I2c4da73946cfce2fe833ae3bd8424aaf5564093c --- diff --git a/webapp-frontend/src/app/ei-coordinator/ei-coordinator.component.spec.ts b/webapp-frontend/src/app/ei-coordinator/ei-coordinator.component.spec.ts index 96ad96f..ed45171 100644 --- a/webapp-frontend/src/app/ei-coordinator/ei-coordinator.component.spec.ts +++ b/webapp-frontend/src/app/ei-coordinator/ei-coordinator.component.spec.ts @@ -19,7 +19,7 @@ */ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations' -import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; import { HarnessLoader } from '@angular/cdk/testing'; import { MatButtonModule } from '@angular/material/button'; import { MatButtonHarness } from '@angular/material/button/testing'; @@ -31,6 +31,8 @@ import { EICoordinatorComponent } from './ei-coordinator.component'; import { UiService } from '@services/ui/ui.service'; import { ProducersListComponent } from '@ei-coordinator/producers-list/producers-list.component'; import { JobsListComponent } from '@ei-coordinator/jobs-list/jobs-list.component'; +import { MockComponent } from 'ng-mocks'; +import { By } from '@angular/platform-browser'; describe('EICoordinatorComponent', () => { let component: EICoordinatorComponent; @@ -51,8 +53,8 @@ describe('EICoordinatorComponent', () => { ], declarations: [ EICoordinatorComponent, - JobsListStubComponent, - ProducerListStubComponent, + MockComponent(JobsListComponent), + MockComponent(ProducersListComponent), ], providers: [ UiService @@ -100,47 +102,22 @@ describe('EICoordinatorComponent', () => { it('should refresh tables', async () => { let refreshButton = await loader.getHarness(MatButtonHarness.with({ selector: '#refreshButton' })); - spyOn(component.producersList, 'loadProducers'); - spyOn(component.producersList, 'clearFilter'); - spyOn(component.jobComponent, 'loadJobs'); - spyOn(component.jobComponent, 'clearFilter'); + + const jobsComponent: JobsListComponent = fixture.debugElement.query(By.directive(JobsListComponent)).componentInstance; + spyOn(jobsComponent, 'loadJobs'); + spyOn(jobsComponent, 'clearFilter'); + + const prodsComponent: ProducersListComponent = fixture.debugElement.query(By.directive(ProducersListComponent)).componentInstance; + spyOn(prodsComponent, 'loadProducers'); + spyOn(prodsComponent, 'clearFilter'); + await refreshButton.click(); - expect(component.jobComponent.loadJobs).toHaveBeenCalled(); - expect(component.jobComponent.clearFilter).toHaveBeenCalled(); - expect(component.producersList.loadProducers).toHaveBeenCalled(); - expect(component.producersList.clearFilter).toHaveBeenCalled(); + expect(jobsComponent.loadJobs).toHaveBeenCalled(); + expect(jobsComponent.clearFilter).toHaveBeenCalled(); + expect(prodsComponent.loadProducers).toHaveBeenCalled(); + expect(prodsComponent.clearFilter).toHaveBeenCalled(); + }); }); - - @Component({ - selector: 'nrcp-jobs-list', - template: '', - providers: [ - { - provide: JobsListComponent, - useClass: JobsListStubComponent - } - ] - }) - class JobsListStubComponent { - loadJobs() { } - clearFilter() { } - } - - @Component({ - selector: 'nrcp-producers-list', - template: '', - providers: [ - { - provide: ProducersListComponent, - useClass: ProducerListStubComponent - } - ] - }) - class ProducerListStubComponent { - loadProducers() { } - clearFilter() { } - } - });