Files
dspace-angular/src/app/process-page/process-breadcrumbs.service.spec.ts
2023-06-27 17:30:02 +02:00

41 lines
1.3 KiB
TypeScript

import {
TestBed,
waitForAsync,
} from '@angular/core/testing';
import { getTestScheduler } from 'jasmine-marbles';
import { Breadcrumb } from '../breadcrumbs/breadcrumb/breadcrumb.model';
import { ProcessBreadcrumbsService } from './process-breadcrumbs.service';
import { Process } from './processes/process.model';
describe('ProcessBreadcrumbsService', () => {
let service: ProcessBreadcrumbsService;
let exampleId;
let exampleScriptName;
let exampleProcess;
let exampleURL;
function init() {
exampleId = '12345';
exampleScriptName = 'Example Script';
exampleProcess = Object.assign(new Process(), { processId: exampleId, scriptName: exampleScriptName });
exampleURL = 'example.com';
}
beforeEach(waitForAsync(() => {
init();
TestBed.configureTestingModule({}).compileComponents();
}));
beforeEach(() => {
service = new ProcessBreadcrumbsService();
});
describe('getBreadcrumbs', () => {
it('should return a breadcrumb based on a id and scriptName of the process', () => {
const breadcrumbs = service.getBreadcrumbs(exampleProcess, exampleURL);
getTestScheduler().expectObservable(breadcrumbs).toBe('(a|)', { a: [new Breadcrumb(exampleId + ' - ' + exampleScriptName, exampleURL)] });
});
});
});