Ошибка модульного теста при реализации AkitaFilterPlugin - PullRequest
0 голосов
/ 14 июля 2020

Я реализовал пример akitafilterplugin, и все отлично. Теперь я пытаюсь написать модульные тесты для того же самого. Но когда я запускаю тесты, я получаю сообщение об ошибке: «TypeError: Невозможно прочитать свойство storeName of undefined» в

в новом AkitaFiltersPlugin (http://localhost: 9876 / karma_webpack / node_modules / akita-filters-plugin / ivy_ng cc / fesm2015 / akita-filters-plugin. js: 241: 38)

Насколько я понял, ошибка происходит из-за создания akitaFilterPlugin в конструкторе служебного файла.

Исходный код ниже:

В службе (PublicationService):

filterPublications: AkitaFiltersPlugin<PublicationState>;

 constructor (private publicationsQuery: PublicationsQuery) {
        this.filterPublications = new AkitaFiltersPlugin<PublicationState>(publicationsQuery);
    }

В тестовом файле:

    beforeEach(() => {
        fixture = TestBed.createComponent(PublicationComponent);
        comp = fixture.componentInstance;
        
         pubService = TestBed.inject(PublicationsService);
         \\Injecting necessary services
    });

    it('Page is created', () => {
        expect(comp).toBeTruthy();
    });

В магазине:

export interface PublicationState extends EntityState<Publication> {
    loaded: boolean;
    publication: string[];
}

@Injectable({providedIn: 'root'})
@StoreConfig({ name: 'Publications' })
export class PublicationsStore extends EntityStore<PublicationState, Publication> {
    constructor() {
        super(initalState);
    }
}
...