[CST-4499] Version history - Old tests fixed

This commit is contained in:
Davide Negretti
2021-09-21 16:47:42 +02:00
parent 62fea1fa78
commit aee612e06d
6 changed files with 53 additions and 23 deletions

View File

@@ -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();

View File

@@ -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 }

View File

@@ -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<VersionPageComponent>;
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);

View File

@@ -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<Version>),
redirectOn4xx(this.router, this.authService),
);

View File

@@ -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(() => {

View File

@@ -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(() => {