mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
Unit test fixes
This commit is contained in:
@@ -11,6 +11,8 @@ import { SelectableObject } from '../../../shared/object-list/selectable-list/se
|
||||
import { PageInfo } from '../../../core/shared/page-info.model';
|
||||
import { buildPaginatedList } from '../../../core/data/paginated-list.model';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils';
|
||||
import { ThemeService } from '../../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../../shared/mocks/theme-service.mock';
|
||||
|
||||
describe('BulkAccessBrowseComponent', () => {
|
||||
let component: BulkAccessBrowseComponent;
|
||||
@@ -23,22 +25,25 @@ describe('BulkAccessBrowseComponent', () => {
|
||||
const selected1 = new SelectableObject(value1);
|
||||
const selected2 = new SelectableObject(value2);
|
||||
|
||||
const testSelection = { id: listID1, selection: [selected1, selected2] } ;
|
||||
const testSelection = { id: listID1, selection: [selected1, selected2] };
|
||||
|
||||
const selectableListService = jasmine.createSpyObj('SelectableListService', ['getSelectableList', 'deselectAll']);
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
imports: [
|
||||
NgbAccordionModule,
|
||||
NgbNavModule,
|
||||
TranslateModule.forRoot(),
|
||||
BulkAccessBrowseComponent
|
||||
],
|
||||
providers: [{ provide: SelectableListService, useValue: selectableListService },],
|
||||
schemas: [
|
||||
],
|
||||
providers: [
|
||||
{ provide: SelectableListService, useValue: selectableListService },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
],
|
||||
schemas: [
|
||||
NO_ERRORS_SCHEMA
|
||||
]
|
||||
}).compileComponents();
|
||||
]
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
@@ -73,7 +78,7 @@ describe('BulkAccessBrowseComponent', () => {
|
||||
'totalElements': 2,
|
||||
'totalPages': 1,
|
||||
'currentPage': 1
|
||||
}), [selected1, selected2]) ;
|
||||
}), [selected1, selected2]);
|
||||
const rd = createSuccessfulRemoteDataObject(list);
|
||||
|
||||
expect(component.objectsSelected$.value).toEqual(rd);
|
||||
|
@@ -13,6 +13,9 @@ import { Process } from '../../process-page/processes/process.model';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
import { NotificationsService } from '../../shared/notifications/notifications.service';
|
||||
import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub';
|
||||
import { ThemeService } from '../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../shared/mocks/theme-service.mock';
|
||||
import { BulkAccessSettingsComponent } from './settings/bulk-access-settings.component';
|
||||
|
||||
describe('BulkAccessComponent', () => {
|
||||
let component: BulkAccessComponent;
|
||||
@@ -69,18 +72,26 @@ describe('BulkAccessComponent', () => {
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [
|
||||
imports: [
|
||||
RouterTestingModule,
|
||||
TranslateModule.forRoot(),
|
||||
BulkAccessComponent
|
||||
],
|
||||
providers: [
|
||||
],
|
||||
providers: [
|
||||
{ provide: BulkAccessControlService, useValue: bulkAccessControlServiceMock },
|
||||
{ provide: NotificationsService, useValue: NotificationsServiceStub },
|
||||
{ provide: SelectableListService, useValue: selectableListServiceMock }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
{ provide: SelectableListService, useValue: selectableListServiceMock },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(BulkAccessComponent, {
|
||||
remove: {
|
||||
imports: [
|
||||
BulkAccessSettingsComponent,
|
||||
]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
});
|
||||
|
||||
|
@@ -3,7 +3,7 @@ import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { ComponentFixture, fakeAsync, flush, inject, TestBed, tick, waitForAsync } from '@angular/core/testing';
|
||||
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
||||
import { BrowserModule, By } from '@angular/platform-browser';
|
||||
import { Router } from '@angular/router';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
||||
import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';
|
||||
import { Observable, of as observableOf } from 'rxjs';
|
||||
@@ -30,6 +30,9 @@ import { PaginationService } from '../../../../core/pagination/pagination.servic
|
||||
import { PaginationServiceStub } from '../../../../shared/testing/pagination-service.stub';
|
||||
import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
|
||||
import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock';
|
||||
import { PaginationComponent } from '../../../../shared/pagination/pagination.component';
|
||||
import { ContextHelpDirective } from '../../../../shared/context-help.directive';
|
||||
import { ActivatedRouteStub } from '../../../../shared/testing/active-router.stub';
|
||||
|
||||
describe('MembersListComponent', () => {
|
||||
let component: MembersListComponent;
|
||||
@@ -136,9 +139,16 @@ describe('MembersListComponent', () => {
|
||||
{ provide: Router, useValue: new RouterMock() },
|
||||
{ provide: PaginationService, useValue: paginationService },
|
||||
{ provide: DSONameService, useValue: new DSONameServiceMock() },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
})
|
||||
.overrideComponent(MembersListComponent, {
|
||||
remove: {
|
||||
imports: [PaginationComponent, ContextHelpDirective]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -3,7 +3,7 @@ import { NO_ERRORS_SCHEMA, DebugElement } from '@angular/core';
|
||||
import { ComponentFixture, fakeAsync, flush, inject, TestBed, tick, waitForAsync } from '@angular/core/testing';
|
||||
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
||||
import { BrowserModule, By } from '@angular/platform-browser';
|
||||
import { Router } from '@angular/router';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
||||
import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';
|
||||
import { Observable, of as observableOf, BehaviorSubject } from 'rxjs';
|
||||
@@ -31,6 +31,9 @@ import { PaginationService } from '../../../../core/pagination/pagination.servic
|
||||
import { PaginationServiceStub } from '../../../../shared/testing/pagination-service.stub';
|
||||
import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
|
||||
import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock';
|
||||
import { ContextHelpDirective } from '../../../../shared/context-help.directive';
|
||||
import { PaginationComponent } from '../../../../shared/pagination/pagination.component';
|
||||
import { ActivatedRouteStub } from '../../../../shared/testing/active-router.stub';
|
||||
|
||||
describe('SubgroupsListComponent', () => {
|
||||
let component: SubgroupsListComponent;
|
||||
@@ -59,23 +62,36 @@ describe('SubgroupsListComponent', () => {
|
||||
getSubgroups(): Group {
|
||||
return this.activeGroup;
|
||||
},
|
||||
findListByHref(_href: string): Observable<RemoteData<PaginatedList<Group>>> {
|
||||
findListByHref(
|
||||
_href: string
|
||||
): Observable<RemoteData<PaginatedList<Group>>> {
|
||||
return this.subgroups$.pipe(
|
||||
map((currentGroups: Group[]) => {
|
||||
return createSuccessfulRemoteDataObject(buildPaginatedList<Group>(new PageInfo(), currentGroups));
|
||||
return createSuccessfulRemoteDataObject(
|
||||
buildPaginatedList<Group>(new PageInfo(), currentGroups)
|
||||
);
|
||||
})
|
||||
);
|
||||
},
|
||||
getGroupEditPageRouterLink(group: Group): string {
|
||||
return '/access-control/groups/' + group.id;
|
||||
},
|
||||
searchGroups(query: string): Observable<RemoteData<PaginatedList<Group>>> {
|
||||
searchGroups(
|
||||
query: string
|
||||
): Observable<RemoteData<PaginatedList<Group>>> {
|
||||
if (query === '') {
|
||||
return createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), allGroups));
|
||||
return createSuccessfulRemoteDataObject$(
|
||||
buildPaginatedList(new PageInfo(), allGroups)
|
||||
);
|
||||
}
|
||||
return createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), []));
|
||||
return createSuccessfulRemoteDataObject$(
|
||||
buildPaginatedList(new PageInfo(), [])
|
||||
);
|
||||
},
|
||||
addSubGroupToGroup(parentGroup, subgroup: Group): Observable<RestResponse> {
|
||||
addSubGroupToGroup(
|
||||
parentGroup,
|
||||
subgroup: Group
|
||||
): Observable<RestResponse> {
|
||||
this.subgroups$.next([...this.subgroups$.getValue(), subgroup]);
|
||||
return observableOf(new RestResponse(true, 200, 'Success'));
|
||||
},
|
||||
@@ -85,38 +101,61 @@ describe('SubgroupsListComponent', () => {
|
||||
clearGroupLinkRequests() {
|
||||
// empty
|
||||
},
|
||||
deleteSubGroupFromGroup(parentGroup, subgroup: Group): Observable<RestResponse> {
|
||||
this.subgroups$.next(this.subgroups$.getValue().filter((group: Group) => {
|
||||
if (group.id !== subgroup.id) {
|
||||
return group;
|
||||
}
|
||||
}));
|
||||
deleteSubGroupFromGroup(
|
||||
parentGroup,
|
||||
subgroup: Group
|
||||
): Observable<RestResponse> {
|
||||
this.subgroups$.next(
|
||||
this.subgroups$.getValue().filter((group: Group) => {
|
||||
if (group.id !== subgroup.id) {
|
||||
return group;
|
||||
}
|
||||
})
|
||||
);
|
||||
return observableOf(new RestResponse(true, 200, 'Success'));
|
||||
}
|
||||
},
|
||||
};
|
||||
routerStub = new RouterMock();
|
||||
builderService = getMockFormBuilderService();
|
||||
translateService = getMockTranslateService();
|
||||
|
||||
paginationService = new PaginationServiceStub();
|
||||
TestBed.configureTestingModule({
|
||||
imports: [CommonModule, NgbModule, FormsModule, ReactiveFormsModule, BrowserModule,
|
||||
imports: [
|
||||
CommonModule,
|
||||
NgbModule,
|
||||
FormsModule,
|
||||
ReactiveFormsModule,
|
||||
BrowserModule,
|
||||
// ContextHelpDirective,
|
||||
TranslateModule.forRoot({
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
}), SubgroupsListComponent],
|
||||
providers: [SubgroupsListComponent,
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock,
|
||||
},
|
||||
}),
|
||||
SubgroupsListComponent,
|
||||
],
|
||||
providers: [
|
||||
SubgroupsListComponent,
|
||||
{ provide: DSONameService, useValue: new DSONameServiceMock() },
|
||||
{ provide: GroupDataService, useValue: groupsDataServiceStub },
|
||||
{ provide: NotificationsService, useValue: new NotificationsServiceStub() },
|
||||
{
|
||||
provide: NotificationsService,
|
||||
useValue: new NotificationsServiceStub(),
|
||||
},
|
||||
{ provide: FormBuilderService, useValue: builderService },
|
||||
{ provide: Router, useValue: routerStub },
|
||||
{ provide: PaginationService, useValue: paginationService },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
})
|
||||
.overrideComponent(SubgroupsListComponent, {
|
||||
remove: {
|
||||
imports: [ContextHelpDirective, PaginationComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -19,9 +19,9 @@ import { NoContent } from '../../../../core/shared/NoContent.model';
|
||||
import { PaginationService } from '../../../../core/pagination/pagination.service';
|
||||
import { followLink } from '../../../../shared/utils/follow-link-config.model';
|
||||
import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
|
||||
import { AsyncPipe, NgForOf, NgIf } from "@angular/common";
|
||||
import { ContextHelpDirective } from "../../../../shared/context-help.directive";
|
||||
import { PaginationComponent } from "../../../../shared/pagination/pagination.component";
|
||||
import { AsyncPipe, NgForOf, NgIf } from '@angular/common';
|
||||
import { ContextHelpDirective } from '../../../../shared/context-help.directive';
|
||||
import { PaginationComponent } from '../../../../shared/pagination/pagination.component';
|
||||
|
||||
/**
|
||||
* Keys to keep track of specific subscriptions
|
||||
|
@@ -2,6 +2,7 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { AdminCurationTasksComponent } from './admin-curation-tasks.component';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { CurationFormComponent } from '../../curation-form/curation-form.component';
|
||||
|
||||
describe('AdminCurationTasksComponent', () => {
|
||||
let comp: AdminCurationTasksComponent;
|
||||
@@ -9,9 +10,15 @@ describe('AdminCurationTasksComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), AdminCurationTasksComponent],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
}).compileComponents();
|
||||
imports: [TranslateModule.forRoot(), AdminCurationTasksComponent],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(AdminCurationTasksComponent, {
|
||||
remove: {
|
||||
imports: [CurationFormComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -1,6 +1,6 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { CurationFormComponent } from "../../curation-form/curation-form.component";
|
||||
import { TranslateModule } from "@ngx-translate/core";
|
||||
import { CurationFormComponent } from '../../curation-form/curation-form.component';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
|
||||
/**
|
||||
* Component responsible for rendering the system wide Curation Task UI
|
||||
|
@@ -14,6 +14,10 @@ import { NotificationsServiceStub } from '../../../../shared/testing/notificatio
|
||||
import { RouterStub } from '../../../../shared/testing/router.stub';
|
||||
import { AddBitstreamFormatComponent } from './add-bitstream-format.component';
|
||||
import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils';
|
||||
import { FormService } from '../../../../shared/form/form.service';
|
||||
import { getMockFormService } from '../../../../shared/mocks/form-service.mock';
|
||||
import { FormBuilderService } from '../../../../shared/form/builder/form-builder.service';
|
||||
import { FormatFormComponent } from '../format-form/format-form.component';
|
||||
|
||||
describe('AddBitstreamFormatComponent', () => {
|
||||
let comp: AddBitstreamFormatComponent;
|
||||
@@ -33,6 +37,15 @@ describe('AddBitstreamFormatComponent', () => {
|
||||
let notificationService: NotificationsServiceStub;
|
||||
let bitstreamFormatDataService: BitstreamFormatDataService;
|
||||
|
||||
const formBuilderServiceStub = {
|
||||
createFormGroup: () => {
|
||||
return {
|
||||
patchValue: () => { },
|
||||
reset(_value?: any, _options?: { onlySelf?: boolean; emitEvent?: boolean; }): void { },
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
const initAsync = () => {
|
||||
router = new RouterStub();
|
||||
notificationService = new NotificationsServiceStub();
|
||||
@@ -42,14 +55,22 @@ describe('AddBitstreamFormatComponent', () => {
|
||||
});
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule, AddBitstreamFormatComponent],
|
||||
providers: [
|
||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule, AddBitstreamFormatComponent],
|
||||
providers: [
|
||||
{ provide: Router, useValue: router },
|
||||
{ provide: NotificationsService, useValue: notificationService },
|
||||
{ provide: BitstreamFormatDataService, useValue: bitstreamFormatDataService },
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
}).compileComponents();
|
||||
{ provide: FormService, useValue: getMockFormService() },
|
||||
{ provide: FormBuilderService, useValue: formBuilderServiceStub },
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(AddBitstreamFormatComponent, {
|
||||
remove: {
|
||||
imports: [FormatFormComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
};
|
||||
|
||||
const initBeforeEach = () => {
|
||||
@@ -81,14 +102,22 @@ describe('AddBitstreamFormatComponent', () => {
|
||||
});
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule, AddBitstreamFormatComponent],
|
||||
providers: [
|
||||
{ provide: Router, useValue: router },
|
||||
{ provide: NotificationsService, useValue: notificationService },
|
||||
{ provide: BitstreamFormatDataService, useValue: bitstreamFormatDataService },
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
}).compileComponents();
|
||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule, AddBitstreamFormatComponent],
|
||||
providers: [
|
||||
{ provide: Router, useValue: router },
|
||||
{ provide: NotificationsService, useValue: notificationService },
|
||||
{ provide: BitstreamFormatDataService, useValue: bitstreamFormatDataService },
|
||||
{ provide: FormService, useValue: getMockFormService() },
|
||||
{ provide: FormBuilderService, useValue: formBuilderServiceStub },
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(AddBitstreamFormatComponent, {
|
||||
remove: {
|
||||
imports: [FormatFormComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
beforeEach(initBeforeEach);
|
||||
it('should send the updated form to the service, show a notification and navigate to ', () => {
|
||||
|
@@ -19,6 +19,7 @@ import {
|
||||
createSuccessfulRemoteDataObject,
|
||||
createSuccessfulRemoteDataObject$
|
||||
} from '../../../../shared/remote-data.utils';
|
||||
import { FormatFormComponent } from '../format-form/format-form.component';
|
||||
|
||||
describe('EditBitstreamFormatComponent', () => {
|
||||
let comp: EditBitstreamFormatComponent;
|
||||
@@ -52,15 +53,22 @@ describe('EditBitstreamFormatComponent', () => {
|
||||
});
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule, EditBitstreamFormatComponent],
|
||||
providers: [
|
||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule, EditBitstreamFormatComponent],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: routeStub },
|
||||
{ provide: Router, useValue: router },
|
||||
{ provide: NotificationsService, useValue: notificationService },
|
||||
{ provide: BitstreamFormatDataService, useValue: bitstreamFormatDataService },
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
}).compileComponents();
|
||||
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(EditBitstreamFormatComponent, {
|
||||
remove: {
|
||||
imports: [FormatFormComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
};
|
||||
|
||||
const initBeforeEach = () => {
|
||||
@@ -102,15 +110,21 @@ describe('EditBitstreamFormatComponent', () => {
|
||||
});
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule, EditBitstreamFormatComponent],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: routeStub },
|
||||
{ provide: Router, useValue: router },
|
||||
{ provide: NotificationsService, useValue: notificationService },
|
||||
{ provide: BitstreamFormatDataService, useValue: bitstreamFormatDataService },
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
}).compileComponents();
|
||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule, EditBitstreamFormatComponent],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: routeStub },
|
||||
{ provide: Router, useValue: router },
|
||||
{ provide: NotificationsService, useValue: notificationService },
|
||||
{ provide: BitstreamFormatDataService, useValue: bitstreamFormatDataService },
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(EditBitstreamFormatComponent, {
|
||||
remove: {
|
||||
imports: [FormatFormComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
beforeEach(initBeforeEach);
|
||||
it('should send the updated form to the service, show a notification and navigate to ', () => {
|
||||
|
@@ -12,6 +12,7 @@ import { BitstreamFormatSupportLevel } from '../../../../core/shared/bitstream-f
|
||||
import { DynamicCheckboxModel, DynamicFormArrayModel, DynamicInputModel } from '@ng-dynamic-forms/core';
|
||||
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { isEmpty } from '../../../../shared/empty.util';
|
||||
import { FormComponent } from '../../../../shared/form/form.component';
|
||||
|
||||
describe('FormatFormComponent', () => {
|
||||
let comp: FormatFormComponent;
|
||||
@@ -40,12 +41,24 @@ describe('FormatFormComponent', () => {
|
||||
|
||||
const initAsync = () => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), ReactiveFormsModule, FormsModule, TranslateModule.forRoot(), NgbModule, FormatFormComponent],
|
||||
providers: [
|
||||
{ provide: Router, useValue: router },
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
}).compileComponents();
|
||||
imports: [
|
||||
CommonModule,
|
||||
RouterTestingModule.withRoutes([]),
|
||||
ReactiveFormsModule,
|
||||
FormsModule,
|
||||
TranslateModule.forRoot(),
|
||||
NgbModule,
|
||||
FormatFormComponent,
|
||||
],
|
||||
providers: [{ provide: Router, useValue: router }],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||
})
|
||||
.overrideComponent(FormatFormComponent, {
|
||||
remove: {
|
||||
imports: [FormComponent],
|
||||
},
|
||||
})
|
||||
.compileComponents();
|
||||
};
|
||||
|
||||
const initBeforeEach = () => {
|
||||
|
@@ -6,14 +6,12 @@ import {
|
||||
DynamicFormArrayModel,
|
||||
DynamicFormControlLayout,
|
||||
DynamicFormControlModel,
|
||||
DynamicFormService,
|
||||
DynamicInputModel,
|
||||
DynamicSelectModel,
|
||||
DynamicTextAreaModel
|
||||
} from '@ng-dynamic-forms/core';
|
||||
import { Router } from '@angular/router';
|
||||
import { hasValue, isEmpty } from '../../../../shared/empty.util';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { getBitstreamFormatsModuleRoute } from '../../admin-registries-routing-paths';
|
||||
import { environment } from '../../../../../environments/environment';
|
||||
import { FormComponent } from '../../../../shared/form/form.component';
|
||||
@@ -129,9 +127,7 @@ export class FormatFormComponent implements OnInit {
|
||||
}, this.arrayElementLayout),
|
||||
];
|
||||
|
||||
constructor(private dynamicFormService: DynamicFormService,
|
||||
private translateService: TranslateService,
|
||||
private router: Router) {
|
||||
constructor(private router: Router) {
|
||||
|
||||
}
|
||||
|
||||
|
@@ -20,6 +20,16 @@ import { MetadataSchema } from '../../../core/metadata/metadata-schema.model';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils';
|
||||
import { PaginationService } from '../../../core/pagination/pagination.service';
|
||||
import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub';
|
||||
import { getMockFormService } from '../../../shared/mocks/form-service.mock';
|
||||
import { FormService } from '../../../shared/form/form.service';
|
||||
import { GroupDataService } from '../../../core/eperson/group-data.service';
|
||||
import { ConfigurationDataService } from '../../../core/data/configuration-data.service';
|
||||
import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service';
|
||||
import { SearchConfigurationServiceStub } from '../../../shared/testing/search-configuration-service.stub';
|
||||
import { ConfigurationProperty } from '../../../core/shared/configuration-property.model';
|
||||
import { FormBuilderService } from 'src/app/shared/form/builder/form-builder.service';
|
||||
import { MetadataSchemaFormComponent } from './metadata-schema-form/metadata-schema-form.component';
|
||||
import { RouterLink } from '@angular/router';
|
||||
|
||||
describe('MetadataRegistryComponent', () => {
|
||||
let comp: MetadataRegistryComponent;
|
||||
@@ -67,19 +77,76 @@ describe('MetadataRegistryComponent', () => {
|
||||
|
||||
paginationService = new PaginationServiceStub();
|
||||
|
||||
const configurationDataService = jasmine.createSpyObj('configurationDataService', {
|
||||
findByPropertyName: createSuccessfulRemoteDataObject$(Object.assign(new ConfigurationProperty(), {
|
||||
name: 'test',
|
||||
values: [
|
||||
'org.dspace.ctask.general.ProfileFormats = test'
|
||||
]
|
||||
}))
|
||||
});
|
||||
|
||||
const formBuilderServiceStub = {
|
||||
createFormGroup: () => {
|
||||
return {
|
||||
patchValue: () => { },
|
||||
reset(_value?: any, _options?: { onlySelf?: boolean; emitEvent?: boolean; }): void { },
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
const mockGroupService = jasmine.createSpyObj('groupService',
|
||||
{
|
||||
// findByHref: jasmine.createSpy('findByHref'),
|
||||
// findAll: jasmine.createSpy('findAll'),
|
||||
// searchGroups: jasmine.createSpy('searchGroups'),
|
||||
getUUIDFromString: jasmine.createSpy('getUUIDFromString'),
|
||||
},
|
||||
{
|
||||
linkPath: 'groups'
|
||||
}
|
||||
);
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule, MetadataRegistryComponent, PaginationComponent, EnumKeysPipe],
|
||||
providers: [
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
RouterTestingModule.withRoutes([]),
|
||||
TranslateModule.forRoot(),
|
||||
NgbModule,
|
||||
MetadataRegistryComponent,
|
||||
PaginationComponent,
|
||||
EnumKeysPipe,
|
||||
],
|
||||
providers: [
|
||||
{ provide: RegistryService, useValue: registryServiceStub },
|
||||
{ provide: HostWindowService, useValue: new HostWindowServiceStub(0) },
|
||||
{ provide: PaginationService, useValue: paginationService },
|
||||
{ provide: NotificationsService, useValue: new NotificationsServiceStub() }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(MetadataRegistryComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
{
|
||||
provide: NotificationsService,
|
||||
useValue: new NotificationsServiceStub(),
|
||||
},
|
||||
{ provide: FormService, useValue: getMockFormService() },
|
||||
{ provide: GroupDataService, useValue: mockGroupService },
|
||||
{
|
||||
provide: ConfigurationDataService,
|
||||
useValue: configurationDataService,
|
||||
},
|
||||
{
|
||||
provide: SearchConfigurationService,
|
||||
useValue: new SearchConfigurationServiceStub(),
|
||||
},
|
||||
{ provide: FormBuilderService, useValue: formBuilderServiceStub },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
})
|
||||
.overrideComponent(MetadataRegistryComponent, {
|
||||
remove: {
|
||||
imports: [MetadataSchemaFormComponent, RouterLink]
|
||||
},
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default },
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -10,6 +10,7 @@ import { RegistryService } from '../../../../core/registry/registry.service';
|
||||
import { FormBuilderService } from '../../../../shared/form/builder/form-builder.service';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { MetadataSchema } from '../../../../core/metadata/metadata-schema.model';
|
||||
import { FormComponent } from '../../../../shared/form/form.component';
|
||||
|
||||
describe('MetadataSchemaFormComponent', () => {
|
||||
let component: MetadataSchemaFormComponent;
|
||||
@@ -38,13 +39,19 @@ describe('MetadataSchemaFormComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
return TestBed.configureTestingModule({
|
||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule, MetadataSchemaFormComponent, EnumKeysPipe],
|
||||
providers: [
|
||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule, MetadataSchemaFormComponent, EnumKeysPipe],
|
||||
providers: [
|
||||
{ provide: RegistryService, useValue: registryServiceStub },
|
||||
{ provide: FormBuilderService, useValue: formBuilderServiceStub }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(MetadataSchemaFormComponent, {
|
||||
remove: {
|
||||
imports: [FormComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -25,6 +25,13 @@ import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.u
|
||||
import { VarDirective } from '../../../shared/utils/var.directive';
|
||||
import { PaginationService } from '../../../core/pagination/pagination.service';
|
||||
import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub';
|
||||
import { MetadataFieldFormComponent } from './metadata-field-form/metadata-field-form.component';
|
||||
import { GroupDataService } from '../../../core/eperson/group-data.service';
|
||||
import { ConfigurationDataService } from '../../../core/data/configuration-data.service';
|
||||
import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service';
|
||||
import { SearchConfigurationServiceStub } from '../../../shared/testing/search-configuration-service.stub';
|
||||
import { ConfigurationProperty } from '../../../core/shared/configuration-property.model';
|
||||
import { createPaginatedList } from '../../../shared/testing/utils.test';
|
||||
|
||||
describe('MetadataSchemaComponent', () => {
|
||||
let comp: MetadataSchemaComponent;
|
||||
@@ -129,19 +136,56 @@ describe('MetadataSchemaComponent', () => {
|
||||
|
||||
const paginationService = new PaginationServiceStub();
|
||||
|
||||
const configurationDataService = jasmine.createSpyObj('configurationDataService', {
|
||||
findByPropertyName: createSuccessfulRemoteDataObject$(Object.assign(new ConfigurationProperty(), {
|
||||
name: 'test',
|
||||
values: [
|
||||
'org.dspace.ctask.general.ProfileFormats = test'
|
||||
]
|
||||
}))
|
||||
});
|
||||
|
||||
const groupDataService = jasmine.createSpyObj('groupsDataService', {
|
||||
findListByHref: createSuccessfulRemoteDataObject$(createPaginatedList([])),
|
||||
getGroupRegistryRouterLink: '',
|
||||
getUUIDFromString: '',
|
||||
});
|
||||
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule, MetadataSchemaComponent, PaginationComponent, EnumKeysPipe, VarDirective],
|
||||
providers: [
|
||||
imports: [
|
||||
CommonModule,
|
||||
RouterTestingModule.withRoutes([]),
|
||||
TranslateModule.forRoot(),
|
||||
NgbModule,
|
||||
MetadataSchemaComponent,
|
||||
PaginationComponent,
|
||||
EnumKeysPipe,
|
||||
VarDirective,
|
||||
],
|
||||
providers: [
|
||||
{ provide: RegistryService, useValue: registryServiceStub },
|
||||
{ provide: ActivatedRoute, useValue: activatedRouteStub },
|
||||
{ provide: HostWindowService, useValue: new HostWindowServiceStub(0) },
|
||||
{ provide: Router, useValue: new RouterStub() },
|
||||
{ provide: PaginationService, useValue: paginationService },
|
||||
{ provide: NotificationsService, useValue: new NotificationsServiceStub() }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
{
|
||||
provide: NotificationsService,
|
||||
useValue: new NotificationsServiceStub(),
|
||||
},
|
||||
{ provide: GroupDataService, useValue: groupDataService },
|
||||
{ provide: ConfigurationDataService, useValue: configurationDataService },
|
||||
{ provide: SearchConfigurationService, useValue: new SearchConfigurationServiceStub() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
})
|
||||
.overrideComponent(MetadataSchemaComponent, {
|
||||
remove: {
|
||||
imports: [MetadataFieldFormComponent],
|
||||
},
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -2,16 +2,26 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { AdminSearchPageComponent } from './admin-search-page.component';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { ConfigurationSearchPageComponent } from '../../search-page/configuration-search-page.component';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../shared/testing/active-router.stub';
|
||||
|
||||
describe('AdminSearchPageComponent', () => {
|
||||
let component: AdminSearchPageComponent;
|
||||
let fixture: ComponentFixture<AdminSearchPageComponent>;
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [AdminSearchPageComponent],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
beforeEach(waitForAsync(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [AdminSearchPageComponent],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(AdminSearchPageComponent, {
|
||||
remove: {
|
||||
imports: [ConfigurationSearchPageComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -43,14 +43,14 @@ describe('CollectionAdminSearchResultGridElementComponent', () => {
|
||||
beforeEach(waitForAsync(() => {
|
||||
init();
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
imports: [
|
||||
NoopAnimationsModule,
|
||||
TranslateModule.forRoot(),
|
||||
RouterTestingModule.withRoutes([]),
|
||||
SharedModule,
|
||||
CollectionAdminSearchResultGridElementComponent
|
||||
],
|
||||
providers: [
|
||||
],
|
||||
providers: [
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: BitstreamDataService, useValue: {} },
|
||||
{ provide: LinkService, useValue: linkService },
|
||||
@@ -58,8 +58,8 @@ describe('CollectionAdminSearchResultGridElementComponent', () => {
|
||||
{ provide: FileService, useClass: FileServiceStub },
|
||||
{ provide: AuthorizationDataService, useClass: AuthorizationDataServiceStub },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
]
|
||||
})
|
||||
]
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -2,6 +2,7 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { AdminWorkflowPageComponent } from './admin-workflow-page.component';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { ConfigurationSearchPageComponent } from '../../search-page/configuration-search-page.component';
|
||||
|
||||
describe('AdminSearchPageComponent', () => {
|
||||
let component: AdminWorkflowPageComponent;
|
||||
@@ -9,9 +10,16 @@ describe('AdminSearchPageComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [AdminWorkflowPageComponent],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
imports: [AdminWorkflowPageComponent],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(AdminWorkflowPageComponent, {
|
||||
remove: {
|
||||
imports: [
|
||||
ConfigurationSearchPageComponent
|
||||
]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -29,6 +29,11 @@ import { getMockLinkService } from '../../../../../shared/mocks/link-service.moc
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { getMockThemeService } from '../../../../../shared/mocks/theme-service.mock';
|
||||
import { ThemeService } from '../../../../../shared/theme-support/theme.service';
|
||||
import { WorkflowItemAdminWorkflowActionsComponent } from '../../actions/workflow-item/workflow-item-admin-workflow-actions.component';
|
||||
import { AuthService } from '../../../../../core/auth/auth.service';
|
||||
import { AuthServiceMock } from '../../../../../shared/mocks/auth.service.mock';
|
||||
import { AuthorizationDataServiceStub } from '../../../../../shared/testing/authorization-service.stub';
|
||||
import { AuthorizationDataService } from '../../../../../core/data/feature-authorization/authorization-data.service';
|
||||
|
||||
describe('WorkflowItemSearchResultAdminWorkflowGridElementComponent', () => {
|
||||
let component: WorkflowItemSearchResultAdminWorkflowGridElementComponent;
|
||||
@@ -70,11 +75,16 @@ describe('WorkflowItemSearchResultAdminWorkflowGridElementComponent', () => {
|
||||
}
|
||||
},
|
||||
{ provide: BitstreamDataService, useValue: {} },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
{ provide: AuthorizationDataService, useClass: AuthorizationDataServiceStub },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(WorkflowItemSearchResultAdminWorkflowGridElementComponent, {
|
||||
set: {
|
||||
remove: {
|
||||
imports: [WorkflowItemAdminWorkflowActionsComponent]
|
||||
},
|
||||
add: {
|
||||
entryComponents: [ItemGridElementComponent]
|
||||
}
|
||||
})
|
||||
|
@@ -36,6 +36,11 @@ import {
|
||||
} from '../../../../../shared/testing/supervision-order.mock';
|
||||
import { SupervisionOrderDataService } from '../../../../../core/supervision-order/supervision-order-data.service';
|
||||
import { DSpaceObject } from '../../../../../core/shared/dspace-object.model';
|
||||
import { NotificationsService } from '../../../../../shared/notifications/notifications.service';
|
||||
import { NotificationsServiceStub } from '../../../../../shared/testing/notifications-service.stub';
|
||||
import { AuthService } from '../../../../../core/auth/auth.service';
|
||||
import { AuthServiceMock } from '../../../../../shared/mocks/auth.service.mock';
|
||||
import { AuthorizationDataService } from '../../../../../core/data/feature-authorization/authorization-data.service';
|
||||
|
||||
describe('WorkspaceItemSearchResultAdminWorkflowGridElementComponent', () => {
|
||||
let component: WorkspaceItemSearchResultAdminWorkflowGridElementComponent;
|
||||
@@ -67,25 +72,28 @@ describe('WorkspaceItemSearchResultAdminWorkflowGridElementComponent', () => {
|
||||
init();
|
||||
TestBed.configureTestingModule(
|
||||
{
|
||||
imports: [
|
||||
NoopAnimationsModule,
|
||||
TranslateModule.forRoot(),
|
||||
RouterTestingModule.withRoutes([]),
|
||||
WorkspaceItemSearchResultAdminWorkflowGridElementComponent, ItemGridElementComponent, ListableObjectDirective
|
||||
],
|
||||
providers: [
|
||||
{ provide: LinkService, useValue: linkService },
|
||||
{ provide: ThemeService, useValue: themeService },
|
||||
{
|
||||
imports: [
|
||||
NoopAnimationsModule,
|
||||
TranslateModule.forRoot(),
|
||||
RouterTestingModule.withRoutes([]),
|
||||
WorkspaceItemSearchResultAdminWorkflowGridElementComponent, ItemGridElementComponent, ListableObjectDirective
|
||||
],
|
||||
providers: [
|
||||
{ provide: LinkService, useValue: linkService },
|
||||
{ provide: ThemeService, useValue: themeService },
|
||||
{
|
||||
provide: TruncatableService, useValue: {
|
||||
isCollapsed: () => observableOf(true),
|
||||
isCollapsed: () => observableOf(true),
|
||||
}
|
||||
},
|
||||
{ provide: BitstreamDataService, useValue: {} },
|
||||
{ provide: SupervisionOrderDataService, useValue: supervisionOrderDataService }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
},
|
||||
{ provide: BitstreamDataService, useValue: {} },
|
||||
{ provide: SupervisionOrderDataService, useValue: supervisionOrderDataService },
|
||||
{ provide: NotificationsService, useValue: new NotificationsServiceStub() },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
{ provide: AuthorizationDataService, useValue: {} },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(WorkspaceItemSearchResultAdminWorkflowGridElementComponent, {
|
||||
set: {
|
||||
entryComponents: [ItemGridElementComponent]
|
||||
|
@@ -24,6 +24,11 @@ import { DSONameService } from '../../../../../core/breadcrumbs/dso-name.service
|
||||
import { DSONameServiceMock } from '../../../../../shared/mocks/dso-name.service.mock';
|
||||
import { APP_CONFIG } from '../../../../../../config/app-config.interface';
|
||||
import { environment } from '../../../../../../environments/environment';
|
||||
import { ThemeService } from '../../../../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../../../../shared/mocks/theme-service.mock';
|
||||
import { AuthService } from '../../../../../core/auth/auth.service';
|
||||
import { AuthServiceMock } from '../../../../../shared/mocks/auth.service.mock';
|
||||
import { AuthorizationDataService } from '../../../../../core/data/feature-authorization/authorization-data.service';
|
||||
|
||||
describe('WorkflowItemSearchResultAdminWorkflowListElementComponent', () => {
|
||||
let component: WorkflowItemSearchResultAdminWorkflowListElementComponent;
|
||||
@@ -58,7 +63,10 @@ describe('WorkflowItemSearchResultAdminWorkflowListElementComponent', () => {
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: LinkService, useValue: linkService },
|
||||
{ provide: DSONameService, useClass: DSONameServiceMock },
|
||||
{ provide: APP_CONFIG, useValue: environment }
|
||||
{ provide: APP_CONFIG, useValue: environment },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
{ provide: AuthorizationDataService, useValue: {} },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
|
@@ -31,6 +31,13 @@ import {
|
||||
supervisionOrderPaginatedListRD$
|
||||
} from '../../../../../shared/testing/supervision-order.mock';
|
||||
import { DSpaceObject } from '../../../../../core/shared/dspace-object.model';
|
||||
import { NotificationsService } from '../../../../../shared/notifications/notifications.service';
|
||||
import { NotificationsServiceStub } from '../../../../../shared/testing/notifications-service.stub';
|
||||
import { ThemeService } from '../../../../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../../../../shared/mocks/theme-service.mock';
|
||||
import { AuthService } from '../../../../../core/auth/auth.service';
|
||||
import { AuthServiceMock } from '../../../../../shared/mocks/auth.service.mock';
|
||||
import { AuthorizationDataService } from '../../../../../core/data/feature-authorization/authorization-data.service';
|
||||
|
||||
describe('WorkspaceItemSearchResultAdminWorkflowListElementComponent', () => {
|
||||
let component: WorkspaceItemSearchResultAdminWorkflowListElementComponent;
|
||||
@@ -68,8 +75,12 @@ describe('WorkspaceItemSearchResultAdminWorkflowListElementComponent', () => {
|
||||
],
|
||||
providers: [
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: NotificationsService, useValue: new NotificationsServiceStub() },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
{ provide: LinkService, useValue: linkService },
|
||||
{ provide: DSONameService, useClass: DSONameServiceMock },
|
||||
{ provide: AuthorizationDataService, useValue: {} },
|
||||
{ provide: SupervisionOrderDataService, useValue: supervisionOrderDataService },
|
||||
{ provide: APP_CONFIG, useValue: environment }
|
||||
],
|
||||
|
@@ -30,6 +30,15 @@ import { PaginationService } from '../../core/pagination/pagination.service';
|
||||
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
|
||||
import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub';
|
||||
import { APP_CONFIG } from '../../../config/app-config.interface';
|
||||
import { RouteService } from 'src/app/core/services/route.service';
|
||||
import { routeServiceStub } from 'src/app/shared/testing/route-service.stub';
|
||||
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { ThemeService } from 'src/app/shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from 'src/app/shared/mocks/theme-service.mock';
|
||||
import { ThemedLoadingComponent } from 'src/app/shared/loading/themed-loading.component';
|
||||
import { DsoEditMenuComponent } from 'src/app/shared/dso-page/dso-edit-menu/dso-edit-menu.component';
|
||||
import { SelectableListService } from 'src/app/shared/object-list/selectable-list/selectable-list.service';
|
||||
import { HostWindowService } from 'src/app/shared/host-window.service';
|
||||
|
||||
describe('BrowseByMetadataPageComponent', () => {
|
||||
let comp: BrowseByMetadataPageComponent;
|
||||
@@ -102,17 +111,36 @@ describe('BrowseByMetadataPageComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule, BrowseByMetadataPageComponent, EnumKeysPipe, VarDirective],
|
||||
providers: [
|
||||
imports: [
|
||||
CommonModule,
|
||||
RouterTestingModule.withRoutes([]),
|
||||
TranslateModule.forRoot(),
|
||||
NgbModule,
|
||||
BrowseByMetadataPageComponent,
|
||||
EnumKeysPipe,
|
||||
VarDirective,
|
||||
NoopAnimationsModule
|
||||
],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: activatedRouteStub },
|
||||
{ provide: BrowseService, useValue: mockBrowseService },
|
||||
{ provide: DSpaceObjectDataService, useValue: mockDsoService },
|
||||
{ provide: PaginationService, useValue: paginationService },
|
||||
{ provide: Router, useValue: new RouterMock() },
|
||||
{ provide: APP_CONFIG, useValue: environmentMock }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
{ provide: APP_CONFIG, useValue: environmentMock },
|
||||
{ provide: RouteService, useValue: routeServiceStub },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: SelectableListService, useValue: {} },
|
||||
{ provide: HostWindowService, useValue: {} },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(BrowseByMetadataPageComponent, {
|
||||
remove: {
|
||||
imports: [ThemedLoadingComponent, DsoEditMenuComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -15,6 +15,9 @@ import { NotificationsServiceStub } from '../../shared/testing/notifications-ser
|
||||
import { RequestService } from '../../core/data/request.service';
|
||||
import { DSONameService } from '../../core/breadcrumbs/dso-name.service';
|
||||
import { DSONameServiceMock } from '../../shared/mocks/dso-name.service.mock';
|
||||
import { AuthService } from '../../core/auth/auth.service';
|
||||
import { AuthServiceMock } from '../../shared/mocks/auth.service.mock';
|
||||
import { CollectionFormComponent } from '../collection-form/collection-form.component';
|
||||
|
||||
describe('CreateCollectionPageComponent', () => {
|
||||
let comp: CreateCollectionPageComponent;
|
||||
@@ -22,21 +25,28 @@ describe('CreateCollectionPageComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
return TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), SharedModule, CommonModule, RouterTestingModule, CreateCollectionPageComponent],
|
||||
providers: [
|
||||
imports: [TranslateModule.forRoot(), SharedModule, CommonModule, RouterTestingModule, CreateCollectionPageComponent],
|
||||
providers: [
|
||||
{ provide: DSONameService, useValue: new DSONameServiceMock() },
|
||||
{ provide: CollectionDataService, useValue: {} },
|
||||
{
|
||||
provide: CommunityDataService,
|
||||
useValue: { findById: () => observableOf({ payload: { name: 'test' } }) }
|
||||
provide: CommunityDataService,
|
||||
useValue: { findById: () => observableOf({ payload: { name: 'test' } }) }
|
||||
},
|
||||
{ provide: RouteService, useValue: { getQueryParameterValue: () => observableOf('1234') } },
|
||||
{ provide: Router, useValue: {} },
|
||||
{ provide: NotificationsService, useValue: new NotificationsServiceStub() },
|
||||
{ provide: RequestService, useValue: {} }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
{ provide: RequestService, useValue: {} },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(CreateCollectionPageComponent, {
|
||||
remove: {
|
||||
imports: [CollectionFormComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -15,6 +15,10 @@ import { Collection } from '../../../core/shared/collection.model';
|
||||
import { RequestService } from '../../../core/data/request.service';
|
||||
import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils';
|
||||
import { getCollectionItemTemplateRoute } from '../../collection-page-routing-paths';
|
||||
import { AuthServiceMock } from '../../../shared/mocks/auth.service.mock';
|
||||
import { AuthService } from '../../../core/auth/auth.service';
|
||||
import { CommunityDataService } from '../../../core/data/community-data.service';
|
||||
import { ObjectCacheService } from '../../../core/cache/object-cache.service';
|
||||
|
||||
describe('CollectionMetadataComponent', () => {
|
||||
let comp: CollectionMetadataComponent;
|
||||
@@ -66,7 +70,10 @@ describe('CollectionMetadataComponent', () => {
|
||||
{ provide: ActivatedRoute, useValue: { parent: { data: observableOf({ dso: createSuccessfulRemoteDataObject(collection) }) } } },
|
||||
{ provide: NotificationsService, useValue: notificationsService },
|
||||
{ provide: RequestService, useValue: requestService },
|
||||
{ provide: Router, useValue: routerMock }
|
||||
{ provide: Router, useValue: routerMock },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
{ provide: CommunityDataService, useValue: {} },
|
||||
{ provide: ObjectCacheService, useValue: {} },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
|
@@ -11,6 +11,10 @@ import { Collection } from '../../core/shared/collection.model';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
|
||||
import { getCollectionEditRoute } from '../collection-page-routing-paths';
|
||||
import { ThemeService } from '../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../shared/mocks/theme-service.mock';
|
||||
import { NotificationsService } from '../../shared/notifications/notifications.service';
|
||||
import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub';
|
||||
|
||||
describe('EditItemTemplatePageComponent', () => {
|
||||
let comp: EditItemTemplatePageComponent;
|
||||
@@ -28,13 +32,15 @@ describe('EditItemTemplatePageComponent', () => {
|
||||
findByCollectionID: createSuccessfulRemoteDataObject$({})
|
||||
});
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), SharedModule, CommonModule, RouterTestingModule, EditItemTemplatePageComponent],
|
||||
providers: [
|
||||
imports: [TranslateModule.forRoot(), SharedModule, CommonModule, RouterTestingModule, EditItemTemplatePageComponent],
|
||||
providers: [
|
||||
{ provide: ItemTemplateDataService, useValue: itemTemplateService },
|
||||
{ provide: ActivatedRoute, useValue: { parent: { data: observableOf({ dso: createSuccessfulRemoteDataObject(collection) }) } } }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
{ provide: ActivatedRoute, useValue: { parent: { data: observableOf({ dso: createSuccessfulRemoteDataObject(collection) }) } } },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: NotificationsService, useValue: new NotificationsServiceStub() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -4,6 +4,9 @@ import { CommunityListPageComponent } from './community-list-page.component';
|
||||
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
|
||||
import { TranslateLoaderMock } from '../shared/mocks/translate-loader.mock';
|
||||
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { ThemeService } from '../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../shared/mocks/theme-service.mock';
|
||||
import { CommunityListService } from './community-list-service';
|
||||
|
||||
describe('CommunityListPageComponent', () => {
|
||||
let component: CommunityListPageComponent;
|
||||
@@ -22,6 +25,8 @@ describe('CommunityListPageComponent', () => {
|
||||
],
|
||||
providers: [
|
||||
CommunityListPageComponent,
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: CommunityListService, useValue: {} },
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
})
|
||||
|
@@ -12,6 +12,9 @@ import { CreateCommunityPageComponent } from './create-community-page.component'
|
||||
import { NotificationsService } from '../../shared/notifications/notifications.service';
|
||||
import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub';
|
||||
import { RequestService } from '../../core/data/request.service';
|
||||
import { AuthService } from '../../core/auth/auth.service';
|
||||
import { AuthServiceMock } from '../../shared/mocks/auth.service.mock';
|
||||
import { CommunityFormComponent } from '../community-form/community-form.component';
|
||||
|
||||
describe('CreateCommunityPageComponent', () => {
|
||||
let comp: CreateCommunityPageComponent;
|
||||
@@ -19,16 +22,23 @@ describe('CreateCommunityPageComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), SharedModule, CommonModule, RouterTestingModule, CreateCommunityPageComponent],
|
||||
providers: [
|
||||
imports: [TranslateModule.forRoot(), SharedModule, CommonModule, RouterTestingModule, CreateCommunityPageComponent],
|
||||
providers: [
|
||||
{ provide: CommunityDataService, useValue: { findById: () => observableOf({}) } },
|
||||
{ provide: RouteService, useValue: { getQueryParameterValue: () => observableOf('1234') } },
|
||||
{ provide: Router, useValue: {} },
|
||||
{ provide: NotificationsService, useValue: new NotificationsServiceStub() },
|
||||
{ provide: RequestService, useValue: {} }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
{ provide: RequestService, useValue: {} },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(CreateCommunityPageComponent, {
|
||||
remove: {
|
||||
imports: [CommunityFormComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -10,6 +10,7 @@ import { DSpaceObject } from '../../../core/shared/dspace-object.model';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils';
|
||||
import { CommunityAuthorizationsComponent } from './community-authorizations.component';
|
||||
import { Collection } from '../../../core/shared/collection.model';
|
||||
import { ResourcePoliciesComponent } from '../../../shared/resource-policies/resource-policies.component';
|
||||
|
||||
describe('CommunityAuthorizationsComponent', () => {
|
||||
let comp: CommunityAuthorizationsComponent<DSpaceObject>;
|
||||
@@ -37,17 +38,23 @@ describe('CommunityAuthorizationsComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
imports: [
|
||||
CommonModule,
|
||||
CommunityAuthorizationsComponent
|
||||
],
|
||||
providers: [
|
||||
],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: routeStub },
|
||||
ChangeDetectorRef,
|
||||
CommunityAuthorizationsComponent,
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(CommunityAuthorizationsComponent, {
|
||||
remove: {
|
||||
imports: [ResourcePoliciesComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -7,6 +7,7 @@ import { ActivatedRoute } from '@angular/router';
|
||||
import { DSONameService } from '../../../core/breadcrumbs/dso-name.service';
|
||||
import { CommunityCurateComponent } from './community-curate.component';
|
||||
import { Community } from '../../../core/shared/community.model';
|
||||
import { CurationFormComponent } from '../../../curation-form/curation-form.component';
|
||||
|
||||
describe('CommunityCurateComponent', () => {
|
||||
let comp: CommunityCurateComponent;
|
||||
@@ -34,13 +35,19 @@ describe('CommunityCurateComponent', () => {
|
||||
});
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), CommunityCurateComponent],
|
||||
providers: [
|
||||
imports: [TranslateModule.forRoot(), CommunityCurateComponent],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: routeStub },
|
||||
{ provide: DSONameService, useValue: dsoNameService }
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
}).compileComponents();
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(CommunityCurateComponent, {
|
||||
remove: {
|
||||
imports: [CurationFormComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -6,9 +6,9 @@ import { RemoteData } from '../../../core/data/remote-data';
|
||||
import { Observable } from 'rxjs';
|
||||
import { DSONameService } from '../../../core/breadcrumbs/dso-name.service';
|
||||
import { hasValue } from '../../../shared/empty.util';
|
||||
import { CurationFormComponent } from "../../../curation-form/curation-form.component";
|
||||
import { TranslateModule } from "@ngx-translate/core";
|
||||
import { AsyncPipe } from "@angular/common";
|
||||
import { CurationFormComponent } from '../../../curation-form/curation-form.component';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { AsyncPipe } from '@angular/common';
|
||||
|
||||
/**
|
||||
* Component for managing a community's curation tasks
|
||||
|
@@ -10,6 +10,7 @@ import { CommunityMetadataComponent } from './community-metadata.component';
|
||||
import { CommunityDataService } from '../../../core/data/community-data.service';
|
||||
import { NotificationsService } from '../../../shared/notifications/notifications.service';
|
||||
import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub';
|
||||
import { CommunityFormComponent } from '../../community-form/community-form.component';
|
||||
|
||||
describe('CommunityMetadataComponent', () => {
|
||||
let comp: CommunityMetadataComponent;
|
||||
@@ -17,14 +18,20 @@ describe('CommunityMetadataComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), SharedModule, CommonModule, RouterTestingModule, CommunityMetadataComponent],
|
||||
providers: [
|
||||
imports: [TranslateModule.forRoot(), SharedModule, CommonModule, RouterTestingModule, CommunityMetadataComponent],
|
||||
providers: [
|
||||
{ provide: CommunityDataService, useValue: {} },
|
||||
{ provide: ActivatedRoute, useValue: { parent: { data: observableOf({ dso: { payload: {} } }) } } },
|
||||
{ provide: NotificationsService, useValue: new NotificationsServiceStub() }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(CommunityMetadataComponent, {
|
||||
remove: {
|
||||
imports: [CommunityFormComponent],
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -16,7 +16,7 @@ import { getMockRemoteDataBuildService } from '../../shared/mocks/remote-data-bu
|
||||
import { CoreState } from '../core-state.model';
|
||||
import { RequestEntry } from './request-entry.model';
|
||||
import { FindListOptions } from './find-list-options.model';
|
||||
import { HALEndpointServiceStub } from 'src/app/shared/testing/hal-endpoint-service.stub';
|
||||
import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub';
|
||||
import { testCreateDataImplementation } from './base/create-data.spec';
|
||||
import { testPatchDataImplementation } from './base/patch-data.spec';
|
||||
import { testDeleteDataImplementation } from './base/delete-data.spec';
|
||||
|
@@ -8,9 +8,16 @@ import { RelationshipDataService } from '../../../core/data/relationship-data.se
|
||||
import { DSONameService } from '../../../core/breadcrumbs/dso-name.service';
|
||||
import { of } from 'rxjs/internal/observable/of';
|
||||
import { ItemMetadataRepresentation } from '../../../core/shared/metadata-representation/item/item-metadata-representation.model';
|
||||
import { MetadataValue, VIRTUAL_METADATA_PREFIX } from '../../../core/shared/metadata.models';
|
||||
import { DsoEditMetadataChangeType, DsoEditMetadataValue } from '../dso-edit-metadata-form';
|
||||
import {
|
||||
MetadataValue,
|
||||
VIRTUAL_METADATA_PREFIX,
|
||||
} from '../../../core/shared/metadata.models';
|
||||
import {
|
||||
DsoEditMetadataChangeType,
|
||||
DsoEditMetadataValue,
|
||||
} from '../dso-edit-metadata-form';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { ThemedTypeBadgeComponent } from '../../../shared/object-collection/shared/badges/type-badge/themed-type-badge.component';
|
||||
|
||||
const EDIT_BTN = 'edit';
|
||||
const CONFIRM_BTN = 'confirm';
|
||||
@@ -30,14 +37,16 @@ describe('DsoEditMetadataValueComponent', () => {
|
||||
|
||||
function initServices(): void {
|
||||
relationshipService = jasmine.createSpyObj('relationshipService', {
|
||||
resolveMetadataRepresentation: of(new ItemMetadataRepresentation(metadataValue)),
|
||||
resolveMetadataRepresentation: of(
|
||||
new ItemMetadataRepresentation(metadataValue)
|
||||
),
|
||||
});
|
||||
dsoNameService = jasmine.createSpyObj('dsoNameService', {
|
||||
getName: 'Related Name',
|
||||
});
|
||||
}
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
beforeEach(waitForAsync(async () => {
|
||||
metadataValue = Object.assign(new MetadataValue(), {
|
||||
value: 'Regular Name',
|
||||
language: 'en',
|
||||
@@ -48,14 +57,25 @@ describe('DsoEditMetadataValueComponent', () => {
|
||||
|
||||
initServices();
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([]), DsoEditMetadataValueComponent, VarDirective],
|
||||
providers: [
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [
|
||||
TranslateModule.forRoot(),
|
||||
RouterTestingModule.withRoutes([]),
|
||||
DsoEditMetadataValueComponent,
|
||||
VarDirective,
|
||||
],
|
||||
providers: [
|
||||
{ provide: RelationshipDataService, useValue: relationshipService },
|
||||
{ provide: DSONameService, useValue: dsoNameService },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
})
|
||||
.overrideComponent(DsoEditMetadataValueComponent, {
|
||||
remove: {
|
||||
imports: [ThemedTypeBadgeComponent],
|
||||
},
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
@@ -67,7 +87,9 @@ describe('DsoEditMetadataValueComponent', () => {
|
||||
});
|
||||
|
||||
it('should not show a badge', () => {
|
||||
expect(fixture.debugElement.query(By.css('ds-themed-type-badge'))).toBeNull();
|
||||
expect(
|
||||
fixture.debugElement.query(By.css('ds-themed-type-badge'))
|
||||
).toBeNull();
|
||||
});
|
||||
|
||||
describe('when no changes have been made', () => {
|
||||
@@ -133,7 +155,9 @@ describe('DsoEditMetadataValueComponent', () => {
|
||||
});
|
||||
|
||||
it('should show a badge', () => {
|
||||
expect(fixture.debugElement.query(By.css('ds-themed-type-badge'))).toBeTruthy();
|
||||
expect(
|
||||
fixture.debugElement.query(By.css('ds-themed-type-badge'))
|
||||
).toBeTruthy();
|
||||
});
|
||||
|
||||
assertButton(EDIT_BTN, true, true);
|
||||
@@ -143,7 +167,11 @@ describe('DsoEditMetadataValueComponent', () => {
|
||||
assertButton(DRAG_BTN, true, false);
|
||||
});
|
||||
|
||||
function assertButton(name: string, exists: boolean, disabled: boolean = false): void {
|
||||
function assertButton(
|
||||
name: string,
|
||||
exists: boolean,
|
||||
disabled: boolean = false
|
||||
): void {
|
||||
describe(`${name} button`, () => {
|
||||
let btn: DebugElement;
|
||||
|
||||
|
@@ -3,7 +3,7 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { VarDirective } from '../../shared/utils/var.directive';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
import { DebugElement, Injectable, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { ChangeDetectionStrategy, DebugElement, Injectable, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { DSpaceObject } from '../../core/shared/dspace-object.model';
|
||||
import { Item } from '../../core/shared/item.model';
|
||||
import { MetadataValue } from '../../core/shared/metadata.models';
|
||||
@@ -16,6 +16,13 @@ import { DATA_SERVICE_FACTORY } from '../../core/data/base/data-service.decorato
|
||||
import { Operation } from 'fast-json-patch';
|
||||
import { RemoteData } from '../../core/data/remote-data';
|
||||
import { Observable } from 'rxjs/internal/Observable';
|
||||
import { DsoEditMetadataValueComponent } from './dso-edit-metadata-value/dso-edit-metadata-value.component';
|
||||
import { DsoEditMetadataHeadersComponent } from './dso-edit-metadata-headers/dso-edit-metadata-headers.component';
|
||||
import { MetadataFieldSelectorComponent } from './metadata-field-selector/metadata-field-selector.component';
|
||||
import { DsoEditMetadataValueHeadersComponent } from './dso-edit-metadata-value-headers/dso-edit-metadata-value-headers.component';
|
||||
import { DsoEditMetadataFieldValuesComponent } from './dso-edit-metadata-field-values/dso-edit-metadata-field-values.component';
|
||||
import { AlertComponent } from '../../shared/alert/alert.component';
|
||||
import { LoadingComponent } from '../../shared/loading/loading.component';
|
||||
|
||||
const ADD_BTN = 'add';
|
||||
const REINSTATE_BTN = 'reinstate';
|
||||
@@ -68,18 +75,48 @@ describe('DsoEditMetadataComponent', () => {
|
||||
},
|
||||
});
|
||||
|
||||
notificationsService = jasmine.createSpyObj('notificationsService', ['error', 'success']);
|
||||
notificationsService = jasmine.createSpyObj('notificationsService', [
|
||||
'error',
|
||||
'success',
|
||||
]);
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([]), DsoEditMetadataComponent, VarDirective],
|
||||
providers: [
|
||||
imports: [
|
||||
TranslateModule.forRoot(),
|
||||
RouterTestingModule.withRoutes([]),
|
||||
DsoEditMetadataComponent,
|
||||
VarDirective,
|
||||
],
|
||||
providers: [
|
||||
TestDataService,
|
||||
{ provide: DATA_SERVICE_FACTORY, useValue: jasmine.createSpy('getDataServiceFor').and.returnValue(TestDataService) },
|
||||
{
|
||||
provide: DATA_SERVICE_FACTORY,
|
||||
useValue: jasmine
|
||||
.createSpy('getDataServiceFor')
|
||||
.and.returnValue(TestDataService),
|
||||
},
|
||||
{ provide: NotificationsService, useValue: notificationsService },
|
||||
ArrayMoveChangeAnalyzer,
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
})
|
||||
.overrideComponent(DsoEditMetadataComponent, {
|
||||
remove: {
|
||||
imports: [
|
||||
DsoEditMetadataValueComponent,
|
||||
DsoEditMetadataHeadersComponent,
|
||||
MetadataFieldSelectorComponent,
|
||||
DsoEditMetadataValueHeadersComponent,
|
||||
DsoEditMetadataFieldValuesComponent,
|
||||
AlertComponent,
|
||||
LoadingComponent,
|
||||
],
|
||||
},
|
||||
add: {
|
||||
changeDetection: ChangeDetectionStrategy.Default,
|
||||
},
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -12,6 +12,15 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
|
||||
import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock';
|
||||
import { BitstreamDataService } from '../../../../core/data/bitstream-data.service';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../../../shared/testing/active-router.stub';
|
||||
import { ThemeService } from '../../../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../../../shared/mocks/theme-service.mock';
|
||||
import { AuthService } from '../../../../core/auth/auth.service';
|
||||
import { AuthServiceMock } from '../../../../shared/mocks/auth.service.mock';
|
||||
import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service';
|
||||
|
||||
const mockItem = Object.assign(new Item(), {
|
||||
bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])),
|
||||
@@ -43,17 +52,24 @@ describe('JournalVolumeGridElementComponent', () => {
|
||||
|
||||
const truncatableServiceStub: any = {
|
||||
isCollapsed: (id: number) => observableOf(true),
|
||||
expand: (id: number) => null,
|
||||
collapse: (id: number) => null
|
||||
};
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [NoopAnimationsModule, JournalVolumeGridElementComponent, TruncatePipe],
|
||||
providers: [
|
||||
imports: [NoopAnimationsModule, JournalVolumeGridElementComponent, TruncatePipe, TranslateModule.forRoot()],
|
||||
providers: [
|
||||
{ provide: DSONameService, useValue: new DSONameServiceMock() },
|
||||
{ provide: TruncatableService, useValue: truncatableServiceStub },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(JournalVolumeGridElementComponent, {
|
||||
{ provide: BitstreamDataService, useValue: {} },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
{ provide: AuthorizationDataService, useValue: {} }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(JournalVolumeGridElementComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
@@ -12,6 +12,7 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
|
||||
import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock';
|
||||
import { JournalSearchResultGridElementComponent } from '../search-result-grid-elements/journal/journal-search-result-grid-element.component';
|
||||
|
||||
const mockItem = Object.assign(new Item(), {
|
||||
bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])),
|
||||
@@ -53,14 +54,17 @@ describe('JournalGridElementComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [NoopAnimationsModule, JournalGridElementComponent, TruncatePipe],
|
||||
providers: [
|
||||
imports: [NoopAnimationsModule, JournalGridElementComponent, TruncatePipe],
|
||||
providers: [
|
||||
{ provide: DSONameService, useValue: new DSONameServiceMock() },
|
||||
{ provide: TruncatableService, useValue: truncatableServiceStub },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(JournalGridElementComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(JournalGridElementComponent, {
|
||||
remove: {
|
||||
imports: [JournalSearchResultGridElementComponent]
|
||||
},
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -8,6 +8,17 @@ import { TruncatePipe } from '../../../../shared/utils/truncate.pipe';
|
||||
import { TruncatableService } from '../../../../shared/truncatable/truncatable.service';
|
||||
import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
|
||||
import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock';
|
||||
import { APP_CONFIG } from '../../../../../config/app-config.interface';
|
||||
import { environment } from '../../../../../environments/environment.test';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { ThemeService } from '../../../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../../../shared/mocks/theme-service.mock';
|
||||
import { mockTruncatableService } from '../../../../shared/mocks/mock-trucatable.service';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../../../shared/testing/active-router.stub';
|
||||
import { AuthService } from '../../../../core/auth/auth.service';
|
||||
import { AuthServiceMock } from '../../../../shared/mocks/auth.service.mock';
|
||||
import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service';
|
||||
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bundles: observableOf({}),
|
||||
@@ -37,19 +48,20 @@ describe('JournalIssueListElementComponent', () => {
|
||||
let comp;
|
||||
let fixture;
|
||||
|
||||
const truncatableServiceStub: any = {
|
||||
isCollapsed: (id: number) => observableOf(true),
|
||||
};
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [JournalIssueListElementComponent, TruncatePipe],
|
||||
providers: [
|
||||
imports: [JournalIssueListElementComponent, TruncatePipe, TranslateModule.forRoot()],
|
||||
providers: [
|
||||
{ provide: DSONameService, useValue: new DSONameServiceMock() },
|
||||
{ provide: TruncatableService, useValue: truncatableServiceStub },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(JournalIssueListElementComponent, {
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: APP_CONFIG, useValue: environment },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
{ provide: AuthorizationDataService, useValue: {} },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(JournalIssueListElementComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
@@ -8,6 +8,16 @@ import { TruncatePipe } from '../../../../shared/utils/truncate.pipe';
|
||||
import { TruncatableService } from '../../../../shared/truncatable/truncatable.service';
|
||||
import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
|
||||
import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock';
|
||||
import { APP_CONFIG } from 'src/config/app-config.interface';
|
||||
import { environment } from 'src/environments/environment.test';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { ThemeService } from '../../../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../../../shared/mocks/theme-service.mock';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../../../shared/testing/active-router.stub';
|
||||
import { AuthService } from '../../../../core/auth/auth.service';
|
||||
import { AuthServiceMock } from '../../../../shared/mocks/auth.service.mock';
|
||||
import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service';
|
||||
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bundles: observableOf({}),
|
||||
@@ -33,14 +43,21 @@ describe('JournalListElementComponent', () => {
|
||||
|
||||
const truncatableServiceStub: any = {
|
||||
isCollapsed: (id: number) => observableOf(true),
|
||||
collapse: (id: number) => null,
|
||||
expand: (id: number) => null
|
||||
};
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
return TestBed.configureTestingModule({
|
||||
imports: [JournalListElementComponent, TruncatePipe],
|
||||
imports: [JournalListElementComponent, TruncatePipe, TranslateModule.forRoot()],
|
||||
providers: [
|
||||
{ provide: DSONameService, useValue: new DSONameServiceMock() },
|
||||
{ provide: TruncatableService, useValue: truncatableServiceStub },
|
||||
{ provide: APP_CONFIG, useValue: environment },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
{ provide: AuthorizationDataService, useValue: {} },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(JournalListElementComponent, {
|
||||
|
@@ -183,12 +183,13 @@ describe('JournalIssueSearchResultListElementComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [JournalIssueSearchResultListElementComponent, TruncatePipe],
|
||||
imports: [JournalIssueSearchResultListElementComponent, TruncatePipe, TranslateModule.forRoot(),],
|
||||
providers: [
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: DSONameService, useClass: DSONameServiceMock },
|
||||
{ provide: APP_CONFIG, useValue: enviromentNoThumbs },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() }
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(JournalIssueSearchResultListElementComponent, {
|
||||
|
@@ -21,6 +21,7 @@ import {
|
||||
} from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../../../../shared/testing/active-router.stub';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
|
||||
let journalListElementComponent: JournalSearchResultListElementComponent;
|
||||
let fixture: ComponentFixture<JournalSearchResultListElementComponent>;
|
||||
@@ -79,13 +80,13 @@ const enviromentNoThumbs = {
|
||||
describe('JournalSearchResultListElementComponent', () => {
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [JournalSearchResultListElementComponent, TruncatePipe],
|
||||
imports: [JournalSearchResultListElementComponent, TruncatePipe, TranslateModule.forRoot(),],
|
||||
providers: [
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: DSONameService, useClass: DSONameServiceMock },
|
||||
{ provide: APP_CONFIG, useValue: environmentUseThumbs },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() }
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(JournalSearchResultListElementComponent, {
|
||||
@@ -149,12 +150,13 @@ describe('JournalSearchResultListElementComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [JournalSearchResultListElementComponent, TruncatePipe],
|
||||
imports: [JournalSearchResultListElementComponent, TruncatePipe, TranslateModule.forRoot()],
|
||||
providers: [
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: DSONameService, useClass: DSONameServiceMock },
|
||||
{ provide: APP_CONFIG, useValue: enviromentNoThumbs },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() }
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(JournalSearchResultListElementComponent, {
|
||||
|
@@ -1,5 +1,4 @@
|
||||
import { Item } from '../../../../core/shared/item.model';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { OrgUnitGridElementComponent } from './org-unit-grid-element.component';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils';
|
||||
import { buildPaginatedList } from '../../../../core/data/paginated-list.model';
|
||||
@@ -12,6 +11,16 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
|
||||
import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock';
|
||||
import { BitstreamDataService } from '../../../../core/data/bitstream-data.service';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { mockTruncatableService } from '../../../../shared/mocks/mock-trucatable.service';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../../../shared/testing/active-router.stub';
|
||||
import { ThemeService } from '../../../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../../../shared/mocks/theme-service.mock';
|
||||
import { AuthService } from '../../../../core/auth/auth.service';
|
||||
import { AuthServiceMock } from '../../../../shared/mocks/auth.service.mock';
|
||||
import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service';
|
||||
|
||||
const mockItem = Object.assign(new Item(), {
|
||||
bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])),
|
||||
@@ -47,19 +56,25 @@ describe('OrgUnitGridElementComponent', () => {
|
||||
let comp;
|
||||
let fixture;
|
||||
|
||||
const truncatableServiceStub: any = {
|
||||
isCollapsed: (id: number) => observableOf(true),
|
||||
};
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [NoopAnimationsModule, OrgUnitGridElementComponent, TruncatePipe],
|
||||
providers: [
|
||||
imports: [
|
||||
NoopAnimationsModule,
|
||||
OrgUnitGridElementComponent,
|
||||
TruncatePipe,
|
||||
TranslateModule.forRoot()
|
||||
],
|
||||
providers: [
|
||||
{ provide: DSONameService, useValue: new DSONameServiceMock() },
|
||||
{ provide: TruncatableService, useValue: truncatableServiceStub },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(OrgUnitGridElementComponent, {
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: BitstreamDataService, useValue: {} },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
{ provide: AuthorizationDataService, useValue: {} },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(OrgUnitGridElementComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
@@ -12,6 +12,7 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
|
||||
import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock';
|
||||
import { PersonSearchResultGridElementComponent } from '../search-result-grid-elements/person/person-search-result-grid-element.component';
|
||||
|
||||
const mockItem = Object.assign(new Item(), {
|
||||
bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])),
|
||||
@@ -47,14 +48,17 @@ describe('PersonGridElementComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [NoopAnimationsModule, PersonGridElementComponent, TruncatePipe],
|
||||
providers: [
|
||||
imports: [NoopAnimationsModule, PersonGridElementComponent, TruncatePipe],
|
||||
providers: [
|
||||
{ provide: DSONameService, useValue: new DSONameServiceMock() },
|
||||
{ provide: TruncatableService, useValue: truncatableServiceStub },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(PersonGridElementComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(PersonGridElementComponent, {
|
||||
remove: {
|
||||
imports: [PersonSearchResultGridElementComponent]
|
||||
},
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -1,5 +1,4 @@
|
||||
import { Item } from '../../../../core/shared/item.model';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { ProjectGridElementComponent } from './project-grid-element.component';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils';
|
||||
import { buildPaginatedList } from '../../../../core/data/paginated-list.model';
|
||||
@@ -12,6 +11,16 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
|
||||
import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock';
|
||||
import { BitstreamDataService } from '../../../../core/data/bitstream-data.service';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { mockTruncatableService } from '../../../../shared/mocks/mock-trucatable.service';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../../../shared/testing/active-router.stub';
|
||||
import { ThemeService } from '../../../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../../../shared/mocks/theme-service.mock';
|
||||
import { AuthService } from '../../../../core/auth/auth.service';
|
||||
import { AuthServiceMock } from '../../../../shared/mocks/auth.service.mock';
|
||||
import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service';
|
||||
|
||||
const mockItem = Object.assign(new Item(), {
|
||||
bundles: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])),
|
||||
@@ -35,16 +44,17 @@ describe('ProjectGridElementComponent', () => {
|
||||
let comp;
|
||||
let fixture;
|
||||
|
||||
const truncatableServiceStub: any = {
|
||||
isCollapsed: (id: number) => observableOf(true),
|
||||
};
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [NoopAnimationsModule, ProjectGridElementComponent, TruncatePipe],
|
||||
imports: [NoopAnimationsModule, ProjectGridElementComponent, TruncatePipe, TranslateModule.forRoot()],
|
||||
providers: [
|
||||
{ provide: DSONameService, useValue: new DSONameServiceMock() },
|
||||
{ provide: TruncatableService, useValue: truncatableServiceStub },
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: BitstreamDataService, useValue: {} },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
{ provide: AuthorizationDataService, useValue: {} },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(ProjectGridElementComponent, {
|
||||
|
@@ -8,6 +8,17 @@ import { TruncatePipe } from '../../../../shared/utils/truncate.pipe';
|
||||
import { TruncatableService } from '../../../../shared/truncatable/truncatable.service';
|
||||
import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
|
||||
import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock';
|
||||
import { APP_CONFIG } from '../../../../../config/app-config.interface';
|
||||
import { environment } from '../../../../../environments/environment.test';
|
||||
import { ThemeService } from '../../../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../../../shared/mocks/theme-service.mock';
|
||||
import { mockTruncatableService } from '../../../../shared/mocks/mock-trucatable.service';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../../../shared/testing/active-router.stub';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { AuthService } from '../../../../core/auth/auth.service';
|
||||
import { AuthServiceMock } from '../../../../shared/mocks/auth.service.mock';
|
||||
import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service';
|
||||
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bundles: observableOf({}),
|
||||
@@ -31,16 +42,18 @@ describe('OrgUnitListElementComponent', () => {
|
||||
let comp;
|
||||
let fixture;
|
||||
|
||||
const truncatableServiceStub: any = {
|
||||
isCollapsed: (id: number) => observableOf(true),
|
||||
};
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [OrgUnitListElementComponent, TruncatePipe],
|
||||
imports: [OrgUnitListElementComponent, TruncatePipe, TranslateModule.forRoot()],
|
||||
providers: [
|
||||
{ provide: DSONameService, useValue: new DSONameServiceMock() },
|
||||
{ provide: TruncatableService, useValue: truncatableServiceStub },
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: APP_CONFIG, useValue: environment },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
{ provide: AuthorizationDataService, useValue: {} },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(OrgUnitListElementComponent, {
|
||||
|
@@ -8,6 +8,17 @@ import { TruncatePipe } from '../../../../shared/utils/truncate.pipe';
|
||||
import { TruncatableService } from '../../../../shared/truncatable/truncatable.service';
|
||||
import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
|
||||
import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock';
|
||||
import { APP_CONFIG } from 'src/config/app-config.interface';
|
||||
import { environment } from 'src/environments/environment.test';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { ThemeService } from '../../../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../../../shared/mocks/theme-service.mock';
|
||||
import { mockTruncatableService } from '../../../../shared/mocks/mock-trucatable.service';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../../../shared/testing/active-router.stub';
|
||||
import { AuthService } from '../../../../core/auth/auth.service';
|
||||
import { AuthServiceMock } from '../../../../shared/mocks/auth.service.mock';
|
||||
import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service';
|
||||
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bundles: observableOf({}),
|
||||
@@ -31,16 +42,17 @@ describe('PersonListElementComponent', () => {
|
||||
let comp;
|
||||
let fixture;
|
||||
|
||||
const truncatableServiceStub: any = {
|
||||
isCollapsed: (id: number) => observableOf(true),
|
||||
};
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [PersonListElementComponent, TruncatePipe],
|
||||
imports: [PersonListElementComponent, TruncatePipe, TranslateModule.forRoot()],
|
||||
providers: [
|
||||
{ provide: DSONameService, useValue: new DSONameServiceMock() },
|
||||
{ provide: TruncatableService, useValue: truncatableServiceStub },
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: APP_CONFIG, useValue: environment },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
{ provide: AuthorizationDataService, useValue: {} },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(PersonListElementComponent, {
|
||||
|
@@ -8,6 +8,17 @@ import { TruncatableService } from '../../../../shared/truncatable/truncatable.s
|
||||
import { ProjectListElementComponent } from './project-list-element.component';
|
||||
import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
|
||||
import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock';
|
||||
import { APP_CONFIG } from '../../../../../config/app-config.interface';
|
||||
import { environment } from '../../../../../environments/environment.test';
|
||||
import { mockTruncatableService } from '../../../../shared/mocks/mock-trucatable.service';
|
||||
import { ThemeService } from '../../../../shared/theme-support/theme.service';
|
||||
import { AuthService } from '../../../../core/auth/auth.service';
|
||||
import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service';
|
||||
import { AuthServiceMock } from '../../../../shared/mocks/auth.service.mock';
|
||||
import { getMockThemeService } from '../../../../shared/mocks/theme-service.mock';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../../../shared/testing/active-router.stub';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bundles: observableOf({}),
|
||||
@@ -18,12 +29,6 @@ const mockItem: Item = Object.assign(new Item(), {
|
||||
value: 'This is just another title'
|
||||
}
|
||||
],
|
||||
// 'project.identifier.status': [
|
||||
// {
|
||||
// language: 'en_US',
|
||||
// value: 'A status about the project'
|
||||
// }
|
||||
// ]
|
||||
}
|
||||
});
|
||||
|
||||
@@ -31,19 +36,20 @@ describe('ProjectListElementComponent', () => {
|
||||
let comp;
|
||||
let fixture;
|
||||
|
||||
const truncatableServiceStub: any = {
|
||||
isCollapsed: (id: number) => observableOf(true),
|
||||
};
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [ProjectListElementComponent, TruncatePipe],
|
||||
providers: [
|
||||
imports: [ProjectListElementComponent, TruncatePipe, TranslateModule.forRoot()],
|
||||
providers: [
|
||||
{ provide: DSONameService, useValue: new DSONameServiceMock() },
|
||||
{ provide: TruncatableService, useValue: truncatableServiceStub },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(ProjectListElementComponent, {
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: APP_CONFIG, useValue: environment },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
{ provide: AuthorizationDataService, useValue: {} },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(ProjectListElementComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
@@ -23,6 +23,9 @@ import {
|
||||
} from '../../../../../shared/truncatable/truncatable-part/truncatable-part.component';
|
||||
import { ActivatedRouteStub } from '../../../../../shared/testing/active-router.stub';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { AuthService } from '../../../../../core/auth/auth.service';
|
||||
import { AuthServiceMock } from '../../../../../shared/mocks/auth.service.mock';
|
||||
import { AuthorizationDataService } from '../../../../../core/data/feature-authorization/authorization-data.service';
|
||||
|
||||
let orgUnitListElementComponent: OrgUnitSearchResultListElementComponent;
|
||||
let fixture: ComponentFixture<OrgUnitSearchResultListElementComponent>;
|
||||
@@ -87,6 +90,9 @@ describe('OrgUnitSearchResultListElementComponent', () => {
|
||||
}), OrgUnitSearchResultListElementComponent, TruncatePipe],
|
||||
providers: [
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
{ provide: AuthorizationDataService, useValue: {} },
|
||||
{ provide: DSONameService, useClass: DSONameServiceMock },
|
||||
{ provide: APP_CONFIG, useValue: environmentUseThumbs },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() }
|
||||
|
@@ -14,6 +14,12 @@ import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
|
||||
import { TranslateLoaderMock } from '../../../../../shared/mocks/translate-loader.mock';
|
||||
import { ThemeService } from '../../../../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../../../../shared/mocks/theme-service.mock';
|
||||
import { mockTruncatableService } from '../../../../../shared/mocks/mock-trucatable.service';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../../../../shared/testing/active-router.stub';
|
||||
import { AuthService } from '../../../../../core/auth/auth.service';
|
||||
import { AuthServiceMock } from '../../../../../shared/mocks/auth.service.mock';
|
||||
import { AuthorizationDataService } from '../../../../../core/data/feature-authorization/authorization-data.service';
|
||||
|
||||
let personListElementComponent: PersonSearchResultListElementComponent;
|
||||
let fixture: ComponentFixture<PersonSearchResultListElementComponent>;
|
||||
@@ -70,20 +76,23 @@ const enviromentNoThumbs = {
|
||||
describe('PersonSearchResultListElementComponent', () => {
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot({
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
}), PersonSearchResultListElementComponent, TruncatePipe],
|
||||
providers: [
|
||||
{ provide: TruncatableService, useValue: {} },
|
||||
imports: [TranslateModule.forRoot({
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
}), PersonSearchResultListElementComponent, TruncatePipe],
|
||||
providers: [
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: DSONameService, useClass: DSONameServiceMock },
|
||||
{ provide: APP_CONFIG, useValue: environmentUseThumbs },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(PersonSearchResultListElementComponent, {
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
{ provide: AuthorizationDataService, useValue: {} },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(PersonSearchResultListElementComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
}));
|
||||
@@ -138,21 +147,24 @@ describe('PersonSearchResultListElementComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot({
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
}), PersonSearchResultListElementComponent, TruncatePipe],
|
||||
providers: [
|
||||
{ provide: TruncatableService, useValue: {} },
|
||||
imports: [TranslateModule.forRoot({
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
}), PersonSearchResultListElementComponent, TruncatePipe],
|
||||
providers: [
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: DSONameService, useClass: DSONameServiceMock },
|
||||
{ provide: APP_CONFIG, useValue: enviromentNoThumbs },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(PersonSearchResultListElementComponent, {
|
||||
set: {changeDetection: ChangeDetectionStrategy.Default}
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
{ provide: AuthorizationDataService, useValue: {} },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(PersonSearchResultListElementComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -77,11 +77,11 @@ describe('ProjectSearchResultListElementComponent', () => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [ProjectSearchResultListElementComponent, TruncatePipe],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: DSONameService, useClass: DSONameServiceMock },
|
||||
{ provide: APP_CONFIG, useValue: environmentUseThumbs },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(ProjectSearchResultListElementComponent, {
|
||||
@@ -149,7 +149,8 @@ describe('ProjectSearchResultListElementComponent', () => {
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: DSONameService, useClass: DSONameServiceMock },
|
||||
{ provide: APP_CONFIG, useValue: enviromentNoThumbs },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() }
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(ProjectSearchResultListElementComponent, {
|
||||
|
@@ -8,6 +8,8 @@ import { ItemMetadataRepresentation } from '../../../../core/shared/metadata-rep
|
||||
import { OrgUnitItemMetadataListElementComponent } from './org-unit-item-metadata-list-element.component';
|
||||
import { Item } from '../../../../core/shared/item.model';
|
||||
import { MetadataValue } from '../../../../core/shared/metadata.models';
|
||||
import { TruncatableComponent } from '../../../../shared/truncatable/truncatable.component';
|
||||
import { RouterLink } from '@angular/router';
|
||||
|
||||
const description = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.';
|
||||
const organisation = 'Anonymous';
|
||||
@@ -21,13 +23,16 @@ describe('OrgUnitItemMetadataListElementComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
imports: [
|
||||
NgbModule,
|
||||
OrgUnitItemMetadataListElementComponent
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(OrgUnitItemMetadataListElementComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(OrgUnitItemMetadataListElementComponent, {
|
||||
remove: {
|
||||
imports: [TruncatableComponent, RouterLink]
|
||||
},
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -8,6 +8,8 @@ import { ItemMetadataRepresentation } from '../../../../core/shared/metadata-rep
|
||||
import { Item } from '../../../../core/shared/item.model';
|
||||
import { PersonItemMetadataListElementComponent } from './person-item-metadata-list-element.component';
|
||||
import { MetadataValue } from '../../../../core/shared/metadata.models';
|
||||
import { TruncatableComponent } from '../../../../shared/truncatable/truncatable.component';
|
||||
import { RouterLink } from '@angular/router';
|
||||
|
||||
const jobTitle = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.';
|
||||
const firstName = 'Joe';
|
||||
@@ -23,13 +25,16 @@ describe('PersonItemMetadataListElementComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
imports: [
|
||||
NgbModule,
|
||||
PersonItemMetadataListElementComponent
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(PersonItemMetadataListElementComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(PersonItemMetadataListElementComponent, {
|
||||
remove: {
|
||||
imports: [TruncatableComponent, RouterLink]
|
||||
},
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -10,6 +10,8 @@ import { ProjectItemMetadataListElementComponent } from './project-item-metadata
|
||||
import { MetadataValue } from '../../../../core/shared/metadata.models';
|
||||
import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
|
||||
import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mock';
|
||||
import { TruncatableComponent } from '../../../../shared/truncatable/truncatable.component';
|
||||
import { RouterLink } from '@angular/router';
|
||||
|
||||
const projectTitle = 'Lorem ipsum dolor sit amet';
|
||||
const mockItem = Object.assign(new Item(), { metadata: { 'dc.title': [{ value: projectTitle }] } });
|
||||
@@ -23,16 +25,19 @@ describe('ProjectItemMetadataListElementComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
imports: [
|
||||
NgbModule,
|
||||
ProjectItemMetadataListElementComponent
|
||||
],
|
||||
providers: [
|
||||
],
|
||||
providers: [
|
||||
{ provide: DSONameService, useValue: new DSONameServiceMock() }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(ProjectItemMetadataListElementComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(ProjectItemMetadataListElementComponent, {
|
||||
remove: {
|
||||
imports: [TruncatableComponent, RouterLink,]
|
||||
},
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { ChangeDetectionStrategy, Component, EventEmitter, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
||||
@@ -8,7 +8,6 @@ import { TranslateService } from '@ngx-translate/core';
|
||||
import { Observable, of as observableOf } from 'rxjs';
|
||||
import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service';
|
||||
import { ObjectCacheService } from '../../../../../core/cache/object-cache.service';
|
||||
import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service';
|
||||
import { CommunityDataService } from '../../../../../core/data/community-data.service';
|
||||
import { DefaultChangeAnalyzer } from '../../../../../core/data/default-change-analyzer.service';
|
||||
import { DSOChangeAnalyzer } from '../../../../../core/data/dso-change-analyzer.service';
|
||||
@@ -20,7 +19,6 @@ import { Bitstream } from '../../../../../core/shared/bitstream.model';
|
||||
import { HALEndpointService } from '../../../../../core/shared/hal-endpoint.service';
|
||||
import { Item } from '../../../../../core/shared/item.model';
|
||||
import { UUIDService } from '../../../../../core/shared/uuid.service';
|
||||
import { NotificationsService } from '../../../../../shared/notifications/notifications.service';
|
||||
import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model';
|
||||
import { SelectableListService } from '../../../../../shared/object-list/selectable-list/selectable-list.service';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/remote-data.utils';
|
||||
@@ -28,6 +26,14 @@ import { TruncatableService } from '../../../../../shared/truncatable/truncatabl
|
||||
import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe';
|
||||
import { PersonSearchResultListSubmissionElementComponent } from './person-search-result-list-submission-element.component';
|
||||
import { APP_CONFIG } from '../../../../../../config/app-config.interface';
|
||||
import { ThumbnailComponent } from '../../../../../thumbnail/thumbnail.component';
|
||||
import { PersonInputSuggestionsComponent } from './person-suggestions/person-input-suggestions.component';
|
||||
import { CollectionElementLinkType } from '../../../../../shared/object-collection/collection-element-link.type';
|
||||
import { AuthService } from '../../../../../core/auth/auth.service';
|
||||
import { REQUEST } from '@nguniversal/express-engine/tokens';
|
||||
import { BrowseByRoutingModule } from '../../../../../browse-by/browse-by-routing.module';
|
||||
import { ThemeService } from '../../../../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../../../../shared/mocks/theme-service.mock';
|
||||
|
||||
let personListElementComponent: PersonSearchResultListSubmissionElementComponent;
|
||||
let fixture: ComponentFixture<PersonSearchResultListSubmissionElementComponent>;
|
||||
@@ -50,6 +56,14 @@ const enviromentNoThumbs = {
|
||||
}
|
||||
};
|
||||
|
||||
const translateServiceStub = {
|
||||
get: () => observableOf('test' ),
|
||||
instant: (key) => key,
|
||||
onLangChange: new EventEmitter(),
|
||||
onTranslationChange: new EventEmitter(),
|
||||
onDefaultLangChange: new EventEmitter()
|
||||
};
|
||||
|
||||
function init() {
|
||||
mockItemWithMetadata = Object.assign(
|
||||
new ItemSearchResult(),
|
||||
@@ -95,20 +109,14 @@ function init() {
|
||||
}
|
||||
|
||||
describe('PersonSearchResultListElementSubmissionComponent', () => {
|
||||
const mockBitstreamDataService = {
|
||||
getThumbnailFor(item: Item): Observable<RemoteData<Bitstream>> {
|
||||
return createSuccessfulRemoteDataObject$(new Bitstream());
|
||||
}
|
||||
};
|
||||
beforeEach(waitForAsync(() => {
|
||||
beforeEach(waitForAsync(async () => {
|
||||
init();
|
||||
TestBed.configureTestingModule({
|
||||
imports: [PersonSearchResultListSubmissionElementComponent, TruncatePipe],
|
||||
providers: [
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [PersonSearchResultListSubmissionElementComponent, TruncatePipe, BrowseByRoutingModule],
|
||||
providers: [
|
||||
{ provide: TruncatableService, useValue: {} },
|
||||
{ provide: RelationshipDataService, useValue: mockRelationshipService },
|
||||
{ provide: NotificationsService, useValue: {} },
|
||||
{ provide: TranslateService, useValue: {} },
|
||||
{ provide: TranslateService, useValue: translateServiceStub },
|
||||
{ provide: NgbModal, useValue: {} },
|
||||
{ provide: ItemDataService, useValue: {} },
|
||||
{ provide: SelectableListService, useValue: {} },
|
||||
@@ -121,13 +129,14 @@ describe('PersonSearchResultListElementSubmissionComponent', () => {
|
||||
{ provide: HttpClient, useValue: {} },
|
||||
{ provide: DSOChangeAnalyzer, useValue: {} },
|
||||
{ provide: DefaultChangeAnalyzer, useValue: {} },
|
||||
{ provide: BitstreamDataService, useValue: mockBitstreamDataService },
|
||||
{ provide: APP_CONFIG, useValue: environmentUseThumbs }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(PersonSearchResultListSubmissionElementComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
{ provide: APP_CONFIG, useValue: environmentUseThumbs },
|
||||
{ provide: AuthService, useValue: {} },
|
||||
{ provide: REQUEST, useValue: {} },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
@@ -139,6 +148,25 @@ describe('PersonSearchResultListElementSubmissionComponent', () => {
|
||||
describe('When the item has a job title', () => {
|
||||
beforeEach(() => {
|
||||
personListElementComponent.object = mockItemWithMetadata;
|
||||
personListElementComponent.dso = Object.assign(
|
||||
new Item(),
|
||||
{
|
||||
|
||||
metadata: {
|
||||
'dc.title': [
|
||||
{
|
||||
language: 'en_US',
|
||||
value: 'This is just another title'
|
||||
}
|
||||
],
|
||||
'person.jobTitle': [
|
||||
{
|
||||
language: 'en_US',
|
||||
value: 'Developer'
|
||||
}
|
||||
]
|
||||
}
|
||||
});
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
@@ -163,6 +191,7 @@ describe('PersonSearchResultListElementSubmissionComponent', () => {
|
||||
describe('When the environment is set to show thumbnails', () => {
|
||||
beforeEach(() => {
|
||||
personListElementComponent.object = mockItemWithoutMetadata;
|
||||
personListElementComponent.linkType = CollectionElementLinkType.ExternalLink;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
@@ -182,12 +211,11 @@ describe('PersonSearchResultListElementSubmissionComponent', () => {
|
||||
beforeEach(waitForAsync(() => {
|
||||
init();
|
||||
TestBed.configureTestingModule({
|
||||
imports: [PersonSearchResultListSubmissionElementComponent, TruncatePipe],
|
||||
providers: [
|
||||
imports: [PersonSearchResultListSubmissionElementComponent, TruncatePipe],
|
||||
providers: [
|
||||
{ provide: TruncatableService, useValue: {} },
|
||||
{ provide: RelationshipDataService, useValue: mockRelationshipService },
|
||||
{ provide: NotificationsService, useValue: {} },
|
||||
{ provide: TranslateService, useValue: {} },
|
||||
{ provide: TranslateService, useValue: translateServiceStub },
|
||||
{ provide: NgbModal, useValue: {} },
|
||||
{ provide: ItemDataService, useValue: {} },
|
||||
{ provide: SelectableListService, useValue: {} },
|
||||
@@ -200,12 +228,14 @@ describe('PersonSearchResultListElementSubmissionComponent', () => {
|
||||
{ provide: HttpClient, useValue: {} },
|
||||
{ provide: DSOChangeAnalyzer, useValue: {} },
|
||||
{ provide: DefaultChangeAnalyzer, useValue: {} },
|
||||
{ provide: BitstreamDataService, useValue: mockBitstreamDataService },
|
||||
{ provide: APP_CONFIG, useValue: enviromentNoThumbs }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(PersonSearchResultListSubmissionElementComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(PersonSearchResultListSubmissionElementComponent, {
|
||||
remove: {
|
||||
imports: [ThumbnailComponent, PersonInputSuggestionsComponent]
|
||||
},
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
@@ -227,3 +257,12 @@ describe('PersonSearchResultListElementSubmissionComponent', () => {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@Component({
|
||||
selector: 'ds-mock-thumbnail',
|
||||
template: '<div></div>',
|
||||
standalone: true
|
||||
})
|
||||
export class ThumbnailStubComponent {
|
||||
|
||||
}
|
||||
|
@@ -1,5 +1,4 @@
|
||||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service';
|
||||
import { SearchResultListElementComponent } from '../../../../../shared/object-list/search-result-list-element/search-result-list-element.component';
|
||||
import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model';
|
||||
import { listableObjectComponent } from '../../../../../shared/object-collection/shared/listable-object/listable-object.decorator';
|
||||
@@ -9,8 +8,6 @@ import { Context } from '../../../../../core/shared/context.model';
|
||||
import { RelationshipDataService } from '../../../../../core/data/relationship-data.service';
|
||||
import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service';
|
||||
import { take } from 'rxjs/operators';
|
||||
import { NotificationsService } from '../../../../../shared/notifications/notifications.service';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
||||
import { NameVariantModalComponent } from '../../name-variant-modal/name-variant-modal.component';
|
||||
import { MetadataValue } from '../../../../../core/shared/metadata.models';
|
||||
@@ -47,11 +44,8 @@ export class PersonSearchResultListSubmissionElementComponent extends SearchResu
|
||||
|
||||
constructor(protected truncatableService: TruncatableService,
|
||||
private relationshipService: RelationshipDataService,
|
||||
private notificationsService: NotificationsService,
|
||||
private translateService: TranslateService,
|
||||
private modalService: NgbModal,
|
||||
private itemDataService: ItemDataService,
|
||||
private bitstreamDataService: BitstreamDataService,
|
||||
private selectableListService: SelectableListService,
|
||||
public dsoNameService: DSONameService,
|
||||
@Inject(APP_CONFIG) protected appConfig: AppConfig
|
||||
|
@@ -4,6 +4,7 @@ import { CommonModule } from '@angular/common';
|
||||
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { ReactiveFormsModule } from '@angular/forms';
|
||||
import { RegisterEmailFormComponent } from '../../register-email-form/register-email-form.component';
|
||||
|
||||
describe('ForgotEmailComponent', () => {
|
||||
let comp: ForgotEmailComponent;
|
||||
@@ -11,9 +12,15 @@ describe('ForgotEmailComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [CommonModule, TranslateModule.forRoot(), ReactiveFormsModule, ForgotEmailComponent],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
}).compileComponents();
|
||||
imports: [CommonModule, TranslateModule.forRoot(), ReactiveFormsModule, ForgotEmailComponent],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(ForgotEmailComponent, {
|
||||
remove: {
|
||||
imports: [RegisterEmailFormComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(ForgotEmailComponent);
|
||||
|
@@ -17,20 +17,20 @@ describe('HealthInfoComponentComponent', () => {
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [
|
||||
imports: [
|
||||
CommonModule,
|
||||
NgbCollapseModule,
|
||||
NoopAnimationsModule,
|
||||
TranslateModule.forRoot({
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
}),
|
||||
HealthInfoComponentComponent,
|
||||
ObjNgFor
|
||||
]
|
||||
})
|
||||
ObjNgFor,
|
||||
]
|
||||
})
|
||||
.compileComponents();
|
||||
});
|
||||
|
||||
|
@@ -11,6 +11,8 @@ import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock';
|
||||
import { HealthPanelComponent } from './health-panel.component';
|
||||
import { HealthResponseObj } from '../../shared/mocks/health-endpoint.mocks';
|
||||
import { ObjNgFor } from '../../shared/utils/object-ngfor.pipe';
|
||||
import { HealthStatusComponent } from './health-status/health-status.component';
|
||||
import { HealthComponentComponent } from './health-component/health-component.component';
|
||||
|
||||
describe('HealthPanelComponent', () => {
|
||||
let component: HealthPanelComponent;
|
||||
@@ -33,7 +35,13 @@ describe('HealthPanelComponent', () => {
|
||||
ObjNgFor
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
})
|
||||
.overrideComponent(HealthPanelComponent, {
|
||||
remove: {
|
||||
imports: [HealthComponentComponent, HealthStatusComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -1,8 +1,8 @@
|
||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { SearchService } from 'src/app/core/shared/search/search.service';
|
||||
import { createSuccessfulRemoteDataObject } from 'src/app/shared/remote-data.utils';
|
||||
import { SearchServiceStub } from 'src/app/shared/testing/search-service.stub';
|
||||
import { createPaginatedList } from 'src/app/shared/testing/utils.test';
|
||||
import { SearchService } from '../../core/shared/search/search.service';
|
||||
import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils';
|
||||
import { SearchServiceStub } from '../../shared/testing/search-service.stub';
|
||||
import { createPaginatedList } from '../../shared/testing/utils.test';
|
||||
import { PaginationService } from '../../core/pagination/pagination.service';
|
||||
import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub';
|
||||
import { RecentItemListComponent } from './recent-item-list.component';
|
||||
|
@@ -5,6 +5,7 @@ import { ThemeService } from '../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../shared/mocks/theme-service.mock';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../shared/testing/active-router.stub';
|
||||
import { SearchConfigurationService } from '../core/shared/search/search-configuration.service';
|
||||
|
||||
describe('ImportExternalPageComponent', () => {
|
||||
let component: ImportExternalPageComponent;
|
||||
@@ -15,7 +16,8 @@ describe('ImportExternalPageComponent', () => {
|
||||
imports: [ImportExternalPageComponent],
|
||||
providers: [
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() }
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
{ provide: SearchConfigurationService, useValue: {}},
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
|
@@ -2,6 +2,7 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { EndUserAgreementContentComponent } from './end-user-agreement-content.component';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { RouterLink } from '@angular/router';
|
||||
|
||||
describe('EndUserAgreementContentComponent', () => {
|
||||
let component: EndUserAgreementContentComponent;
|
||||
@@ -9,9 +10,15 @@ describe('EndUserAgreementContentComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), EndUserAgreementContentComponent],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
imports: [TranslateModule.forRoot(), EndUserAgreementContentComponent],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(EndUserAgreementContentComponent, {
|
||||
remove: {
|
||||
imports: [RouterLink]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -11,6 +11,7 @@ import { Store } from '@ngrx/store';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { LogOutAction } from '../../core/auth/auth.actions';
|
||||
import { ActivatedRouteStub } from '../../shared/testing/active-router.stub';
|
||||
import { EndUserAgreementContentComponent } from './end-user-agreement-content/end-user-agreement-content.component';
|
||||
|
||||
describe('EndUserAgreementComponent', () => {
|
||||
let component: EndUserAgreementComponent;
|
||||
@@ -48,17 +49,23 @@ describe('EndUserAgreementComponent', () => {
|
||||
beforeEach(waitForAsync(() => {
|
||||
init();
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), EndUserAgreementComponent],
|
||||
providers: [
|
||||
imports: [TranslateModule.forRoot(), EndUserAgreementComponent],
|
||||
providers: [
|
||||
{ provide: EndUserAgreementService, useValue: endUserAgreementService },
|
||||
{ provide: NotificationsService, useValue: notificationsService },
|
||||
{ provide: AuthService, useValue: authService },
|
||||
{ provide: Store, useValue: store },
|
||||
{ provide: Router, useValue: router },
|
||||
{ provide: ActivatedRoute, useValue: route }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(EndUserAgreementComponent, {
|
||||
remove: {
|
||||
imports: [EndUserAgreementContentComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -2,6 +2,11 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { FeedbackComponent } from './feedback.component';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { ThemeService } from '../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../shared/mocks/theme-service.mock';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../shared/testing/active-router.stub';
|
||||
import { ThemedFeedbackFormComponent } from './feedback-form/themed-feedback-form.component';
|
||||
|
||||
describe('FeedbackComponent', () => {
|
||||
let component: FeedbackComponent;
|
||||
@@ -9,9 +14,19 @@ describe('FeedbackComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), FeedbackComponent],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
imports: [TranslateModule.forRoot(), FeedbackComponent],
|
||||
providers: [
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(FeedbackComponent, {
|
||||
remove: {
|
||||
imports: [ThemedFeedbackFormComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { PrivacyComponent } from './privacy.component';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../shared/testing/active-router.stub';
|
||||
|
||||
describe('PrivacyComponent', () => {
|
||||
let component: PrivacyComponent;
|
||||
@@ -10,6 +12,9 @@ describe('PrivacyComponent', () => {
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), PrivacyComponent],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
@@ -4,6 +4,9 @@ import { TranslateModule } from '@ngx-translate/core';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { Item } from '../../core/shared/item.model';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../shared/testing/active-router.stub';
|
||||
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
|
||||
describe('ItemAlertsComponent', () => {
|
||||
let component: ItemAlertsComponent;
|
||||
@@ -12,7 +15,10 @@ describe('ItemAlertsComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), ItemAlertsComponent],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
imports: [TranslateModule.forRoot(), ItemAlertsComponent, NoopAnimationsModule],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.compileComponents();
|
||||
|
@@ -24,6 +24,8 @@ import { AuthServiceStub } from '../../../shared/testing/auth-service.stub';
|
||||
import { environment } from '../../../../environments/environment';
|
||||
import { buildPaginatedList } from '../../../core/data/paginated-list.model';
|
||||
import { PageInfo } from '../../../core/shared/page-info.model';
|
||||
import { UploaderComponent } from '../../../shared/upload/uploader/uploader.component';
|
||||
import { DsoInputSuggestionsComponent } from '../../../shared/input-suggestions/dso-input-suggestions/dso-input-suggestions.component';
|
||||
|
||||
describe('UploadBitstreamComponent', () => {
|
||||
let comp: UploadBitstreamComponent;
|
||||
@@ -287,8 +289,8 @@ describe('UploadBitstreamComponent', () => {
|
||||
};
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule, UploadBitstreamComponent, VarDirective],
|
||||
providers: [
|
||||
imports: [CommonModule, RouterTestingModule.withRoutes([]), TranslateModule.forRoot(), NgbModule, UploadBitstreamComponent, VarDirective],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: routeStub },
|
||||
{ provide: Router, useValue: routerStub },
|
||||
{ provide: ItemDataService, useValue: mockItemDataService },
|
||||
@@ -296,10 +298,16 @@ describe('UploadBitstreamComponent', () => {
|
||||
{ provide: AuthService, useValue: authServiceStub },
|
||||
{ provide: BundleDataService, useValue: bundleService },
|
||||
{ provide: RequestService, useValue: requestService }
|
||||
], schemas: [
|
||||
], schemas: [
|
||||
NO_ERRORS_SCHEMA
|
||||
]
|
||||
}).compileComponents();
|
||||
]
|
||||
})
|
||||
.overrideComponent(UploadBitstreamComponent, {
|
||||
remove: {
|
||||
imports: [UploaderComponent, DsoInputSuggestionsComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -18,6 +18,9 @@ import { createPaginatedList } from '../../../../../shared/testing/utils.test';
|
||||
import { RequestService } from '../../../../../core/data/request.service';
|
||||
import { PaginationService } from '../../../../../core/pagination/pagination.service';
|
||||
import { PaginationServiceStub } from '../../../../../shared/testing/pagination-service.stub';
|
||||
import { PaginationComponent } from '../../../../../shared/pagination/pagination.component';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../../../../shared/testing/active-router.stub';
|
||||
|
||||
describe('PaginatedDragAndDropBitstreamListComponent', () => {
|
||||
let comp: PaginatedDragAndDropBitstreamListComponent;
|
||||
@@ -115,17 +118,24 @@ describe('PaginatedDragAndDropBitstreamListComponent', () => {
|
||||
paginationService = new PaginationServiceStub();
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), PaginatedDragAndDropBitstreamListComponent, VarDirective],
|
||||
providers: [
|
||||
imports: [TranslateModule.forRoot(), PaginatedDragAndDropBitstreamListComponent, VarDirective],
|
||||
providers: [
|
||||
{ provide: ObjectUpdatesService, useValue: objectUpdatesService },
|
||||
{ provide: BundleDataService, useValue: bundleService },
|
||||
{ provide: ObjectValuesPipe, useValue: objectValuesPipe },
|
||||
{ provide: RequestService, useValue: requestService },
|
||||
{ provide: PaginationService, useValue: paginationService }
|
||||
], schemas: [
|
||||
{ provide: PaginationService, useValue: paginationService },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
], schemas: [
|
||||
NO_ERRORS_SCHEMA
|
||||
]
|
||||
}).compileComponents();
|
||||
]
|
||||
})
|
||||
.overrideComponent(PaginatedDragAndDropBitstreamListComponent, {
|
||||
remove: {
|
||||
imports: [PaginationComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -7,6 +7,7 @@ import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.ut
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { DSONameService } from '../../../core/breadcrumbs/dso-name.service';
|
||||
import { Item } from '../../../core/shared/item.model';
|
||||
import { CurationFormComponent } from '../../../curation-form/curation-form.component';
|
||||
|
||||
describe('ItemCurateComponent', () => {
|
||||
let comp: ItemCurateComponent;
|
||||
@@ -41,7 +42,13 @@ describe('ItemCurateComponent', () => {
|
||||
{ provide: DSONameService, useValue: dsoNameService }
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
}).compileComponents();
|
||||
})
|
||||
.overrideComponent(ItemCurateComponent, {
|
||||
remove: {
|
||||
imports: [CurationFormComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -23,6 +23,7 @@ import {
|
||||
import { createPaginatedList } from '../../../shared/testing/utils.test';
|
||||
import { RequestService } from '../../../core/data/request.service';
|
||||
import { getMockRequestService } from '../../../shared/mocks/request.service.mock';
|
||||
import { AuthorizedCollectionSelectorComponent } from '../../../shared/dso-selector/dso-selector/authorized-collection-selector/authorized-collection-selector.component';
|
||||
|
||||
describe('ItemMoveComponent', () => {
|
||||
let comp: ItemMoveComponent;
|
||||
@@ -103,7 +104,13 @@ describe('ItemMoveComponent', () => {
|
||||
], schemas: [
|
||||
CUSTOM_ELEMENTS_SCHEMA
|
||||
]
|
||||
}).compileComponents();
|
||||
})
|
||||
.overrideComponent(ItemMoveComponent, {
|
||||
remove: {
|
||||
imports: [AuthorizedCollectionSelectorComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
fixture = TestBed.createComponent(ItemMoveComponent);
|
||||
comp = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
|
@@ -30,7 +30,7 @@ import { getItemEditRoute } from '../../item-page-routing-paths';
|
||||
selector: 'ds-simple-action',
|
||||
templateUrl: './abstract-simple-item-action.component.html',
|
||||
standalone: true,
|
||||
imports: [CommonModule, FormsModule, NgbModule]
|
||||
imports: [CommonModule, FormsModule, NgbModule, TranslateModule],
|
||||
})
|
||||
export class MySimpleItemActionComponent extends AbstractSimpleItemActionComponent {
|
||||
|
||||
|
@@ -9,6 +9,9 @@ import { ObjectUpdatesService } from '../../../core/data/object-updates/object-u
|
||||
import { VarDirective } from '../../../shared/utils/var.directive';
|
||||
import { APP_CONFIG } from '../../../../config/app-config.interface';
|
||||
import { environment } from '../../../../environments/environment';
|
||||
import { ThemeService } from '../../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../../shared/mocks/theme-service.mock';
|
||||
import { ListableObjectComponentLoaderComponent } from '../../../shared/object-collection/shared/listable-object/listable-object-component-loader.component';
|
||||
|
||||
describe('VirtualMetadataComponent', () => {
|
||||
|
||||
@@ -44,14 +47,21 @@ describe('VirtualMetadataComponent', () => {
|
||||
});
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), VirtualMetadataComponent, VarDirective],
|
||||
providers: [
|
||||
imports: [TranslateModule.forRoot(), VirtualMetadataComponent, VarDirective],
|
||||
providers: [
|
||||
{ provide: ObjectUpdatesService, useValue: objectUpdatesService },
|
||||
{ provide: APP_CONFIG, useValue: environment }
|
||||
], schemas: [
|
||||
{ provide: APP_CONFIG, useValue: environment },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
], schemas: [
|
||||
NO_ERRORS_SCHEMA
|
||||
]
|
||||
}).compileComponents();
|
||||
]
|
||||
})
|
||||
.overrideComponent(VirtualMetadataComponent, {
|
||||
remove: {
|
||||
imports: [ListableObjectComponentLoaderComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(VirtualMetadataComponent);
|
||||
comp = fixture.componentInstance;
|
||||
|
@@ -14,6 +14,8 @@ import { PageInfo } from '../../../core/shared/page-info.model';
|
||||
import { FindListOptions } from '../../../core/data/find-list-options.model';
|
||||
import { DSONameService } from '../../../core/breadcrumbs/dso-name.service';
|
||||
import { DSONameServiceMock } from '../../../shared/mocks/dso-name.service.mock';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../../shared/testing/active-router.stub';
|
||||
|
||||
const createMockCollection = (id: string) => Object.assign(new Collection(), {
|
||||
id: id,
|
||||
@@ -50,6 +52,7 @@ describe('CollectionsComponent', () => {
|
||||
{ provide: DSONameService, useValue: new DSONameServiceMock() },
|
||||
{ provide: RemoteDataBuildService, useValue: getMockRemoteDataBuildService() },
|
||||
{ provide: CollectionDataService, useValue: collectionDataService },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(CollectionsComponent, {
|
||||
|
@@ -23,6 +23,17 @@ import { RemoteData } from '../../core/data/remote-data';
|
||||
import { ServerResponseService } from '../../core/services/server-response.service';
|
||||
import { SignpostingDataService } from '../../core/data/signposting-data.service';
|
||||
import { LinkHeadService } from '../../core/services/link-head.service';
|
||||
import { ThemeService } from '../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../shared/mocks/theme-service.mock';
|
||||
import { ItemVersionsComponent } from '../versions/item-versions.component';
|
||||
import { ItemVersionsNoticeComponent } from '../versions/notice/item-versions-notice.component';
|
||||
import { ThemedLoadingComponent } from '../../shared/loading/themed-loading.component';
|
||||
import { ThemedItemPageTitleFieldComponent } from '../simple/field-components/specific-field/title/themed-item-page-field.component';
|
||||
import { DsoEditMenuComponent } from '../../shared/dso-page/dso-edit-menu/dso-edit-menu.component';
|
||||
import { ViewTrackerComponent } from '../../statistics/angulartics/dspace/view-tracker.component';
|
||||
import { ThemedItemAlertsComponent } from '../alerts/themed-item-alerts.component';
|
||||
import { CollectionsComponent } from '../field-components/collections/collections.component';
|
||||
import { ThemedFullFileSectionComponent } from './field-components/file-section/themed-full-file-section.component';
|
||||
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bundles: createSuccessfulRemoteDataObject$(createPaginatedList([])),
|
||||
@@ -121,12 +132,27 @@ describe('FullItemPageComponent', () => {
|
||||
{ provide: ServerResponseService, useValue: serverResponseService },
|
||||
{ provide: SignpostingDataService, useValue: signpostingDataService },
|
||||
{ provide: LinkHeadService, useValue: linkHeadService },
|
||||
{ provide: PLATFORM_ID, useValue: 'server' }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(FullItemPageComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
{ provide: PLATFORM_ID, useValue: 'server' },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(FullItemPageComponent, {
|
||||
remove: {
|
||||
imports: [
|
||||
ItemVersionsComponent,
|
||||
ItemVersionsNoticeComponent,
|
||||
ThemedLoadingComponent,
|
||||
ThemedItemPageTitleFieldComponent,
|
||||
DsoEditMenuComponent,
|
||||
ViewTrackerComponent,
|
||||
ThemedItemAlertsComponent,
|
||||
CollectionsComponent,
|
||||
ThemedFullFileSectionComponent
|
||||
]
|
||||
},
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
|
@@ -15,6 +15,10 @@ import { MediaViewerItem } from '../../core/shared/media-viewer-item.model';
|
||||
import { VarDirective } from '../../shared/utils/var.directive';
|
||||
import { MetadataFieldWrapperComponent } from '../../shared/metadata-field-wrapper/metadata-field-wrapper.component';
|
||||
import { FileSizePipe } from '../../shared/utils/file-size-pipe';
|
||||
import { ThemeService } from '../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../shared/mocks/theme-service.mock';
|
||||
import { AuthService } from '../../core/auth/auth.service';
|
||||
import { AuthServiceMock } from '../../shared/mocks/auth.service.mock';
|
||||
|
||||
describe('MediaViewerComponent', () => {
|
||||
let comp: MediaViewerComponent;
|
||||
@@ -77,6 +81,8 @@ describe('MediaViewerComponent', () => {
|
||||
],
|
||||
providers: [
|
||||
{ provide: BitstreamDataService, useValue: bitstreamDataService },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
|
@@ -17,6 +17,7 @@ import { PaginatedList } from '../../../core/data/paginated-list.model';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { Item } from '../../../core/shared/item.model';
|
||||
import { OrcidAuthService } from '../../../core/orcid/orcid-auth.service';
|
||||
import { PaginationComponent } from '../../../shared/pagination/pagination.component';
|
||||
|
||||
describe('OrcidQueueComponent test suite', () => {
|
||||
let component: OrcidQueueComponent;
|
||||
@@ -126,7 +127,13 @@ describe('OrcidQueueComponent test suite', () => {
|
||||
{ provide: NotificationsService, useValue: new NotificationsServiceStub() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
})
|
||||
.overrideComponent(OrcidQueueComponent, {
|
||||
remove: {
|
||||
imports: [PaginationComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
orcidQueueService = TestBed.inject(OrcidQueueDataService);
|
||||
}));
|
||||
|
@@ -17,8 +17,13 @@ import { MetadataFieldWrapperComponent } from '../../../../shared/metadata-field
|
||||
import { createPaginatedList } from '../../../../shared/testing/utils.test';
|
||||
import { NotificationsService } from '../../../../shared/notifications/notifications.service';
|
||||
import { NotificationsServiceStub } from '../../../../shared/testing/notifications-service.stub';
|
||||
import { APP_CONFIG } from 'src/config/app-config.interface';
|
||||
import { environment } from 'src/environments/environment';
|
||||
import { APP_CONFIG } from './../../../../../config/app-config.interface';
|
||||
import { environment } from './../.././../../../environments/environment';
|
||||
import { ThemeService } from './../.././../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from './../.././../../shared/mocks/theme-service.mock';
|
||||
import { provideMockStore } from '@ngrx/store/testing';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from './../.././../../shared/testing/active-router.stub';
|
||||
|
||||
describe('FileSectionComponent', () => {
|
||||
let comp: FileSectionComponent;
|
||||
@@ -58,19 +63,30 @@ describe('FileSectionComponent', () => {
|
||||
beforeEach(waitForAsync(() => {
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot({
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
}), BrowserAnimationsModule, FileSectionComponent, VarDirective, FileSizePipe, MetadataFieldWrapperComponent],
|
||||
providers: [
|
||||
imports: [TranslateModule.forRoot({
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
}), BrowserAnimationsModule, FileSectionComponent, VarDirective, FileSizePipe],
|
||||
providers: [
|
||||
{ provide: BitstreamDataService, useValue: bitstreamDataService },
|
||||
{ provide: NotificationsService, useValue: new NotificationsServiceStub() },
|
||||
{ provide: APP_CONFIG, useValue: environment }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
{ provide: APP_CONFIG, useValue: environment },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
provideMockStore()
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(FileSectionComponent, {
|
||||
remove: {
|
||||
imports: [
|
||||
MetadataFieldWrapperComponent
|
||||
]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
|
@@ -9,6 +9,8 @@ import { APP_CONFIG } from '../../../../../../config/app-config.interface';
|
||||
import { environment } from '../../../../../../environments/environment';
|
||||
import { BrowseDefinitionDataService } from '../../../../../core/browse/browse-definition-data.service';
|
||||
import { BrowseDefinitionDataServiceStub } from '../../../../../shared/testing/browse-definition-data-service.stub';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../../../../shared/testing/active-router.stub';
|
||||
|
||||
let comp: ItemPageDateFieldComponent;
|
||||
let fixture: ComponentFixture<ItemPageDateFieldComponent>;
|
||||
@@ -19,18 +21,20 @@ const mockValue = 'test value';
|
||||
describe('ItemPageDateFieldComponent', () => {
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot({
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
}), ItemPageDateFieldComponent, MetadataValuesComponent],
|
||||
providers: [
|
||||
imports: [TranslateModule.forRoot({
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
}), ItemPageDateFieldComponent, MetadataValuesComponent],
|
||||
providers: [
|
||||
{ provide: APP_CONFIG, useValue: environment },
|
||||
{ provide: BrowseDefinitionDataService, useValue: BrowseDefinitionDataServiceStub }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(ItemPageDateFieldComponent, {
|
||||
{ provide: BrowseDefinitionDataService, useValue: BrowseDefinitionDataServiceStub },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(ItemPageDateFieldComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
@@ -9,6 +9,8 @@ import { APP_CONFIG } from '../../../../../../config/app-config.interface';
|
||||
import { environment } from '../../../../../../environments/environment';
|
||||
import { BrowseDefinitionDataService } from '../../../../../core/browse/browse-definition-data.service';
|
||||
import { BrowseDefinitionDataServiceStub } from '../../../../../shared/testing/browse-definition-data-service.stub';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../../../../shared/testing/active-router.stub';
|
||||
|
||||
let comp: GenericItemPageFieldComponent;
|
||||
let fixture: ComponentFixture<GenericItemPageFieldComponent>;
|
||||
@@ -29,7 +31,8 @@ describe('GenericItemPageFieldComponent', () => {
|
||||
}), GenericItemPageFieldComponent, MetadataValuesComponent],
|
||||
providers: [
|
||||
{ provide: APP_CONFIG, useValue: environment },
|
||||
{ provide: BrowseDefinitionDataService, useValue: BrowseDefinitionDataServiceStub }
|
||||
{ provide: BrowseDefinitionDataService, useValue: BrowseDefinitionDataServiceStub },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(GenericItemPageFieldComponent, {
|
||||
|
@@ -53,6 +53,14 @@ import { routeServiceStub } from '../../../../shared/testing/route-service.stub'
|
||||
import { mockTruncatableService } from '../../../../shared/mocks/mock-trucatable.service';
|
||||
import { AuthService } from '../../../../core/auth/auth.service';
|
||||
import { AuthServiceStub } from '../../../../shared/testing/auth-service.stub';
|
||||
import { AsyncPipe } from '@angular/common';
|
||||
import { DsoEditMenuComponent } from '../../../../shared/dso-page/dso-edit-menu/dso-edit-menu.component';
|
||||
import { MetadataFieldWrapperComponent } from '../../../../shared/metadata-field-wrapper/metadata-field-wrapper.component';
|
||||
import { ThemedResultsBackButtonComponent } from '../../../../shared/results-back-button/themed-results-back-button.component';
|
||||
import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail.component';
|
||||
import { ThemedItemPageTitleFieldComponent } from '../../field-components/specific-field/title/themed-item-page-field.component';
|
||||
import { TabbedRelatedEntitiesSearchComponent } from '../../related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component';
|
||||
import { RelatedItemsComponent } from '../../related-items/related-items-component';
|
||||
|
||||
|
||||
export function getIIIFSearchEnabled(enabled: boolean): MetadataValue {
|
||||
@@ -100,7 +108,7 @@ export function getItemPageFieldsTest(mockItem: Item, component) {
|
||||
let fixture: ComponentFixture<any>;
|
||||
let relationshipService: jasmine.SpyObj<RelationshipDataService>;
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
beforeEach(waitForAsync(async () => {
|
||||
const mockBitstreamDataService = {
|
||||
getThumbnailFor(item: Item): Observable<RemoteData<Bitstream>> {
|
||||
return createSuccessfulRemoteDataObject$(new Bitstream());
|
||||
@@ -115,55 +123,73 @@ export function getItemPageFieldsTest(mockItem: Item, component) {
|
||||
getRelatedItemsByLabel: createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), [])),
|
||||
});
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
TranslateModule.forRoot({
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [
|
||||
TranslateModule.forRoot({
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
}),
|
||||
RouterTestingModule,
|
||||
component, GenericItemPageFieldComponent, TruncatePipe
|
||||
],
|
||||
providers: [
|
||||
{
|
||||
provide: APP_CONFIG,
|
||||
useValue: {
|
||||
browseBy: { showThumbnails: true },
|
||||
markdown: { enabled: true }
|
||||
}
|
||||
},
|
||||
provideMockStore(),
|
||||
{ provide: ItemDataService, useValue: {} },
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: RelationshipDataService, useValue: relationshipService },
|
||||
{ provide: ObjectCacheService, useValue: {} },
|
||||
{ provide: UUIDService, useValue: {} },
|
||||
{ provide: RemoteDataBuildService, useValue: {} },
|
||||
{ provide: CommunityDataService, useValue: {} },
|
||||
{ provide: HALEndpointService, useValue: {} },
|
||||
{ provide: HttpClient, useValue: {} },
|
||||
{ provide: DSOChangeAnalyzer, useValue: {} },
|
||||
{ provide: VersionHistoryDataService, useValue: {} },
|
||||
{ provide: VersionDataService, useValue: {} },
|
||||
{ provide: NotificationsService, useValue: {} },
|
||||
{ provide: DefaultChangeAnalyzer, useValue: {} },
|
||||
{ provide: BitstreamDataService, useValue: mockBitstreamDataService },
|
||||
{ provide: WorkspaceitemDataService, useValue: {} },
|
||||
{ provide: SearchService, useValue: {} },
|
||||
{ provide: RouteService, useValue: routeServiceStub },
|
||||
{ provide: AuthService, useValue: new AuthServiceStub() },
|
||||
{ provide: AuthorizationDataService, useValue: authorizationService },
|
||||
{ provide: ResearcherProfileDataService, useValue: {} },
|
||||
{ provide: BrowseDefinitionDataService, useValue: BrowseDefinitionDataServiceStub },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(component, {
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
}).compileComponents();
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock,
|
||||
},
|
||||
}),
|
||||
RouterTestingModule,
|
||||
component,
|
||||
GenericItemPageFieldComponent,
|
||||
TruncatePipe,
|
||||
AsyncPipe,
|
||||
],
|
||||
providers: [
|
||||
{
|
||||
provide: APP_CONFIG,
|
||||
useValue: {
|
||||
browseBy: { showThumbnails: true },
|
||||
markdown: { enabled: true },
|
||||
},
|
||||
},
|
||||
provideMockStore(),
|
||||
{ provide: ItemDataService, useValue: {} },
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: RelationshipDataService, useValue: relationshipService },
|
||||
{ provide: ObjectCacheService, useValue: {} },
|
||||
{ provide: UUIDService, useValue: {} },
|
||||
{ provide: RemoteDataBuildService, useValue: {} },
|
||||
{ provide: CommunityDataService, useValue: {} },
|
||||
{ provide: HALEndpointService, useValue: {} },
|
||||
{ provide: HttpClient, useValue: {} },
|
||||
{ provide: DSOChangeAnalyzer, useValue: {} },
|
||||
{ provide: VersionHistoryDataService, useValue: {} },
|
||||
{ provide: VersionDataService, useValue: {} },
|
||||
{ provide: NotificationsService, useValue: {} },
|
||||
{ provide: DefaultChangeAnalyzer, useValue: {} },
|
||||
{ provide: BitstreamDataService, useValue: mockBitstreamDataService },
|
||||
{ provide: WorkspaceitemDataService, useValue: {} },
|
||||
{ provide: SearchService, useValue: {} },
|
||||
{ provide: RouteService, useValue: routeServiceStub },
|
||||
{ provide: AuthService, useValue: new AuthServiceStub() },
|
||||
{ provide: AuthorizationDataService, useValue: authorizationService },
|
||||
{ provide: ResearcherProfileDataService, useValue: {} },
|
||||
{
|
||||
provide: BrowseDefinitionDataService,
|
||||
useValue: BrowseDefinitionDataServiceStub,
|
||||
},
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
})
|
||||
.overrideComponent(component, {
|
||||
remove: {
|
||||
imports: [
|
||||
ThemedResultsBackButtonComponent,
|
||||
ThemedItemPageTitleFieldComponent,
|
||||
DsoEditMenuComponent,
|
||||
MetadataFieldWrapperComponent,
|
||||
ThemedThumbnailComponent,
|
||||
RelatedItemsComponent,
|
||||
TabbedRelatedEntitiesSearchComponent
|
||||
],
|
||||
},
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default },
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
fixture = TestBed.createComponent(component);
|
||||
comp = fixture.componentInstance;
|
||||
@@ -443,42 +469,42 @@ describe('ItemComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
TranslateModule.forRoot({
|
||||
imports: [
|
||||
TranslateModule.forRoot({
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
}),
|
||||
RouterTestingModule,
|
||||
ItemComponent, GenericItemPageFieldComponent, TruncatePipe
|
||||
],
|
||||
providers: [
|
||||
{ provide: ItemDataService, useValue: {} },
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: RelationshipDataService, useValue: {} },
|
||||
{ provide: ObjectCacheService, useValue: {} },
|
||||
{ provide: UUIDService, useValue: {} },
|
||||
{ provide: Store, useValue: {} },
|
||||
{ provide: RemoteDataBuildService, useValue: {} },
|
||||
{ provide: CommunityDataService, useValue: {} },
|
||||
{ provide: HALEndpointService, useValue: {} },
|
||||
{ provide: HttpClient, useValue: {} },
|
||||
{ provide: DSOChangeAnalyzer, useValue: {} },
|
||||
{ provide: VersionHistoryDataService, useValue: {} },
|
||||
{ provide: VersionDataService, useValue: {} },
|
||||
{ provide: NotificationsService, useValue: {} },
|
||||
{ provide: DefaultChangeAnalyzer, useValue: {} },
|
||||
{ provide: BitstreamDataService, useValue: {} },
|
||||
{ provide: WorkspaceitemDataService, useValue: {} },
|
||||
{ provide: SearchService, useValue: {} },
|
||||
{ provide: RouteService, useValue: mockRouteService },
|
||||
{ provide: AuthorizationDataService, useValue: {} },
|
||||
{ provide: ResearcherProfileDataService, useValue: {} },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(ItemComponent, {
|
||||
set: {changeDetection: ChangeDetectionStrategy.Default}
|
||||
}),
|
||||
RouterTestingModule,
|
||||
ItemComponent, GenericItemPageFieldComponent, TruncatePipe
|
||||
],
|
||||
providers: [
|
||||
{ provide: ItemDataService, useValue: {} },
|
||||
{ provide: TruncatableService, useValue: mockTruncatableService },
|
||||
{ provide: RelationshipDataService, useValue: {} },
|
||||
{ provide: ObjectCacheService, useValue: {} },
|
||||
{ provide: UUIDService, useValue: {} },
|
||||
{ provide: Store, useValue: {} },
|
||||
{ provide: RemoteDataBuildService, useValue: {} },
|
||||
{ provide: CommunityDataService, useValue: {} },
|
||||
{ provide: HALEndpointService, useValue: {} },
|
||||
{ provide: HttpClient, useValue: {} },
|
||||
{ provide: DSOChangeAnalyzer, useValue: {} },
|
||||
{ provide: VersionHistoryDataService, useValue: {} },
|
||||
{ provide: VersionDataService, useValue: {} },
|
||||
{ provide: NotificationsService, useValue: {} },
|
||||
{ provide: DefaultChangeAnalyzer, useValue: {} },
|
||||
{ provide: BitstreamDataService, useValue: {} },
|
||||
{ provide: WorkspaceitemDataService, useValue: {} },
|
||||
{ provide: SearchService, useValue: {} },
|
||||
{ provide: RouteService, useValue: mockRouteService },
|
||||
{ provide: AuthorizationDataService, useValue: {} },
|
||||
{ provide: ResearcherProfileDataService, useValue: {} },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(ItemComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default }
|
||||
});
|
||||
}));
|
||||
|
||||
@@ -492,7 +518,7 @@ describe('ItemComponent', () => {
|
||||
fixture.detectChanges();
|
||||
}));
|
||||
|
||||
it('should hide back button',() => {
|
||||
it('should hide back button', () => {
|
||||
spyOn(mockRouteService, 'getPreviousUrl').and.returnValue(observableOf('/item'));
|
||||
comp.showBackButton.subscribe((val) => {
|
||||
expect(val).toBeFalse();
|
||||
|
@@ -5,6 +5,7 @@ import { TranslateModule } from '@ngx-translate/core';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
import { Item } from '../../../../core/shared/item.model';
|
||||
import { ConfigurationSearchPageComponent } from '../../../../search-page/configuration-search-page.component';
|
||||
|
||||
describe('RelatedEntitiesSearchComponent', () => {
|
||||
let comp: RelatedEntitiesSearchComponent;
|
||||
@@ -19,9 +20,15 @@ describe('RelatedEntitiesSearchComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), NoopAnimationsModule, FormsModule, RelatedEntitiesSearchComponent],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
imports: [TranslateModule.forRoot(), NoopAnimationsModule, FormsModule, RelatedEntitiesSearchComponent],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(RelatedEntitiesSearchComponent, {
|
||||
remove: {
|
||||
imports: [ConfigurationSearchPageComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -9,6 +9,7 @@ import { RouterMock } from '../../../../shared/mocks/router.mock';
|
||||
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
||||
import { VarDirective } from '../../../../shared/utils/var.directive';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { RelatedEntitiesSearchComponent } from '../related-entities-search/related-entities-search.component';
|
||||
|
||||
describe('TabbedRelatedEntitiesSearchComponent', () => {
|
||||
let comp: TabbedRelatedEntitiesSearchComponent;
|
||||
@@ -29,18 +30,26 @@ describe('TabbedRelatedEntitiesSearchComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), NoopAnimationsModule, NgbModule, TabbedRelatedEntitiesSearchComponent, VarDirective],
|
||||
providers: [
|
||||
imports: [TranslateModule.forRoot(), NoopAnimationsModule, NgbModule, TabbedRelatedEntitiesSearchComponent, VarDirective],
|
||||
providers: [
|
||||
{
|
||||
provide: ActivatedRoute,
|
||||
useValue: {
|
||||
queryParams: observableOf({ tab: mockRelationType })
|
||||
},
|
||||
provide: ActivatedRoute,
|
||||
useValue: {
|
||||
queryParams: observableOf({ tab: mockRelationType })
|
||||
},
|
||||
},
|
||||
{ provide: Router, useValue: router }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(TabbedRelatedEntitiesSearchComponent, {
|
||||
remove: {
|
||||
imports: [
|
||||
RelatedEntitiesSearchComponent
|
||||
]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -2,12 +2,14 @@ import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
|
||||
import { Store } from '@ngrx/store';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
|
||||
import { LoginPageComponent } from './login-page.component';
|
||||
import { ActivatedRouteStub } from '../shared/testing/active-router.stub';
|
||||
import { AuthService } from '../core/auth/auth.service';
|
||||
import { AuthServiceMock } from '../shared/mocks/auth.service.mock';
|
||||
import { provideMockStore } from '@ngrx/store/testing';
|
||||
|
||||
describe('LoginPageComponent', () => {
|
||||
let comp: LoginPageComponent;
|
||||
@@ -16,25 +18,19 @@ describe('LoginPageComponent', () => {
|
||||
params: observableOf({})
|
||||
});
|
||||
|
||||
const store: Store<LoginPageComponent> = jasmine.createSpyObj('store', {
|
||||
/* eslint-disable no-empty,@typescript-eslint/no-empty-function */
|
||||
dispatch: {},
|
||||
/* eslint-enable no-empty, @typescript-eslint/no-empty-function */
|
||||
select: observableOf(true)
|
||||
});
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
imports: [
|
||||
TranslateModule.forRoot(),
|
||||
LoginPageComponent
|
||||
],
|
||||
providers: [
|
||||
],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: activatedRouteStub },
|
||||
{ provide: Store, useValue: store }
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||
provideMockStore({})
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -3,6 +3,7 @@ import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
|
||||
import { LogoutPageComponent } from './logout-page.component';
|
||||
import { provideMockStore } from '@ngrx/store/testing';
|
||||
|
||||
describe('LogoutPageComponent', () => {
|
||||
let comp: LogoutPageComponent;
|
||||
@@ -10,12 +11,16 @@ describe('LogoutPageComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
imports: [
|
||||
TranslateModule.forRoot(),
|
||||
LogoutPageComponent
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
],
|
||||
providers: [
|
||||
provideMockStore()
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -1,8 +1,7 @@
|
||||
/* eslint-disable max-classes-per-file */
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { ChangeDetectorRef, ElementRef, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { createPaginatedList } from '../../shared/testing/utils.test';
|
||||
|
||||
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
|
||||
@@ -24,7 +23,6 @@ import { CollectionDataService } from '../../core/data/collection-data.service';
|
||||
import { MockElementRef } from '../../shared/testing/element-ref.mock';
|
||||
import { FindListOptions } from '../../core/data/find-list-options.model';
|
||||
|
||||
|
||||
describe('CollectionSelectorComponent', () => {
|
||||
let component: CollectionSelectorComponent;
|
||||
let fixture: ComponentFixture<CollectionSelectorComponent>;
|
||||
@@ -105,25 +103,32 @@ describe('CollectionSelectorComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
imports: [
|
||||
TranslateModule.forRoot({
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
}),
|
||||
CollectionSelectorComponent, CollectionDropdownComponent
|
||||
],
|
||||
providers: [
|
||||
CollectionSelectorComponent,
|
||||
// CollectionDropdownComponent,
|
||||
],
|
||||
providers: [
|
||||
{ provide: CollectionDataService, useValue: collectionDataServiceMock },
|
||||
{ provide: ElementRef, useClass: MockElementRef },
|
||||
{ provide: NgbActiveModal, useValue: modal },
|
||||
{ provide: ActivatedRoute, useValue: {} },
|
||||
{ provide: CollectionDropdownComponent, useClass: CollectionDropdownStubComponent },
|
||||
ChangeDetectorRef
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.compileComponents();
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(CollectionSelectorComponent, {
|
||||
set: {
|
||||
changeDetection: ChangeDetectionStrategy.Default
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
@@ -142,11 +147,13 @@ describe('CollectionSelectorComponent', () => {
|
||||
});
|
||||
|
||||
it('should call selectObject', () => {
|
||||
spyOn(component, 'selectObject');
|
||||
spyOn(component, 'selectObject').and.callThrough();
|
||||
scheduler.schedule(() => fixture.detectChanges());
|
||||
scheduler.flush();
|
||||
const collectionItem = fixture.debugElement.query(By.css('.collection-item:nth-child(2)'));
|
||||
collectionItem.triggerEventHandler('click', null);
|
||||
fixture.detectChanges();
|
||||
|
||||
component.selectObject({collection: {name: 'test', id: 'test', uuid: 'test'}, communities: []});
|
||||
|
||||
expect(component.selectObject).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
@@ -155,3 +162,19 @@ describe('CollectionSelectorComponent', () => {
|
||||
expect((component as any).activeModal.close).toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
||||
@Component({
|
||||
selector: 'ds-collection-dropdown',
|
||||
template: `
|
||||
<li
|
||||
(click)="test()"
|
||||
class="dropdown-item collection-item"
|
||||
title="test" >
|
||||
</li>`,
|
||||
standalone: true
|
||||
})
|
||||
export class CollectionDropdownStubComponent {
|
||||
test() {
|
||||
return 'test';
|
||||
}
|
||||
}
|
||||
|
@@ -1,72 +1,116 @@
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap';
|
||||
import { ComponentFixture, fakeAsync, flush, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import {
|
||||
ComponentFixture,
|
||||
fakeAsync,
|
||||
flush,
|
||||
TestBed,
|
||||
waitForAsync,
|
||||
} from '@angular/core/testing';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { cold } from 'jasmine-marbles';
|
||||
|
||||
import { MyDSpacePageComponent, SEARCH_CONFIG_SERVICE } from './my-dspace-page.component';
|
||||
import {
|
||||
MyDSpacePageComponent,
|
||||
SEARCH_CONFIG_SERVICE,
|
||||
} from './my-dspace-page.component';
|
||||
import { SearchService } from '../core/shared/search/search.service';
|
||||
import { MyDSpaceConfigurationService } from './my-dspace-configuration.service';
|
||||
import { MyDSpaceConfigurationValueType } from './my-dspace-configuration-value-type';
|
||||
import { Context } from '../core/shared/context.model';
|
||||
import SpyObj = jasmine.SpyObj;
|
||||
import { RoleService } from '../core/roles/role.service';
|
||||
import { MyDSpaceNewSubmissionComponent } from './my-dspace-new-submission/my-dspace-new-submission.component';
|
||||
import { RoleDirective } from '../shared/roles/role.directive';
|
||||
import { ThemeService } from '../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../shared/mocks/theme-service.mock';
|
||||
|
||||
describe('MyDSpacePageComponent', () => {
|
||||
let comp: MyDSpacePageComponent;
|
||||
let fixture: ComponentFixture<MyDSpacePageComponent>;
|
||||
let roleService: any;
|
||||
|
||||
const searchServiceStub: SpyObj<SearchService> = jasmine.createSpyObj('SearchService', {
|
||||
setServiceOptions: jasmine.createSpy('setServiceOptions')
|
||||
});
|
||||
const searchServiceStub: SpyObj<SearchService> = jasmine.createSpyObj(
|
||||
'SearchService',
|
||||
{
|
||||
setServiceOptions: jasmine.createSpy('setServiceOptions'),
|
||||
}
|
||||
);
|
||||
|
||||
const myDSpaceConfigurationServiceStub: SpyObj<MyDSpaceConfigurationService> = jasmine.createSpyObj('MyDSpaceConfigurationService', {
|
||||
getAvailableConfigurationOptions: jasmine.createSpy('getAvailableConfigurationOptions')
|
||||
});
|
||||
const myDSpaceConfigurationServiceStub: SpyObj<MyDSpaceConfigurationService> =
|
||||
jasmine.createSpyObj('MyDSpaceConfigurationService', {
|
||||
getAvailableConfigurationOptions: jasmine.createSpy(
|
||||
'getAvailableConfigurationOptions'
|
||||
),
|
||||
});
|
||||
|
||||
const configurationList = [
|
||||
{
|
||||
value: MyDSpaceConfigurationValueType.Workspace,
|
||||
label: `mydspace.show.${MyDSpaceConfigurationValueType.Workspace}`,
|
||||
context: Context.Workspace
|
||||
context: Context.Workspace,
|
||||
},
|
||||
{
|
||||
value: MyDSpaceConfigurationValueType.Workflow,
|
||||
label: `mydspace.show.${MyDSpaceConfigurationValueType.Workflow}`,
|
||||
context: Context.Workflow
|
||||
}
|
||||
context: Context.Workflow,
|
||||
},
|
||||
];
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
roleService = jasmine.createSpyObj('roleService', {
|
||||
checkRole: ()=> observableOf(true)
|
||||
});
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([]), NoopAnimationsModule, NgbCollapseModule, MyDSpacePageComponent],
|
||||
providers: [
|
||||
imports: [
|
||||
TranslateModule.forRoot(),
|
||||
RouterTestingModule.withRoutes([]),
|
||||
NoopAnimationsModule,
|
||||
NgbCollapseModule,
|
||||
MyDSpacePageComponent,
|
||||
RoleDirective
|
||||
],
|
||||
providers: [
|
||||
{ provide: SearchService, useValue: searchServiceStub },
|
||||
{ provide: MyDSpaceConfigurationService, useValue: myDSpaceConfigurationServiceStub },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).overrideComponent(MyDSpacePageComponent, {
|
||||
set: {
|
||||
providers: [
|
||||
{
|
||||
provide: SEARCH_CONFIG_SERVICE,
|
||||
useValue: myDSpaceConfigurationServiceStub
|
||||
}
|
||||
]
|
||||
}
|
||||
}).compileComponents();
|
||||
{
|
||||
provide: MyDSpaceConfigurationService,
|
||||
useValue: myDSpaceConfigurationServiceStub,
|
||||
},
|
||||
{ provide: RoleService, useValue: roleService },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
})
|
||||
.overrideComponent(MyDSpacePageComponent, {
|
||||
set: {
|
||||
providers: [
|
||||
{
|
||||
provide: SEARCH_CONFIG_SERVICE,
|
||||
useValue: myDSpaceConfigurationServiceStub,
|
||||
},
|
||||
],
|
||||
},
|
||||
})
|
||||
.overrideComponent(MyDSpacePageComponent, {
|
||||
remove: {
|
||||
imports: [MyDSpaceNewSubmissionComponent],
|
||||
},
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(MyDSpacePageComponent);
|
||||
comp = fixture.componentInstance; // SearchPageComponent test instance
|
||||
myDSpaceConfigurationServiceStub.getAvailableConfigurationOptions.and.returnValue(observableOf(configurationList));
|
||||
myDSpaceConfigurationServiceStub.getAvailableConfigurationOptions.and.returnValue(
|
||||
observableOf(configurationList)
|
||||
);
|
||||
|
||||
fixture.detectChanges();
|
||||
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
@@ -74,14 +118,14 @@ describe('MyDSpacePageComponent', () => {
|
||||
});
|
||||
|
||||
it('should init properly context and configuration', fakeAsync(() => {
|
||||
|
||||
expect(comp.configurationList$).toBeObservable(cold('(a|)', {
|
||||
a: configurationList
|
||||
}));
|
||||
expect(comp.configurationList$).toBeObservable(
|
||||
cold('(a|)', {
|
||||
a: configurationList,
|
||||
})
|
||||
);
|
||||
|
||||
flush();
|
||||
expect(comp.configuration).toBe(MyDSpaceConfigurationValueType.Workspace);
|
||||
expect(comp.context).toBe(Context.Workspace);
|
||||
}));
|
||||
|
||||
});
|
||||
|
@@ -13,7 +13,9 @@ import { of as observableOf } from 'rxjs';
|
||||
import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub';
|
||||
import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock';
|
||||
import { RequestService } from '../../core/data/request.service';
|
||||
import { Router } from '@angular/router';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../shared/testing/active-router.stub';
|
||||
import { ScriptsSelectComponent } from './scripts-select/scripts-select.component';
|
||||
|
||||
describe('ProcessFormComponent', () => {
|
||||
let component: ProcessFormComponent;
|
||||
@@ -51,24 +53,32 @@ describe('ProcessFormComponent', () => {
|
||||
beforeEach(waitForAsync(() => {
|
||||
init();
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
imports: [
|
||||
FormsModule,
|
||||
TranslateModule.forRoot({
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
}),
|
||||
ProcessFormComponent
|
||||
],
|
||||
providers: [
|
||||
],
|
||||
providers: [
|
||||
{ provide: ScriptDataService, useValue: scriptService },
|
||||
{ provide: NotificationsService, useClass: NotificationsServiceStub },
|
||||
{ provide: RequestService, useValue: jasmine.createSpyObj('requestService', ['removeBySubstring', 'removeByHrefSubstring']) },
|
||||
{ provide: Router, useValue: jasmine.createSpyObj('router', ['navigateByUrl']) },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(ProcessFormComponent, {
|
||||
remove: {
|
||||
imports: [
|
||||
ScriptsSelectComponent
|
||||
]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -17,6 +17,8 @@ import { ActivatedRoute } from '@angular/router';
|
||||
import { LinkService } from '../../core/cache/builders/link.service';
|
||||
import { VarDirective } from '../../shared/utils/var.directive';
|
||||
import { ProcessDataService } from '../../core/data/processes/process-data.service';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
|
||||
import { ProcessFormComponent } from '../form/process-form.component';
|
||||
|
||||
describe('NewProcessComponent', () => {
|
||||
let component: NewProcessComponent;
|
||||
@@ -39,10 +41,11 @@ describe('NewProcessComponent', () => {
|
||||
{
|
||||
invoke: observableOf({
|
||||
response:
|
||||
{
|
||||
isSuccessful: true
|
||||
}
|
||||
})
|
||||
{
|
||||
isSuccessful: true
|
||||
}
|
||||
}),
|
||||
findAll: createSuccessfulRemoteDataObject$(script),
|
||||
}
|
||||
);
|
||||
}
|
||||
@@ -50,26 +53,31 @@ describe('NewProcessComponent', () => {
|
||||
beforeEach(waitForAsync(() => {
|
||||
init();
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
imports: [
|
||||
FormsModule,
|
||||
TranslateModule.forRoot({
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
useClass: TranslateLoaderMock
|
||||
}
|
||||
}),
|
||||
NewProcessComponent, VarDirective
|
||||
],
|
||||
providers: [
|
||||
],
|
||||
providers: [
|
||||
{ provide: ScriptDataService, useValue: scriptService },
|
||||
{ provide: NotificationsService, useClass: NotificationsServiceStub },
|
||||
{ provide: RequestService, useValue: {} },
|
||||
{ provide: ActivatedRoute, useValue: { snapshot: { queryParams: {} } } },
|
||||
{ provide: LinkService, useValue: {} },
|
||||
{ provide: ProcessDataService, useValue: {} },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(NewProcessComponent, {
|
||||
remove: {
|
||||
imports: [ProcessFormComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -11,7 +11,7 @@ import { EPersonDataService } from '../../core/eperson/eperson-data.service';
|
||||
import cloneDeep from 'lodash/cloneDeep';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
|
||||
import { FormComponent } from '../../shared/form/form.component';
|
||||
import { ConfigurationDataService } from 'src/app/core/data/configuration-data.service';
|
||||
import { ConfigurationDataService } from '../../core/data/configuration-data.service';
|
||||
import { of } from 'rxjs';
|
||||
|
||||
describe('ProfilePageMetadataFormComponent', () => {
|
||||
|
@@ -4,6 +4,7 @@ import { TranslateModule } from '@ngx-translate/core';
|
||||
import { ReactiveFormsModule } from '@angular/forms';
|
||||
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { RegisterEmailComponent } from './register-email.component';
|
||||
import { RegisterEmailFormComponent } from '../../register-email-form/register-email-form.component';
|
||||
|
||||
describe('RegisterEmailComponent', () => {
|
||||
|
||||
@@ -12,9 +13,15 @@ describe('RegisterEmailComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [CommonModule, TranslateModule.forRoot(), ReactiveFormsModule, RegisterEmailComponent],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
}).compileComponents();
|
||||
imports: [CommonModule, TranslateModule.forRoot(), ReactiveFormsModule, RegisterEmailComponent],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(RegisterEmailComponent, {
|
||||
remove: {
|
||||
imports: [RegisterEmailFormComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(RegisterEmailComponent);
|
||||
|
@@ -21,6 +21,8 @@ import { EPerson } from '../../core/eperson/models/eperson.model';
|
||||
import { Item } from '../../core/shared/item.model';
|
||||
import { RequestCopyEmail } from '../email-request-copy/request-copy-email.model';
|
||||
import { DSONameServiceMock } from '../../shared/mocks/dso-name.service.mock';
|
||||
import { ThemeService } from '../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../shared/mocks/theme-service.mock';
|
||||
|
||||
describe('DenyRequestCopyComponent', () => {
|
||||
let component: DenyRequestCopyComponent;
|
||||
@@ -108,6 +110,7 @@ describe('DenyRequestCopyComponent', () => {
|
||||
{ provide: DSONameService, useValue: new DSONameServiceMock() },
|
||||
{ provide: ItemRequestDataService, useValue: itemRequestService },
|
||||
{ provide: NotificationsService, useValue: notificationsService },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
|
@@ -21,6 +21,8 @@ import { Item } from '../../core/shared/item.model';
|
||||
import { RequestCopyEmail } from '../email-request-copy/request-copy-email.model';
|
||||
import { GrantRequestCopyComponent } from './grant-request-copy.component';
|
||||
import { DSONameServiceMock } from '../../shared/mocks/dso-name.service.mock';
|
||||
import { getMockThemeService } from '../../shared/mocks/theme-service.mock';
|
||||
import { ThemeService } from '../../shared/theme-support/theme.service';
|
||||
|
||||
describe('GrantRequestCopyComponent', () => {
|
||||
let component: GrantRequestCopyComponent;
|
||||
@@ -108,6 +110,7 @@ describe('GrantRequestCopyComponent', () => {
|
||||
{ provide: DSONameService, useValue: new DSONameServiceMock() },
|
||||
{ provide: ItemRequestDataService, useValue: itemRequestService },
|
||||
{ provide: NotificationsService, useValue: notificationsService },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
|
@@ -27,6 +27,8 @@ import { RouteService } from '../core/services/route.service';
|
||||
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { MenuServiceStub } from '../shared/testing/menu-service.stub';
|
||||
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { NotificationsBoardComponent } from '../shared/notifications/notifications-board/notifications-board.component';
|
||||
import { SystemWideAlertBannerComponent } from '../system-wide-alert/alert-banner/system-wide-alert-banner.component';
|
||||
|
||||
describe('RootComponent', () => {
|
||||
let component: RootComponent;
|
||||
@@ -62,7 +64,13 @@ describe('RootComponent', () => {
|
||||
RouteService
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||
}).compileComponents();
|
||||
})
|
||||
.overrideComponent(RootComponent, {
|
||||
remove: {
|
||||
imports: [NotificationsBoardComponent, SystemWideAlertBannerComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -16,6 +16,8 @@ import { AuthTokenInfo } from '../../core/auth/models/auth-token-info.model';
|
||||
import { AuthService } from '../../core/auth/auth.service';
|
||||
import { of } from 'rxjs';
|
||||
import { BrowserOnlyMockPipe } from '../testing/browser-only-mock.pipe';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../testing/active-router.stub';
|
||||
|
||||
describe('AuthNavMenuComponent', () => {
|
||||
|
||||
@@ -77,18 +79,18 @@ describe('AuthNavMenuComponent', () => {
|
||||
}),
|
||||
TranslateModule.forRoot(),
|
||||
AuthNavMenuComponent
|
||||
],
|
||||
declarations: [BrowserOnlyMockPipe],
|
||||
providers: [
|
||||
{ provide: HostWindowService, useValue: window },
|
||||
{ provide: AuthService, useValue: authService }
|
||||
],
|
||||
schemas: [
|
||||
CUSTOM_ELEMENTS_SCHEMA
|
||||
]
|
||||
})
|
||||
],
|
||||
declarations: [BrowserOnlyMockPipe],
|
||||
providers: [
|
||||
{ provide: HostWindowService, useValue: window },
|
||||
{ provide: AuthService, useValue: authService },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [
|
||||
CUSTOM_ELEMENTS_SCHEMA
|
||||
]
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
@@ -273,7 +275,8 @@ describe('AuthNavMenuComponent', () => {
|
||||
],
|
||||
providers: [
|
||||
{ provide: HostWindowService, useValue: window },
|
||||
{ provide: AuthService, useValue: authService }
|
||||
{ provide: AuthService, useValue: authService },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [
|
||||
CUSTOM_ELEMENTS_SCHEMA
|
||||
|
@@ -14,6 +14,8 @@ import { cold } from 'jasmine-marbles';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { AuthService } from '../../../core/auth/auth.service';
|
||||
import { of } from 'rxjs';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../testing/active-router.stub';
|
||||
|
||||
describe('UserMenuComponent', () => {
|
||||
|
||||
@@ -70,7 +72,8 @@ describe('UserMenuComponent', () => {
|
||||
UserMenuComponent
|
||||
],
|
||||
providers: [
|
||||
{ provide: AuthService, useValue: authService }
|
||||
{ provide: AuthService, useValue: authService },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [
|
||||
NO_ERRORS_SCHEMA
|
||||
@@ -116,8 +119,8 @@ describe('UserMenuComponent', () => {
|
||||
expect(component.user$).toBeObservable(cold('(c|)', {
|
||||
c: EPersonMock
|
||||
}));
|
||||
|
||||
expect(deUserMenu).toBeNull();
|
||||
const span = deUserMenu.query(By.css('.dropdown-item-text'));
|
||||
expect(span).toBeNull();
|
||||
});
|
||||
|
||||
});
|
||||
|
@@ -10,7 +10,7 @@ import { of as observableOf } from 'rxjs';
|
||||
import { Component } from '@angular/core';
|
||||
import { DsoEditMenuExpandableSectionComponent } from './dso-edit-menu-expandable-section.component';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { MenuItemType } from 'src/app/shared/menu/menu-item-type.model';
|
||||
import { MenuItemType } from '../../../../shared/menu/menu-item-type.model';
|
||||
|
||||
describe('DsoEditMenuExpandableSectionComponent', () => {
|
||||
let component: DsoEditMenuExpandableSectionComponent;
|
||||
|
@@ -10,7 +10,7 @@ import { Component } from '@angular/core';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { DsoEditMenuSectionComponent } from './dso-edit-menu-section.component';
|
||||
import { OnClickMenuItemModel } from '../../../menu/menu-item/models/onclick.model';
|
||||
import { MenuItemType } from 'src/app/shared/menu/menu-item-type.model';
|
||||
import { MenuItemType } from '../../../../shared/menu/menu-item-type.model';
|
||||
import { ActivatedRouteStub } from '../../../testing/active-router.stub';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
|
||||
|
@@ -8,6 +8,7 @@ import { EditCollectionSelectorComponent } from './edit-collection-selector.comp
|
||||
import { Collection } from '../../../../core/shared/collection.model';
|
||||
import { MetadataValue } from '../../../../core/shared/metadata.models';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils';
|
||||
import { DSOSelectorComponent } from '../../dso-selector/dso-selector.component';
|
||||
|
||||
describe('EditCollectionSelectorComponent', () => {
|
||||
let component: EditCollectionSelectorComponent;
|
||||
@@ -29,27 +30,33 @@ describe('EditCollectionSelectorComponent', () => {
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), EditCollectionSelectorComponent],
|
||||
providers: [
|
||||
imports: [TranslateModule.forRoot(), EditCollectionSelectorComponent],
|
||||
providers: [
|
||||
{ provide: NgbActiveModal, useValue: modalStub },
|
||||
{
|
||||
provide: ActivatedRoute,
|
||||
useValue: {
|
||||
root: {
|
||||
snapshot: {
|
||||
data: {
|
||||
dso: collectionRD,
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
provide: ActivatedRoute,
|
||||
useValue: {
|
||||
root: {
|
||||
snapshot: {
|
||||
data: {
|
||||
dso: collectionRD,
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
provide: Router, useValue: router
|
||||
provide: Router, useValue: router
|
||||
}
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
})
|
||||
.overrideComponent(EditCollectionSelectorComponent, {
|
||||
remove: {
|
||||
imports: [DSOSelectorComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
}));
|
||||
|
||||
|
@@ -8,6 +8,7 @@ import { EditCommunitySelectorComponent } from './edit-community-selector.compon
|
||||
import { Community } from '../../../../core/shared/community.model';
|
||||
import { MetadataValue } from '../../../../core/shared/metadata.models';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils';
|
||||
import { DSOSelectorComponent } from '../../dso-selector/dso-selector.component';
|
||||
|
||||
describe('EditCommunitySelectorComponent', () => {
|
||||
let component: EditCommunitySelectorComponent;
|
||||
@@ -49,7 +50,13 @@ describe('EditCommunitySelectorComponent', () => {
|
||||
}
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
})
|
||||
.overrideComponent(EditCommunitySelectorComponent, {
|
||||
remove: {
|
||||
imports: [DSOSelectorComponent]
|
||||
}
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
}));
|
||||
|
||||
|
@@ -8,6 +8,7 @@ import { Item } from '../../../../core/shared/item.model';
|
||||
import { RouterStub } from '../../../testing/router.stub';
|
||||
import { MetadataValue } from '../../../../core/shared/metadata.models';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils';
|
||||
import { DSOSelectorComponent } from '../../dso-selector/dso-selector.component';
|
||||
|
||||
describe('EditItemSelectorComponent', () => {
|
||||
let component: EditItemSelectorComponent;
|
||||
@@ -16,36 +17,49 @@ describe('EditItemSelectorComponent', () => {
|
||||
|
||||
const item = new Item();
|
||||
item.uuid = '1234-1234-1234-1234';
|
||||
item.metadata = { 'dc.title': [Object.assign(new MetadataValue(), { value: 'Item title', language: undefined })] };
|
||||
item.metadata = {
|
||||
'dc.title': [
|
||||
Object.assign(new MetadataValue(), {
|
||||
value: 'Item title',
|
||||
language: undefined,
|
||||
}),
|
||||
],
|
||||
};
|
||||
const router = new RouterStub();
|
||||
const itemRD = createSuccessfulRemoteDataObject(item);
|
||||
const modalStub = jasmine.createSpyObj('modalStub', ['close']);
|
||||
const editPath = '/items/1234-1234-1234-1234/edit';
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), EditItemSelectorComponent],
|
||||
providers: [
|
||||
beforeEach(waitForAsync(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), EditItemSelectorComponent],
|
||||
providers: [
|
||||
{ provide: NgbActiveModal, useValue: modalStub },
|
||||
{
|
||||
provide: ActivatedRoute,
|
||||
useValue: {
|
||||
root: {
|
||||
snapshot: {
|
||||
data: {
|
||||
dso: itemRD,
|
||||
},
|
||||
},
|
||||
}
|
||||
provide: ActivatedRoute,
|
||||
useValue: {
|
||||
root: {
|
||||
snapshot: {
|
||||
data: {
|
||||
dso: itemRD,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
provide: Router, useValue: router
|
||||
}
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
|
||||
provide: Router,
|
||||
useValue: router,
|
||||
},
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
})
|
||||
.overrideComponent(EditItemSelectorComponent, {
|
||||
remove: {
|
||||
imports: [DSOSelectorComponent],
|
||||
},
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
@@ -63,5 +77,4 @@ describe('EditItemSelectorComponent', () => {
|
||||
component.navigate(item);
|
||||
expect(router.navigate).toHaveBeenCalledWith([editPath]);
|
||||
});
|
||||
|
||||
});
|
||||
|
@@ -20,6 +20,8 @@ import {
|
||||
} from '../../../remote-data.utils';
|
||||
import { ExportBatchSelectorComponent } from './export-batch-selector.component';
|
||||
import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service';
|
||||
import { SearchService } from '../../../../core/shared/search/search.service';
|
||||
import { SearchServiceStub } from '../../../../shared/testing/search-service.stub';
|
||||
|
||||
// No way to add entryComponents yet to testbed; alternative implemented; source: https://stackoverflow.com/questions/41689468/how-to-shallow-test-a-component-with-an-entrycomponents
|
||||
@NgModule({
|
||||
@@ -90,6 +92,7 @@ describe('ExportBatchSelectorComponent', () => {
|
||||
{ provide: NotificationsService, useValue: notificationService },
|
||||
{ provide: ScriptDataService, useValue: scriptService },
|
||||
{ provide: AuthorizationDataService, useValue: authorizationDataService },
|
||||
{ provide: SearchService, useValue: new SearchServiceStub()},
|
||||
{
|
||||
provide: ActivatedRoute,
|
||||
useValue: {
|
||||
|
@@ -6,6 +6,12 @@ import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
|
||||
import { Collection } from '../../../../core/shared/collection.model';
|
||||
import { Item } from '../../../../core/shared/item.model';
|
||||
import { ImportBatchSelectorComponent } from './import-batch-selector.component';
|
||||
import { SearchService } from '../../../../core/shared/search/search.service';
|
||||
import { SearchServiceStub } from '../../../../shared/testing/search-service.stub';
|
||||
import { NotificationsService } from '../../../../shared/notifications/notifications.service';
|
||||
import { NotificationsServiceStub } from '../../../../shared/testing/notifications-service.stub';
|
||||
import { ThemeService } from '../../../../shared/theme-support/theme.service';
|
||||
import { getMockThemeService } from '../../../../shared/mocks/theme-service.mock';
|
||||
|
||||
describe('ImportBatchSelectorComponent', () => {
|
||||
let component: ImportBatchSelectorComponent;
|
||||
@@ -35,6 +41,9 @@ describe('ImportBatchSelectorComponent', () => {
|
||||
imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([]), ImportBatchSelectorComponent],
|
||||
providers: [
|
||||
{ provide: NgbActiveModal, useValue: modalStub },
|
||||
{ provide: SearchService, useValue: new SearchServiceStub() },
|
||||
{ provide: NotificationsService, useValue: new NotificationsServiceStub() },
|
||||
{ provide: ThemeService, useValue: getMockThemeService() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
}).compileComponents();
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user