Tengo un componente de prueba y algunas pruebas que requieren que el espectador use diferentes simulacros. El problema es que no pude hacer que el espectador los cambiara dinámicamente a medida que avanzaba la prueba.
Básicamente tengo 2 simulacros que se importan de archivos .json, uno es el correcto y el otro es el que tiene error.
Correcto: rentabilidad-cliente.json Inválido: rentabilidad-cliente-JSON-error-1.json
En la prueba 8, necesito que el espectador cambie el simulacro a uno inválido.
Esto es lo que tengo:
import * as reportMock from '@app/__mocks__/reports/profitability-customer.json'; import * as reportMockError from '@app/__mocks__/reports/profitability-customer-JSON-error-1.json'; let spectator: Spectator<ProfitabilityCustomerReportComponent>; beforeEach(() => { spectator = createComponent(); spectator.component.reportForm.controls.brands.setValue([testCustomer.brands[1].bkId]); testIter++; }); createComponent = createComponentFactory({ component: ProfitabilityCustomerReportComponent, imports: [SharedModule, HttpClientTestingModule, RouterTestingModule], providers: [MapService, DateSelectService, mockProvider(HeaderCustomerService, HeaderCustomerServiceMock), mockProvider(MapService, MapServiceMock), mockProvider(ReportingApiService, myFOO()) ], shallow: false }); function myFOO() { let ReportingApiServiceMock: any; console.log(testIter); if (testIter === 8) { ReportingApiServiceMock = { getReport() { return of(reportMockError['profitability-customer-JSON-error-1']); } }; } else { ReportingApiServiceMock = { getReport() { return of(reportMock['profitability-customer']); } }; } return ReportingApiServiceMock; };