mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-13 13:03:04 +00:00
41 lines
1.5 KiB
TypeScript
41 lines
1.5 KiB
TypeScript
import { ProcessBreadcrumbResolver } from './process-breadcrumb.resolver';
|
|
import { Process } from './processes/process.model';
|
|
import { ProcessDataService } from '../core/data/processes/process-data.service';
|
|
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
|
|
|
|
describe('ProcessBreadcrumbResolver', () => {
|
|
describe('resolve', () => {
|
|
let resolver: ProcessBreadcrumbResolver;
|
|
let processDataService: ProcessDataService;
|
|
let processBreadcrumbService: any;
|
|
let process: Process;
|
|
let id: string;
|
|
let path: string;
|
|
beforeEach(() => {
|
|
id = '12345';
|
|
process = Object.assign(new Process(), { id });
|
|
path = 'rest.com/path/to/breadcrumb/12345';
|
|
processBreadcrumbService = {};
|
|
processDataService = {
|
|
findById: () => createSuccessfulRemoteDataObject$(process)
|
|
} as any;
|
|
resolver = new ProcessBreadcrumbResolver(processBreadcrumbService, processDataService);
|
|
});
|
|
|
|
it('should resolve the breadcrumb config', (done) => {
|
|
const resolvedConfig = resolver.resolve({ data: { breadcrumbKey: process }, params: { id: id} } as any, {url: path} as any);
|
|
const expectedConfig = { provider: processBreadcrumbService, key: process, url: path};
|
|
resolvedConfig.subscribe((config) => {
|
|
expect(config).toEqual(expectedConfig);
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('should resolve throw an error when no breadcrumbKey is defined', () => {
|
|
expect(() => {
|
|
resolver.resolve({ data: {} } as any, undefined);
|
|
}).toThrow();
|
|
});
|
|
});
|
|
});
|