diff --git a/src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.spec.ts b/src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.spec.ts index 4276ad2fc5..bceb986a7f 100644 --- a/src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.spec.ts +++ b/src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.spec.ts @@ -3,17 +3,58 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ItemAccessControlSelectBitstreamsModalComponent } from './item-access-control-select-bitstreams-modal.component'; +import { ObjectCollectionComponent } from '../../object-collection/object-collection.component'; +import { BitstreamDataService } from '../../../core/data/bitstream-data.service'; +import { PaginationService } from '../../../core/pagination/pagination.service'; +import { TranslateService } from '@ngx-translate/core'; +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; +import { Item } from '../../../core/shared/item.model'; +import { Observable, of as observableOf } from 'rxjs'; +import { RemoteData } from '../../../core/data/remote-data'; +import { Bitstream } from '../../../core/shared/bitstream.model'; +import { createSuccessfulRemoteDataObject$ } from '../../remote-data.utils'; +import { FindListOptions } from '../../../core/data/find-list-options.model'; +import { FollowLinkConfig } from '../../utils/follow-link-config.model'; +import { PaginatedList } from '../../../core/data/paginated-list.model'; +import { createPaginatedList } from '../../testing/utils.test'; +import { EventEmitter, Pipe, PipeTransform } from '@angular/core'; -// TODO: enable this test suite and fix it -xdescribe('ItemAccessControlSelectBitstreamsModalComponent', () => { +describe('ItemAccessControlSelectBitstreamsModalComponent', () => { let component: ItemAccessControlSelectBitstreamsModalComponent; let fixture: ComponentFixture; + const mockBitstreamDataService = { + findAllByItemAndBundleName(item: Item, bundleName: string, options?: FindListOptions, ...linksToFollow: FollowLinkConfig[]): Observable>> { + return createSuccessfulRemoteDataObject$(createPaginatedList([])); + }, + }; + + const translateServiceStub = { + get: () => observableOf('test-message'), + onLangChange: new EventEmitter(), + onTranslationChange: new EventEmitter(), + onDefaultLangChange: new EventEmitter() + }; + beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [ItemAccessControlSelectBitstreamsModalComponent] -}) - .compileComponents(); + imports: [ItemAccessControlSelectBitstreamsModalComponent], + providers: [ + NgbActiveModal, + {provide: BitstreamDataService, useValue: mockBitstreamDataService}, + {provide: PaginationService, useValue: {}}, + {provide: TranslateService, useValue: translateServiceStub} + ] + }) + .overrideComponent(ItemAccessControlSelectBitstreamsModalComponent, { + remove: { + imports: [ObjectCollectionComponent] + }, + add: { + imports: [MockTranslatePipe] + } + }) + .compileComponents(); }); beforeEach(() => { @@ -26,3 +67,14 @@ xdescribe('ItemAccessControlSelectBitstreamsModalComponent', () => { expect(component).toBeTruthy(); }); }); + +@Pipe({ + // eslint-disable-next-line @angular-eslint/pipe-prefix + name: 'translate', + standalone: true +}) +class MockTranslatePipe implements PipeTransform { + transform(value: string): string { + return value; + } +}