[DURACOM-234] Fix tests

This commit is contained in:
Giuseppe Digilio
2024-04-02 15:28:19 +02:00
parent 32b816c1aa
commit 026e16ffd9
2 changed files with 27 additions and 34 deletions

View File

@@ -12,23 +12,30 @@ import {
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils';
import { AuthService } from '../../../auth/auth.service'; import { AuthService } from '../../../auth/auth.service';
import { DSpaceObject } from '../../../shared/dspace-object.model'; import { DSpaceObject } from '../../../shared/dspace-object.model';
import { Item } from '../../../shared/item.model';
import { RemoteData } from '../../remote-data'; import { RemoteData } from '../../remote-data';
import { AuthorizationDataService } from '../authorization-data.service'; import { AuthorizationDataService } from '../authorization-data.service';
import { FeatureID } from '../feature-id'; import { FeatureID } from '../feature-id';
import { DsoPageSingleFeatureGuard } from './dso-page-single-feature.guard'; import { DsoPageSingleFeatureGuard } from './dso-page-single-feature.guard';
const object = {
self: 'test-selflink',
} as DSpaceObject;
const testResolver: ResolveFn<RemoteData<any>> = () => createSuccessfulRemoteDataObject$(object);
/** /**
* Test implementation of abstract class DsoPageSingleFeatureGuard * Test implementation of abstract class DsoPageSingleFeatureGuard
*/ */
class DsoPageSingleFeatureGuardImpl extends DsoPageSingleFeatureGuard<any> { class DsoPageSingleFeatureGuardImpl extends DsoPageSingleFeatureGuard<any> {
constructor(protected resolver: {
resolve: ResolveFn<RemoteData<any>>; protected resolver: ResolveFn<RemoteData<Item>> = testResolver;
},
protected authorizationService: AuthorizationDataService, constructor(protected authorizationService: AuthorizationDataService,
protected router: Router, protected router: Router,
protected authService: AuthService, protected authService: AuthService,
protected featureID: FeatureID) { protected featureID: FeatureID) {
super(resolver, authorizationService, router, authService); super(authorizationService, router, authService);
} }
getFeatureID(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<FeatureID> { getFeatureID(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<FeatureID> {
@@ -41,27 +48,16 @@ describe('DsoPageSingleFeatureGuard', () => {
let authorizationService: AuthorizationDataService; let authorizationService: AuthorizationDataService;
let router: Router; let router: Router;
let authService: AuthService; let authService: AuthService;
let resolver: {
resolve: ResolveFn<RemoteData<any>>;
};
let object: DSpaceObject;
let route; let route;
let parentRoute; let parentRoute;
function init() { function init() {
object = {
self: 'test-selflink',
} as DSpaceObject;
authorizationService = jasmine.createSpyObj('authorizationService', { authorizationService = jasmine.createSpyObj('authorizationService', {
isAuthorized: observableOf(true), isAuthorized: observableOf(true),
}); });
router = jasmine.createSpyObj('router', { router = jasmine.createSpyObj('router', {
parseUrl: {}, parseUrl: {},
}); });
resolver = jasmine.createSpyObj('resolver', {
resolve: createSuccessfulRemoteDataObject$(object),
});
authService = jasmine.createSpyObj('authService', { authService = jasmine.createSpyObj('authService', {
isAuthenticated: observableOf(true), isAuthenticated: observableOf(true),
}); });
@@ -75,7 +71,7 @@ describe('DsoPageSingleFeatureGuard', () => {
}, },
parent: parentRoute, parent: parentRoute,
}; };
guard = new DsoPageSingleFeatureGuardImpl(resolver, authorizationService, router, authService, undefined); guard = new DsoPageSingleFeatureGuardImpl(authorizationService, router, authService, undefined);
} }
beforeEach(() => { beforeEach(() => {

View File

@@ -12,23 +12,30 @@ import {
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils';
import { AuthService } from '../../../auth/auth.service'; import { AuthService } from '../../../auth/auth.service';
import { DSpaceObject } from '../../../shared/dspace-object.model'; import { DSpaceObject } from '../../../shared/dspace-object.model';
import { Item } from '../../../shared/item.model';
import { RemoteData } from '../../remote-data'; import { RemoteData } from '../../remote-data';
import { AuthorizationDataService } from '../authorization-data.service'; import { AuthorizationDataService } from '../authorization-data.service';
import { FeatureID } from '../feature-id'; import { FeatureID } from '../feature-id';
import { DsoPageSomeFeatureGuard } from './dso-page-some-feature.guard'; import { DsoPageSomeFeatureGuard } from './dso-page-some-feature.guard';
const object = {
self: 'test-selflink',
} as DSpaceObject;
const testResolver: ResolveFn<RemoteData<any>> = () => createSuccessfulRemoteDataObject$(object);
/** /**
* Test implementation of abstract class DsoPageSomeFeatureGuard * Test implementation of abstract class DsoPageSomeFeatureGuard
*/ */
class DsoPageSomeFeatureGuardImpl extends DsoPageSomeFeatureGuard<any> { class DsoPageSomeFeatureGuardImpl extends DsoPageSomeFeatureGuard<any> {
constructor(protected resolver: {
resolve: ResolveFn<RemoteData<any>>; protected resolver: ResolveFn<RemoteData<Item>> = testResolver;
},
protected authorizationService: AuthorizationDataService, constructor(protected authorizationService: AuthorizationDataService,
protected router: Router, protected router: Router,
protected authService: AuthService, protected authService: AuthService,
protected featureIDs: FeatureID[]) { protected featureIDs: FeatureID[]) {
super(resolver, authorizationService, router, authService); super(authorizationService, router, authService);
} }
getFeatureIDs(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<FeatureID[]> { getFeatureIDs(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<FeatureID[]> {
@@ -41,27 +48,17 @@ describe('DsoPageSomeFeatureGuard', () => {
let authorizationService: AuthorizationDataService; let authorizationService: AuthorizationDataService;
let router: Router; let router: Router;
let authService: AuthService; let authService: AuthService;
let resolver: {
resolve: ResolveFn<RemoteData<any>>;
};
let object: DSpaceObject;
let route; let route;
let parentRoute; let parentRoute;
function init() { function init() {
object = {
self: 'test-selflink',
} as DSpaceObject;
authorizationService = jasmine.createSpyObj('authorizationService', { authorizationService = jasmine.createSpyObj('authorizationService', {
isAuthorized: observableOf(true), isAuthorized: observableOf(true),
}); });
router = jasmine.createSpyObj('router', { router = jasmine.createSpyObj('router', {
parseUrl: {}, parseUrl: {},
}); });
resolver = jasmine.createSpyObj('resolver', {
resolve: createSuccessfulRemoteDataObject$(object),
});
authService = jasmine.createSpyObj('authService', { authService = jasmine.createSpyObj('authService', {
isAuthenticated: observableOf(true), isAuthenticated: observableOf(true),
}); });
@@ -75,7 +72,7 @@ describe('DsoPageSomeFeatureGuard', () => {
}, },
parent: parentRoute, parent: parentRoute,
}; };
guard = new DsoPageSomeFeatureGuardImpl(resolver, authorizationService, router, authService, []); guard = new DsoPageSomeFeatureGuardImpl(authorizationService, router, authService, []);
} }
beforeEach(() => { beforeEach(() => {