diff --git a/src/app/item-page/edit-item-page/item-version-history/item-version-history.component.spec.ts b/src/app/item-page/edit-item-page/item-version-history/item-version-history.component.spec.ts index c68dcfeba3..f4ed04c2c8 100644 --- a/src/app/item-page/edit-item-page/item-version-history/item-version-history.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-version-history/item-version-history.component.spec.ts @@ -1,5 +1,5 @@ import { ItemVersionHistoryComponent } from './item-version-history.component'; -import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { VarDirective } from '../../../shared/utils/var.directive'; import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; @@ -18,12 +18,20 @@ describe('ItemVersionHistoryComponent', () => { handle: '123456789/1', }); + const activatedRoute = { + parent: { + parent: { + data: observableOf({dso: createSuccessfulRemoteDataObject(item)}) + } + } + }; + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ declarations: [ItemVersionHistoryComponent, VarDirective], imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([])], providers: [ - { provide: ActivatedRoute, useValue: { parent: { data: observableOf({ dso: createSuccessfulRemoteDataObject(item) }) } } } + { provide: ActivatedRoute, useValue: activatedRoute } ], schemas: [NO_ERRORS_SCHEMA] }).compileComponents(); diff --git a/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.spec.ts b/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.spec.ts index e70a05a8c8..3c888071ea 100644 --- a/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.spec.ts +++ b/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.spec.ts @@ -29,6 +29,8 @@ import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; import { GenericItemPageFieldComponent } from '../../field-components/specific-field/generic/generic-item-page-field.component'; import { createRelationshipsObservable } from '../shared/item.component.spec'; import { UntypedItemComponent } from './untyped-item.component'; +import { VersionHistoryDataService } from '../../../../core/data/version-history-data.service'; +import { VersionDataService } from '../../../../core/data/version-data.service'; const mockItem: Item = Object.assign(new Item(), { bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])), @@ -68,9 +70,10 @@ describe('UntypedItemComponent', () => { { provide: HttpClient, useValue: {} }, { provide: DSOChangeAnalyzer, useValue: {} }, { provide: DefaultChangeAnalyzer, useValue: {} }, + { provide: VersionHistoryDataService, useValue: {} }, + { provide: VersionDataService, useValue: {} }, { provide: BitstreamDataService, useValue: mockBitstreamDataService }, ], - schemas: [NO_ERRORS_SCHEMA] }).overrideComponent(UntypedItemComponent, { set: { changeDetection: ChangeDetectionStrategy.Default } diff --git a/src/app/item-page/version-page/version-page/version-page.component.spec.ts b/src/app/item-page/version-page/version-page/version-page.component.spec.ts index 146d0e98c4..8793315968 100644 --- a/src/app/item-page/version-page/version-page/version-page.component.spec.ts +++ b/src/app/item-page/version-page/version-page/version-page.component.spec.ts @@ -1,6 +1,6 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { VersionPageComponent } from './version-page.component'; -import { ActivatedRoute, Router } from '@angular/router'; +import { ActivatedRoute } from '@angular/router'; import { ActivatedRouteStub } from '../../../shared/testing/active-router.stub'; import { of as observableOf } from 'rxjs'; import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils'; @@ -9,6 +9,8 @@ import { createPaginatedList } from '../../../shared/testing/utils.test'; import { createRelationshipsObservable } from '../../simple/item-types/shared/item.component.spec'; import { VersionDataService } from '../../../core/data/version-data.service'; import { AuthService } from '../../../core/auth/auth.service'; +import { Version } from '../../../core/shared/version.model'; +import { RouterTestingModule } from '@angular/router/testing'; const mockItem: Item = Object.assign(new Item(), { bundles: createSuccessfulRemoteDataObject$(createPaginatedList([])), @@ -16,11 +18,21 @@ const mockItem: Item = Object.assign(new Item(), { relationships: createRelationshipsObservable() }); +const mockVersion: Version = Object.assign(new Version(), { + item: createSuccessfulRemoteDataObject$(mockItem), + version: 1, +}); + + describe('VersionPageComponent', () => { let component: VersionPageComponent; let fixture: ComponentFixture; let authService: AuthService; + const mockRoute = Object.assign(new ActivatedRouteStub(), { + data: observableOf({dso: createSuccessfulRemoteDataObject(mockVersion)}) + }); + beforeEach(waitForAsync(() => { authService = jasmine.createSpyObj('authService', { isAuthenticated: observableOf(true), @@ -28,19 +40,17 @@ describe('VersionPageComponent', () => { }); TestBed.configureTestingModule({ declarations: [VersionPageComponent], + imports: [RouterTestingModule], providers: [ - {provide: ActivatedRoute, useValue: mockRoute}, - {provide: Router, useValue: {}}, - {provide: VersionDataService, useValue: {}}, - {provide: AuthService, useValue: authService}, + { provide: ActivatedRoute, useValue: mockRoute }, + { provide: VersionDataService, useValue: {} }, + { provide: AuthService, useValue: authService }, ], }) .compileComponents(); })); - const mockRoute = Object.assign(new ActivatedRouteStub(), { - data: observableOf({dso: createSuccessfulRemoteDataObject(mockItem)}) - }); + beforeEach(() => { fixture = TestBed.createComponent(VersionPageComponent); diff --git a/src/app/item-page/version-page/version-page/version-page.component.ts b/src/app/item-page/version-page/version-page/version-page.component.ts index e61b26cd19..99d11af1d5 100644 --- a/src/app/item-page/version-page/version-page/version-page.component.ts +++ b/src/app/item-page/version-page/version-page/version-page.component.ts @@ -3,12 +3,8 @@ import { Observable } from 'rxjs'; import { RemoteData } from '../../../core/data/remote-data'; import { ActivatedRoute, Router } from '@angular/router'; import { AuthService } from '../../../core/auth/auth.service'; -import { map, switchMap } from 'rxjs/operators'; -import { - getFirstCompletedRemoteData, - getFirstSucceededRemoteDataPayload, - redirectOn4xx -} from '../../../core/shared/operators'; +import { map, switchMap, tap } from 'rxjs/operators'; +import { getFirstCompletedRemoteData, getFirstSucceededRemoteDataPayload, redirectOn4xx } from '../../../core/shared/operators'; import { VersionDataService } from '../../../core/data/version-data.service'; import { Version } from '../../../core/shared/version.model'; import { Item } from '../../../core/shared/item.model'; @@ -36,6 +32,7 @@ export class VersionPageComponent implements OnInit { ngOnInit(): void { /* Retrieve version from resolver or redirect on 4xx */ this.versionRD$ = this.route.data.pipe( + tap( (data) => { console.log(JSON.stringify(data)); } ), map((data) => data.dso as RemoteData), redirectOn4xx(this.router, this.authService), ); diff --git a/src/app/shared/item/item-versions/item-versions-delete-modal/item-versions-delete-modal.component.spec.ts b/src/app/shared/item/item-versions/item-versions-delete-modal/item-versions-delete-modal.component.spec.ts index 5ef9ae44d2..8a0d4a58d9 100644 --- a/src/app/shared/item/item-versions/item-versions-delete-modal/item-versions-delete-modal.component.spec.ts +++ b/src/app/shared/item/item-versions/item-versions-delete-modal/item-versions-delete-modal.component.spec.ts @@ -1,6 +1,9 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ItemVersionsDeleteModalComponent } from './item-versions-delete-modal.component'; +import { TranslateModule } from '@ngx-translate/core'; +import { RouterTestingModule } from '@angular/router/testing'; +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; describe('ItemVersionsDeleteModalComponent', () => { let component: ItemVersionsDeleteModalComponent; @@ -8,9 +11,12 @@ describe('ItemVersionsDeleteModalComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ ItemVersionsDeleteModalComponent ] - }) - .compileComponents(); + declarations: [ItemVersionsDeleteModalComponent], + imports: [ TranslateModule.forRoot(), RouterTestingModule.withRoutes([]) ], + providers: [ + { provide: NgbActiveModal }, + ] + }).compileComponents(); }); beforeEach(() => { diff --git a/src/app/shared/item/item-versions/item-versions-summary-modal/item-versions-summary-modal.component.spec.ts b/src/app/shared/item/item-versions/item-versions-summary-modal/item-versions-summary-modal.component.spec.ts index 3b88b96f42..657e8c0e75 100644 --- a/src/app/shared/item/item-versions/item-versions-summary-modal/item-versions-summary-modal.component.spec.ts +++ b/src/app/shared/item/item-versions/item-versions-summary-modal/item-versions-summary-modal.component.spec.ts @@ -1,6 +1,9 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ItemVersionsSummaryModalComponent } from './item-versions-summary-modal.component'; +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; +import { RouterTestingModule } from '@angular/router/testing'; describe('ItemVersionsSummaryModalComponent', () => { let component: ItemVersionsSummaryModalComponent; @@ -8,9 +11,12 @@ describe('ItemVersionsSummaryModalComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ ItemVersionsSummaryModalComponent ] - }) - .compileComponents(); + declarations: [ ItemVersionsSummaryModalComponent ], + imports: [ TranslateModule.forRoot(), RouterTestingModule.withRoutes([]) ], + providers: [ + { provide: NgbActiveModal }, + ] + }).compileComponents(); }); beforeEach(() => {