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