Недопустимое состояние: не удалось загрузить сводку для директивы в Service Test - PullRequest
0 голосов
/ 08 марта 2019

Существует несколько вопросов, объявляющих об этой проблеме, но ни один из них не решил мою проблему, касающуюся службы, которую я тестирую 'ProcessoService'.Мой файл спецификаций прост, вот код:

import { TestBed, ComponentFixture, async } from '@angular/core/testing';
import { ProcessoService } from './processo.service';
import { PontuaAppConfig } from 'frontend-base';
import { AbstractCRUDService, BlockUiService, UtilsService } from 'serpro-web-base';
import { HttpClient } from '@angular/common/http';
import { ProcessoModule } from './processo.module';

class PontuaAppConfigStub {
  baseApiUrl = '';
}

describe('Serviço Processo', () => {
  let sut: ProcessoService;
  let pontuaAppConfig: PontuaAppConfig;
  let fixture: ComponentFixture<ProcessoService>;
  beforeEach(done => (async () => {
    TestBed.configureTestingModule({
      providers: [
        { provide: HttpClient, useClass: HttpClient, deps: [] },
        { provide: PontuaAppConfig, useClass: PontuaAppConfigStub },
        { provide: AbstractCRUDService, useClass: ProcessoService },
        ProcessoService,
        BlockUiService,
        UtilsService,
      ],
      imports: [ProcessoModule],
      declarations: []
    });

    pontuaAppConfig = TestBed.get(PontuaAppConfig);
    fixture = TestBed.createComponent(ProcessoService);
    sut = fixture.debugElement.injector.get(ProcessoService);

    await TestBed.compileComponents();
  })().then(done).catch(done.fail));

  it('should be created', () => {
    console.log(sut);
    expect(sut).toBeTruthy();
  });

  it('should Get apiUrl', () => {
    spyOn(pontuaAppConfig, 'baseApiUrl');
    sut.getApiUrl();
    expect(pontuaAppConfig.baseApiUrl).toMatch('');
  });

  it('should set local store for processos', () => {
    spyOn(sut, 'listarCache').and.returnValue({subscribe: () => {}});
    fixture.detectChanges();
    expect(sut.listarCache()).toHaveBeenCalled();
    expect(window.localStorage.getItem('processos')).not.toBeNull();
  });
});

Все ошибки указывают на переменную sut каждый раз, когда она используется.Что мне здесь не хватает?Я использую Angular 7.1.1, Karma 3.1.1 и Jasmine 2.99 и ChromeHeadless 67

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...