feat: fix SubmissionImportExternalCollectionComponent test

This commit is contained in:
Enea Jahollari
2023-09-25 22:11:20 +02:00
parent 5e09fe6bf0
commit c96201f1d4

View File

@@ -1,30 +1,34 @@
import { Component, NO_ERRORS_SCHEMA } from '@angular/core'; import { Component, NO_ERRORS_SCHEMA } from '@angular/core';
import { ComponentFixture, fakeAsync, inject, TestBed, waitForAsync } from '@angular/core/testing'; import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
import { createTestComponent } from '../../../shared/testing/utils.test'; import { createTestComponent } from '../../../shared/testing/utils.test';
import { SubmissionImportExternalCollectionComponent } from './submission-import-external-collection.component'; import { SubmissionImportExternalCollectionComponent } from './submission-import-external-collection.component';
import { CollectionListEntry } from '../../../shared/collection-dropdown/collection-dropdown.component'; import { CollectionListEntry } from '../../../shared/collection-dropdown/collection-dropdown.component';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
import { By } from '@angular/platform-browser'; import { By } from '@angular/platform-browser';
import { ThemeService } from '../../../shared/theme-support/theme.service';
import { getMockThemeService } from '../../../shared/mocks/theme-service.mock';
describe('SubmissionImportExternalCollectionComponent test suite', () => { describe('SubmissionImportExternalCollectionComponent test suite', () => {
let comp: SubmissionImportExternalCollectionComponent; let comp: SubmissionImportExternalCollectionComponent;
let compAsAny: any; let compAsAny: any;
let fixture: ComponentFixture<SubmissionImportExternalCollectionComponent>; let fixture: ComponentFixture<SubmissionImportExternalCollectionComponent>;
let themeService = getMockThemeService();
beforeEach(waitForAsync (() => { beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [ imports: [
TranslateModule.forRoot(), TranslateModule.forRoot(),
SubmissionImportExternalCollectionComponent, SubmissionImportExternalCollectionComponent,
TestComponent TestComponent
], ],
providers: [ providers: [
NgbActiveModal, NgbActiveModal,
SubmissionImportExternalCollectionComponent SubmissionImportExternalCollectionComponent,
], {provide: ThemeService, useValue: themeService},
schemas: [NO_ERRORS_SCHEMA] ],
}).compileComponents().then(); schemas: [NO_ERRORS_SCHEMA]
}).compileComponents().then();
})); }));
// First test to check the correct component creation // First test to check the correct component creation
@@ -115,7 +119,7 @@ describe('SubmissionImportExternalCollectionComponent test suite', () => {
expect(comp.selectedEvent.emit).toHaveBeenCalledWith(selected); expect(comp.selectedEvent.emit).toHaveBeenCalledWith(selected);
}); });
it('dropdown should be invisible when the component is loading', fakeAsync(() => { it('dropdown should be invisible when the component is loading', () => {
spyOn(comp, 'isLoading').and.returnValue(true); spyOn(comp, 'isLoading').and.returnValue(true);
fixture.detectChanges(); fixture.detectChanges();
@@ -124,7 +128,7 @@ describe('SubmissionImportExternalCollectionComponent test suite', () => {
const dropdownMenu = fixture.debugElement.query(By.css('ds-themed-collection-dropdown')).nativeElement; const dropdownMenu = fixture.debugElement.query(By.css('ds-themed-collection-dropdown')).nativeElement;
expect(dropdownMenu.classList).toContain('d-none'); expect(dropdownMenu.classList).toContain('d-none');
}); });
})); });
}); });
}); });