68405: More test fixes

This commit is contained in:
Marie Verdonck
2020-01-30 19:18:56 +01:00
committed by Art Lowel
parent fb153b7b13
commit be0158fc9c
15 changed files with 395 additions and 221 deletions

View File

@@ -1,15 +1,14 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { ActivatedRoute, Router } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';
import { CommonModule } from '@angular/common';
import { RouterTestingModule } from '@angular/router/testing';
import { NO_ERRORS_SCHEMA } from '@angular/core';
import { RouteService } from '../../core/services/route.service';
import { SharedModule } from '../../shared/shared.module';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { ActivatedRoute } from '@angular/router';
import { RouterTestingModule } from '@angular/router/testing';
import { TranslateModule } from '@ngx-translate/core';
import { of as observableOf } from 'rxjs';
import { NotificationsService } from '../../shared/notifications/notifications.service';
import { DeleteCommunityPageComponent } from './delete-community-page.component';
import { CommunityDataService } from '../../core/data/community-data.service';
import { NotificationsService } from '../../shared/notifications/notifications.service';
import { SharedModule } from '../../shared/shared.module';
import { DeleteCommunityPageComponent } from './delete-community-page.component';
describe('DeleteCommunityPageComponent', () => {
let comp: DeleteCommunityPageComponent;

View File

@@ -1,23 +1,22 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { CUSTOM_ELEMENTS_SCHEMA, DebugElement } from '@angular/core';
import { EditInPlaceFieldComponent } from './edit-in-place-field.component';
import { RegistryService } from '../../../../core/registry/registry.service';
import { ObjectUpdatesService } from '../../../../core/data/object-updates/object-updates.service';
import { of as observableOf } from 'rxjs';
import { RemoteData } from '../../../../core/data/remote-data';
import { PaginatedList } from '../../../../core/data/paginated-list';
import { By } from '@angular/platform-browser';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { FormsModule } from '@angular/forms';
import { SharedModule } from '../../../../shared/shared.module';
import { By } from '@angular/platform-browser';
import { TranslateModule } from '@ngx-translate/core';
import { getTestScheduler } from 'jasmine-marbles';
import { of as observableOf } from 'rxjs';
import { TestScheduler } from 'rxjs/testing';
import { FieldChangeType } from '../../../../core/data/object-updates/object-updates.actions';
import { TranslateModule } from '@ngx-translate/core';
import { MetadatumViewModel } from '../../../../core/shared/metadata.models';
import { MetadataSchema } from '../../../../core/metadata/metadata-schema.model';
import { ObjectUpdatesService } from '../../../../core/data/object-updates/object-updates.service';
import { PaginatedList } from '../../../../core/data/paginated-list';
import { MetadataField } from '../../../../core/metadata/metadata-field.model';
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
import { MetadataSchema } from '../../../../core/metadata/metadata-schema.model';
import { RegistryService } from '../../../../core/registry/registry.service';
import { MetadatumViewModel } from '../../../../core/shared/metadata.models';
import { InputSuggestion } from '../../../../shared/input-suggestions/input-suggestions.model';
import { SharedModule } from '../../../../shared/shared.module';
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
import { EditInPlaceFieldComponent } from './edit-in-place-field.component';
let comp: EditInPlaceFieldComponent;
let fixture: ComponentFixture<EditInPlaceFieldComponent>;

View File

@@ -1,3 +1,4 @@
// TODO Fix on complete test run
import * as deepFreeze from 'deep-freeze';
import { RestResponse } from '../cache/response.models';
import {
@@ -38,12 +39,12 @@ describe('requestReducer', () => {
deepFreeze(testState);
// TODO Fix
// it('should return the current state when no valid actions have been made', () => {
// const action = new NullAction();
// const newState = requestReducer(testState, action);
//
// expect(newState).toEqual(testState);
// });
it('should return the current state when no valid actions have been made', () => {
const action = new NullAction();
const newState = requestReducer(testState, action);
expect(newState).toEqual(testState);
});
it('should start with an empty state', () => {
const action = new NullAction();

View File

@@ -1,7 +1,9 @@
// TODO Fix on complete test run
import * as ngrx from '@ngrx/store';
import { ActionsSubject, Store } from '@ngrx/store';
import { cold, getTestScheduler, hot } from 'jasmine-marbles';
import { BehaviorSubject, EMPTY, of as observableOf } from 'rxjs';
import { TestScheduler } from 'rxjs/testing';
import { getMockObjectCacheService } from '../../shared/mocks/mock-object-cache.service';
import { defaultUUID, getMockUUIDService } from '../../shared/mocks/mock-uuid.service';
@@ -19,9 +21,8 @@ import {
PutRequest,
RestRequest
} from './request.models';
import { RequestService } from './request.service';
import { TestScheduler } from 'rxjs/testing';
import { RequestEntry } from './request.reducer';
import { RequestService } from './request.service';
describe('RequestService', () => {
let scheduler: TestScheduler;

View File

@@ -1,19 +1,34 @@
import { HttpClient } from '@angular/common/http';
import { ChangeDetectionStrategy, DebugElement, NO_ERRORS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { Store } from '@ngrx/store';
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
import { Observable } from 'rxjs/internal/Observable';
import { GenericItemPageFieldComponent } from '../../../../+item-page/simple/field-components/specific-field/generic/generic-item-page-field.component';
import { NormalizedObjectBuildService } from '../../../../core/cache/builders/normalized-object-build.service';
import { RemoteDataBuildService } from '../../../../core/cache/builders/remote-data-build.service';
import { ObjectCacheService } from '../../../../core/cache/object-cache.service';
import { BitstreamDataService } from '../../../../core/data/bitstream-data.service';
import { CommunityDataService } from '../../../../core/data/community-data.service';
import { DefaultChangeAnalyzer } from '../../../../core/data/default-change-analyzer.service';
import { DSOChangeAnalyzer } from '../../../../core/data/dso-change-analyzer.service';
import { ItemDataService } from '../../../../core/data/item-data.service';
import { PaginatedList } from '../../../../core/data/paginated-list';
import { RelationshipService } from '../../../../core/data/relationship.service';
import { RemoteData } from '../../../../core/data/remote-data';
import { Bitstream } from '../../../../core/shared/bitstream.model';
import { HALEndpointService } from '../../../../core/shared/hal-endpoint.service';
import { Item } from '../../../../core/shared/item.model';
import { PageInfo } from '../../../../core/shared/page-info.model';
import { UUIDService } from '../../../../core/shared/uuid.service';
import { isNotEmpty } from '../../../../shared/empty.util';
import { MockTranslateLoader } from '../../../../shared/mocks/mock-translate-loader';
import { NotificationsService } from '../../../../shared/notifications/notifications.service';
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
import { TruncatableService } from '../../../../shared/truncatable/truncatable.service';
import { TruncatePipe } from '../../../../shared/utils/truncate.pipe';
import { ItemDataService } from '../../../../core/data/item-data.service';
import { Item } from '../../../../core/shared/item.model';
import { By } from '@angular/platform-browser';
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
import { MockTranslateLoader } from '../../../../shared/mocks/mock-translate-loader';
import { PaginatedList } from '../../../../core/data/paginated-list';
import { PageInfo } from '../../../../core/shared/page-info.model';
import { isNotEmpty } from '../../../../shared/empty.util';
import { JournalComponent } from './journal.component';
import { GenericItemPageFieldComponent } from '../../../../+item-page/simple/field-components/specific-field/generic/generic-item-page-field.component';
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
import { RelationshipService } from '../../../../core/data/relationship.service';
let comp: JournalComponent;
let fixture: ComponentFixture<JournalComponent>;
@@ -43,6 +58,11 @@ const mockItem: Item = Object.assign(new Item(), {
});
describe('JournalComponent', () => {
const mockBitstreamDataService = {
getThumbnailFor(item: Item): Observable<RemoteData<Bitstream>> {
return createSuccessfulRemoteDataObject$(new Bitstream());
}
};
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [TranslateModule.forRoot({
@@ -55,7 +75,19 @@ describe('JournalComponent', () => {
providers: [
{ provide: ItemDataService, useValue: {} },
{ provide: TruncatableService, useValue: {} },
{provide: RelationshipService, useValue: {}}
{ provide: RelationshipService, useValue: {} },
{ provide: ObjectCacheService, useValue: {} },
{ provide: UUIDService, useValue: {} },
{ provide: Store, useValue: {} },
{ provide: RemoteDataBuildService, useValue: {} },
{ provide: NormalizedObjectBuildService, useValue: {} },
{ provide: CommunityDataService, useValue: {} },
{ provide: HALEndpointService, useValue: {} },
{ provide: HttpClient, useValue: {} },
{ provide: DSOChangeAnalyzer, useValue: {} },
{ provide: NotificationsService, useValue: {} },
{ provide: DefaultChangeAnalyzer, useValue: {} },
{ provide: BitstreamDataService, useValue: mockBitstreamDataService },
],
schemas: [NO_ERRORS_SCHEMA]

View File

@@ -1,14 +1,12 @@
import { Item } from '../../../../core/shared/item.model';
import { RemoteData } from '../../../../core/data/remote-data';
import { PaginatedList } from '../../../../core/data/paginated-list';
import { PageInfo } from '../../../../core/shared/page-info.model';
import { ProjectComponent } from './project.component';
import { of as observableOf } from 'rxjs';
import {
createRelationshipsObservable,
getItemPageFieldsTest
} from '../../../../+item-page/simple/item-types/shared/item.component.spec';
import { PaginatedList } from '../../../../core/data/paginated-list';
import { Item } from '../../../../core/shared/item.model';
import { PageInfo } from '../../../../core/shared/page-info.model';
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
import { ProjectComponent } from './project.component';
const mockItem: Item = Object.assign(new Item(), {
bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),

View File

@@ -1,21 +1,34 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { HttpClient } from '@angular/common/http';
import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { of as observableOf } from 'rxjs';
import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model';
import { OrgUnitSearchResultListSubmissionElementComponent } from './org-unit-search-result-list-submission-element.component';
import { Item } from '../../../../../core/shared/item.model';
import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe';
import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service';
import { RelationshipService } from '../../../../../core/data/relationship.service';
import { NotificationsService } from '../../../../../shared/notifications/notifications.service';
import { TranslateService } from '@ngx-translate/core';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { ItemDataService } from '../../../../../core/data/item-data.service';
import { SelectableListService } from '../../../../../shared/object-list/selectable-list/selectable-list.service';
import { Store } from '@ngrx/store';
import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/testing/utils';
import { TranslateService } from '@ngx-translate/core';
import { of as observableOf } from 'rxjs';
import { Observable } from 'rxjs/internal/Observable';
import { NormalizedObjectBuildService } from '../../../../../core/cache/builders/normalized-object-build.service';
import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service';
import { ObjectCacheService } from '../../../../../core/cache/object-cache.service';
import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service';
import { CommunityDataService } from '../../../../../core/data/community-data.service';
import { DefaultChangeAnalyzer } from '../../../../../core/data/default-change-analyzer.service';
import { DSOChangeAnalyzer } from '../../../../../core/data/dso-change-analyzer.service';
import { ItemDataService } from '../../../../../core/data/item-data.service';
import { PaginatedList } from '../../../../../core/data/paginated-list';
import { RelationshipService } from '../../../../../core/data/relationship.service';
import { RemoteData } from '../../../../../core/data/remote-data';
import { Bitstream } from '../../../../../core/shared/bitstream.model';
import { HALEndpointService } from '../../../../../core/shared/hal-endpoint.service';
import { Item } from '../../../../../core/shared/item.model';
import { UUIDService } from '../../../../../core/shared/uuid.service';
import { NotificationsService } from '../../../../../shared/notifications/notifications.service';
import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model';
import { SelectableListService } from '../../../../../shared/object-list/selectable-list/selectable-list.service';
import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/testing/utils';
import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service';
import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe';
import { OrgUnitSearchResultListSubmissionElementComponent } from './org-unit-search-result-list-submission-element.component';
let personListElementComponent: OrgUnitSearchResultListSubmissionElementComponent;
let fixture: ComponentFixture<OrgUnitSearchResultListSubmissionElementComponent>;
@@ -79,6 +92,11 @@ function init() {
describe('OrgUnitSearchResultListSubmissionElementComponent', () => {
beforeEach(async(() => {
init();
const mockBitstreamDataService = {
getThumbnailFor(item: Item): Observable<RemoteData<Bitstream>> {
return createSuccessfulRemoteDataObject$(new Bitstream());
}
};
TestBed.configureTestingModule({
declarations: [OrgUnitSearchResultListSubmissionElementComponent, TruncatePipe],
providers: [
@@ -89,7 +107,17 @@ describe('OrgUnitSearchResultListSubmissionElementComponent', () => {
{ provide: NgbModal, useValue: {} },
{ provide: ItemDataService, useValue: {} },
{ provide: SelectableListService, useValue: {} },
{ provide: Store, useValue: {} }
{ provide: Store, useValue: {} },
{ provide: ObjectCacheService, useValue: {} },
{ provide: UUIDService, useValue: {} },
{ provide: RemoteDataBuildService, useValue: {} },
{ provide: NormalizedObjectBuildService, useValue: {} },
{ provide: CommunityDataService, useValue: {} },
{ provide: HALEndpointService, useValue: {} },
{ provide: HttpClient, useValue: {} },
{ provide: DSOChangeAnalyzer, useValue: {} },
{ provide: DefaultChangeAnalyzer, useValue: {} },
{ provide: BitstreamDataService, useValue: mockBitstreamDataService },
],
schemas: [NO_ERRORS_SCHEMA]

View File

@@ -1,21 +1,34 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { HttpClient } from '@angular/common/http';
import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { of as observableOf } from 'rxjs';
import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model';
import { PersonSearchResultListSubmissionElementComponent } from './person-search-result-list-submission-element.component';
import { Item } from '../../../../../core/shared/item.model';
import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe';
import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service';
import { RelationshipService } from '../../../../../core/data/relationship.service';
import { NotificationsService } from '../../../../../shared/notifications/notifications.service';
import { TranslateService } from '@ngx-translate/core';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { ItemDataService } from '../../../../../core/data/item-data.service';
import { SelectableListService } from '../../../../../shared/object-list/selectable-list/selectable-list.service';
import { Store } from '@ngrx/store';
import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/testing/utils';
import { TranslateService } from '@ngx-translate/core';
import { of as observableOf } from 'rxjs';
import { Observable } from 'rxjs/internal/Observable';
import { NormalizedObjectBuildService } from '../../../../../core/cache/builders/normalized-object-build.service';
import { RemoteDataBuildService } from '../../../../../core/cache/builders/remote-data-build.service';
import { ObjectCacheService } from '../../../../../core/cache/object-cache.service';
import { BitstreamDataService } from '../../../../../core/data/bitstream-data.service';
import { CommunityDataService } from '../../../../../core/data/community-data.service';
import { DefaultChangeAnalyzer } from '../../../../../core/data/default-change-analyzer.service';
import { DSOChangeAnalyzer } from '../../../../../core/data/dso-change-analyzer.service';
import { ItemDataService } from '../../../../../core/data/item-data.service';
import { PaginatedList } from '../../../../../core/data/paginated-list';
import { RelationshipService } from '../../../../../core/data/relationship.service';
import { RemoteData } from '../../../../../core/data/remote-data';
import { Bitstream } from '../../../../../core/shared/bitstream.model';
import { HALEndpointService } from '../../../../../core/shared/hal-endpoint.service';
import { Item } from '../../../../../core/shared/item.model';
import { UUIDService } from '../../../../../core/shared/uuid.service';
import { NotificationsService } from '../../../../../shared/notifications/notifications.service';
import { ItemSearchResult } from '../../../../../shared/object-collection/shared/item-search-result.model';
import { SelectableListService } from '../../../../../shared/object-list/selectable-list/selectable-list.service';
import { createSuccessfulRemoteDataObject$ } from '../../../../../shared/testing/utils';
import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service';
import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe';
import { PersonSearchResultListSubmissionElementComponent } from './person-search-result-list-submission-element.component';
let personListElementComponent: PersonSearchResultListSubmissionElementComponent;
let fixture: ComponentFixture<PersonSearchResultListSubmissionElementComponent>;
@@ -71,6 +84,11 @@ function init() {
}
describe('PersonSearchResultListElementSubmissionComponent', () => {
const mockBitstreamDataService = {
getThumbnailFor(item: Item): Observable<RemoteData<Bitstream>> {
return createSuccessfulRemoteDataObject$(new Bitstream());
}
};
beforeEach(async(() => {
init();
TestBed.configureTestingModule({
@@ -83,7 +101,17 @@ describe('PersonSearchResultListElementSubmissionComponent', () => {
{ provide: NgbModal, useValue: {} },
{ provide: ItemDataService, useValue: {} },
{ provide: SelectableListService, useValue: {} },
{ provide: Store, useValue: {}}
{ provide: Store, useValue: {}},
{ provide: ObjectCacheService, useValue: {} },
{ provide: UUIDService, useValue: {} },
{ provide: RemoteDataBuildService, useValue: {} },
{ provide: NormalizedObjectBuildService, useValue: {} },
{ provide: CommunityDataService, useValue: {} },
{ provide: HALEndpointService, useValue: {} },
{ provide: HttpClient, useValue: {} },
{ provide: DSOChangeAnalyzer, useValue: {} },
{ provide: DefaultChangeAnalyzer, useValue: {} },
{ provide: BitstreamDataService, useValue: mockBitstreamDataService },
],
schemas: [NO_ERRORS_SCHEMA]

View File

@@ -1,15 +1,16 @@
import { SubmissionObjectState } from '../../submission/objects/submission-objects.reducer';
import { SubmissionDefinitionsModel } from '../../core/config/models/config-submission-definitions.model';
import { PaginatedList } from '../../core/data/paginated-list';
import { PageInfo } from '../../core/shared/page-info.model';
import { FormFieldMetadataValueObject } from '../form/builder/models/form-field-metadata-value.model';
import { Group } from '../../core/eperson/models/group.model';
import { PageInfo } from '../../core/shared/page-info.model';
import { SubmissionObjectState } from '../../submission/objects/submission-objects.reducer';
import { FormFieldMetadataValueObject } from '../form/builder/models/form-field-metadata-value.model';
export const mockSectionsData = {
traditionalpageone: {
'dc.title': [
new FormFieldMetadataValueObject('test', null, null, 'test')
]},
]
},
license: {
url: null,
acceptanceDate: null,
@@ -24,11 +25,13 @@ export const mockSectionsDataTwo = {
traditionalpageone: {
'dc.title': [
new FormFieldMetadataValueObject('test', null, null, 'test')
]},
]
},
traditionalpagetwo: {
'dc.relation': [
new FormFieldMetadataValueObject('test', null, null, 'test')
]},
]
},
license: {
url: null,
acceptanceDate: null,
@@ -131,9 +134,9 @@ export const mockSubmissionRestResponse = [
name: null,
metadata: [],
_links: {
content: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425/content',
format: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425/format',
self: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425'
content: { href: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425/content' },
format: { href: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425/format' },
self: { href: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425' }
}
}
],
@@ -180,10 +183,10 @@ export const mockSubmissionRestResponse = [
}
],
_links: {
license: 'https://rest.api/dspace-spring-rest/api/core/collections/1c11f3f1-ba1f-4f36-908a-3f1ea9a557eb/license',
defaultAccessConditions: 'https://rest.api/dspace-spring-rest/api/core/collections/1c11f3f1-ba1f-4f36-908a-3f1ea9a557eb/defaultAccessConditions',
logo: 'https://rest.api/dspace-spring-rest/api/core/collections/1c11f3f1-ba1f-4f36-908a-3f1ea9a557eb/logo',
self: 'https://rest.api/dspace-spring-rest/api/core/collections/1c11f3f1-ba1f-4f36-908a-3f1ea9a557eb'
license: { href: 'https://rest.api/dspace-spring-rest/api/core/collections/1c11f3f1-ba1f-4f36-908a-3f1ea9a557eb/license' },
defaultAccessConditions: { href: 'https://rest.api/dspace-spring-rest/api/core/collections/1c11f3f1-ba1f-4f36-908a-3f1ea9a557eb/defaultAccessConditions' },
logo: { href: 'https://rest.api/dspace-spring-rest/api/core/collections/1c11f3f1-ba1f-4f36-908a-3f1ea9a557eb/logo' },
self: { href: 'https://rest.api/dspace-spring-rest/api/core/collections/1c11f3f1-ba1f-4f36-908a-3f1ea9a557eb' }
}
}
],
@@ -202,10 +205,10 @@ export const mockSubmissionRestResponse = [
name: null,
metadata: [],
_links: {
bitstreams: 'https://rest.api/dspace-spring-rest/api/core/items/6f344222-6980-4738-8192-b808d79af8a5/bitstreams',
owningCollection: 'https://rest.api/dspace-spring-rest/api/core/items/6f344222-6980-4738-8192-b808d79af8a5/owningCollection',
templateItemOf: 'https://rest.api/dspace-spring-rest/api/core/items/6f344222-6980-4738-8192-b808d79af8a5/templateItemOf',
self: 'https://rest.api/dspace-spring-rest/api/core/items/6f344222-6980-4738-8192-b808d79af8a5'
bitstreams: { href: 'https://rest.api/dspace-spring-rest/api/core/items/6f344222-6980-4738-8192-b808d79af8a5/bitstreams' },
owningCollection: { href: 'https://rest.api/dspace-spring-rest/api/core/items/6f344222-6980-4738-8192-b808d79af8a5/owningCollection' },
templateItemOf: { href: 'https://rest.api/dspace-spring-rest/api/core/items/6f344222-6980-4738-8192-b808d79af8a5/templateItemOf' },
self: { href: 'https://rest.api/dspace-spring-rest/api/core/items/6f344222-6980-4738-8192-b808d79af8a5' }
}
}
],
@@ -223,7 +226,8 @@ export const mockSubmissionRestResponse = [
},
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/extraction'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/extraction' },
config: ''
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/extraction'
},
@@ -236,7 +240,8 @@ export const mockSubmissionRestResponse = [
},
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/collection'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/collection' },
config: ''
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/collection'
},
@@ -246,8 +251,8 @@ export const mockSubmissionRestResponse = [
sectionType: 'submission-form',
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpageone',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpageone'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpageone' },
config: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpageone' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpageone'
},
@@ -257,8 +262,8 @@ export const mockSubmissionRestResponse = [
sectionType: 'submission-form',
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpagetwo',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpagetwo'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpagetwo' },
config: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpagetwo' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpagetwo'
},
@@ -268,8 +273,8 @@ export const mockSubmissionRestResponse = [
sectionType: 'upload',
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/upload',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionuploads/upload'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/upload' },
config: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionuploads/upload' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/upload'
},
@@ -283,7 +288,8 @@ export const mockSubmissionRestResponse = [
},
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/license'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/license' },
config: ''
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/license'
}
@@ -291,9 +297,9 @@ export const mockSubmissionRestResponse = [
name: 'traditional',
type: 'submissiondefinition',
_links: {
collections: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/collections',
sections: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/sections',
self: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional'
collections: { href: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/collections' },
sections: { href: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/sections' },
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional'
}
@@ -303,11 +309,11 @@ export const mockSubmissionRestResponse = [
self: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826',
type: 'workspaceitem',
_links: {
collection: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/collection',
item: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/item',
submissionDefinition: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/submissionDefinition',
submitter: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/submitter',
self: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826'
collection: { href: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/collection' },
item: { href: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/item' },
submissionDefinition: { href: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/submissionDefinition' },
submitter: { href: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/submitter' },
self: { href: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826' }
}
}
];
@@ -332,7 +338,7 @@ export const mockSubmissionObject = {
self: 'https://rest.api/dspace-spring-rest/api/authz/resourcePolicies/20',
type: 'resourcePolicy',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/authz/resourcePolicies/20'
self: { href: 'https://rest.api/dspace-spring-rest/api/authz/resourcePolicies/20' }
}
}
]
@@ -349,9 +355,9 @@ export const mockSubmissionObject = {
name: null,
metadata: [],
_links: {
content: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425/content',
format: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425/format',
self: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425'
content: { href: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425/content' },
format: { href: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425/format' },
self: { href: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425' }
}
},
self: 'https://rest.api/dspace-spring-rest/api/core/collections/1c11f3f1-ba1f-4f36-908a-3f1ea9a557eb',
@@ -397,10 +403,10 @@ export const mockSubmissionObject = {
}
],
_links: {
license: 'https://rest.api/dspace-spring-rest/api/core/collections/1c11f3f1-ba1f-4f36-908a-3f1ea9a557eb/license',
defaultAccessConditions: 'https://rest.api/dspace-spring-rest/api/core/collections/1c11f3f1-ba1f-4f36-908a-3f1ea9a557eb/defaultAccessConditions',
logo: 'https://rest.api/dspace-spring-rest/api/core/collections/1c11f3f1-ba1f-4f36-908a-3f1ea9a557eb/logo',
self: 'https://rest.api/dspace-spring-rest/api/core/collections/1c11f3f1-ba1f-4f36-908a-3f1ea9a557eb'
license: { href: 'https://rest.api/dspace-spring-rest/api/core/collections/1c11f3f1-ba1f-4f36-908a-3f1ea9a557eb/license' },
defaultAccessConditions: { href: 'https://rest.api/dspace-spring-rest/api/core/collections/1c11f3f1-ba1f-4f36-908a-3f1ea9a557eb/defaultAccessConditions' },
logo: { href: 'https://rest.api/dspace-spring-rest/api/core/collections/1c11f3f1-ba1f-4f36-908a-3f1ea9a557eb/logo' },
self: { href: 'https://rest.api/dspace-spring-rest/api/core/collections/1c11f3f1-ba1f-4f36-908a-3f1ea9a557eb' }
}
},
item: {
@@ -426,10 +432,10 @@ export const mockSubmissionObject = {
name: null,
metadata: [],
_links: {
bitstreams: 'https://rest.api/dspace-spring-rest/api/core/items/cae8af78-c874-4468-af79-e6c996aa8270/bitstreams',
owningCollection: 'https://rest.api/dspace-spring-rest/api/core/items/cae8af78-c874-4468-af79-e6c996aa8270/owningCollection',
templateItemOf: 'https://rest.api/dspace-spring-rest/api/core/items/cae8af78-c874-4468-af79-e6c996aa8270/templateItemOf',
self: 'https://rest.api/dspace-spring-rest/api/core/items/cae8af78-c874-4468-af79-e6c996aa8270'
bitstreams: { href: 'https://rest.api/dspace-spring-rest/api/core/items/cae8af78-c874-4468-af79-e6c996aa8270/bitstreams' },
owningCollection: { href: 'https://rest.api/dspace-spring-rest/api/core/items/cae8af78-c874-4468-af79-e6c996aa8270/owningCollection' },
templateItemOf: { href: 'https://rest.api/dspace-spring-rest/api/core/items/cae8af78-c874-4468-af79-e6c996aa8270/templateItemOf' },
self: { href: 'https://rest.api/dspace-spring-rest/api/core/items/cae8af78-c874-4468-af79-e6c996aa8270' }
}
},
submissionDefinition: {
@@ -451,7 +457,8 @@ export const mockSubmissionObject = {
},
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/collection'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/collection' },
config: ''
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/collection'
},
@@ -461,8 +468,8 @@ export const mockSubmissionObject = {
sectionType: 'submission-form',
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpageone',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpageone'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpageone' },
config: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpageone' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpageone'
},
@@ -472,8 +479,8 @@ export const mockSubmissionObject = {
sectionType: 'submission-form',
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpagetwo',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpagetwo'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpagetwo' },
config: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpagetwo' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpagetwo'
},
@@ -483,8 +490,8 @@ export const mockSubmissionObject = {
sectionType: 'upload',
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/upload',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionuploads/upload'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/upload' },
config: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionuploads/upload' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/upload'
},
@@ -498,7 +505,8 @@ export const mockSubmissionObject = {
},
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/license'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/license' },
config: ''
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/license'
}
@@ -507,9 +515,9 @@ export const mockSubmissionObject = {
name: 'traditional',
type: 'submissiondefinition',
_links: {
collections: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/collections',
sections: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/sections',
self: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional'
collections: { href: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/collections' },
sections: { href: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/sections' },
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional',
collections: {
@@ -549,7 +557,7 @@ export const mockSubmissionObject = {
}
],
_links: {
self: 'https://rest.api/dspace-spring-rest/api/eperson/epersons/99423c27-b642-5tg6-a9cd-6d910e68dca5'
self: { href: 'https://rest.api/dspace-spring-rest/api/eperson/epersons/99423c27-b642-5tg6-a9cd-6d910e68dca5' }
}
},
id: 826,
@@ -576,11 +584,11 @@ export const mockSubmissionObject = {
self: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826',
type: 'workspaceitem',
_links: {
collection: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/collection',
item: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/item',
submissionDefinition: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/submissionDefinition',
submitter: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/submitter',
self: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826'
collection: { href: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/collection' },
item: { href: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/item' },
submissionDefinition: { href: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/submissionDefinition' },
submitter: { href: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/submitter' },
self: { href: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826' }
}
};
@@ -604,7 +612,7 @@ export const mockSubmissionObjectNew = {
self: 'https://rest.api/dspace-spring-rest/api/authz/resourcePolicies/20',
type: 'resourcePolicy',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/authz/resourcePolicies/20'
self: { href: 'https://rest.api/dspace-spring-rest/api/authz/resourcePolicies/20' }
}
}
]
@@ -621,9 +629,9 @@ export const mockSubmissionObjectNew = {
name: null,
metadata: [],
_links: {
content: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425/content',
format: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425/format',
self: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425'
content: { href: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425/content' },
format: { href: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425/format' },
self: { href: 'https://rest.api/dspace-spring-rest/api/core/bitstreams/3f859425-ffbd-4b0e-bf91-bfeb458a7425' }
}
},
self: 'https://rest.api/dspace-spring-rest/api/core/collections/45f2f3f1-ba1f-4f36-908a-3f1ea9a557eb',
@@ -669,10 +677,10 @@ export const mockSubmissionObjectNew = {
}
],
_links: {
license: 'https://rest.api/dspace-spring-rest/api/core/collections/45f2f3f1-ba1f-4f36-908a-3f1ea9a557eb/license',
defaultAccessConditions: 'https://rest.api/dspace-spring-rest/api/core/collections/45f2f3f1-ba1f-4f36-908a-3f1ea9a557eb/defaultAccessConditions',
logo: 'https://rest.api/dspace-spring-rest/api/core/collections/45f2f3f1-ba1f-4f36-908a-3f1ea9a557eb/logo',
self: 'https://rest.api/dspace-spring-rest/api/core/collections/45f2f3f1-ba1f-4f36-908a-3f1ea9a557eb'
license: { href: 'https://rest.api/dspace-spring-rest/api/core/collections/45f2f3f1-ba1f-4f36-908a-3f1ea9a557eb/license' },
defaultAccessConditions: { href: 'https://rest.api/dspace-spring-rest/api/core/collections/45f2f3f1-ba1f-4f36-908a-3f1ea9a557eb/defaultAccessConditions' },
logo: { href: 'https://rest.api/dspace-spring-rest/api/core/collections/45f2f3f1-ba1f-4f36-908a-3f1ea9a557eb/logo' },
self: { href: 'https://rest.api/dspace-spring-rest/api/core/collections/45f2f3f1-ba1f-4f36-908a-3f1ea9a557eb' }
}
},
item: {
@@ -698,10 +706,10 @@ export const mockSubmissionObjectNew = {
name: null,
metadata: [],
_links: {
bitstreams: 'https://rest.api/dspace-spring-rest/api/core/items/cae8af78-c874-4468-af79-e6c996aa8270/bitstreams',
owningCollection: 'https://rest.api/dspace-spring-rest/api/core/items/cae8af78-c874-4468-af79-e6c996aa8270/owningCollection',
templateItemOf: 'https://rest.api/dspace-spring-rest/api/core/items/cae8af78-c874-4468-af79-e6c996aa8270/templateItemOf',
self: 'https://rest.api/dspace-spring-rest/api/core/items/cae8af78-c874-4468-af79-e6c996aa8270'
bitstreams: { href: 'https://rest.api/dspace-spring-rest/api/core/items/cae8af78-c874-4468-af79-e6c996aa8270/bitstreams' },
owningCollection: { href: 'https://rest.api/dspace-spring-rest/api/core/items/cae8af78-c874-4468-af79-e6c996aa8270/owningCollection' },
templateItemOf: { href: 'https://rest.api/dspace-spring-rest/api/core/items/cae8af78-c874-4468-af79-e6c996aa8270/templateItemOf' },
self: { href: 'https://rest.api/dspace-spring-rest/api/core/items/cae8af78-c874-4468-af79-e6c996aa8270' }
}
},
submissionDefinition: {
@@ -723,7 +731,8 @@ export const mockSubmissionObjectNew = {
},
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/collection'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/collection' },
config: ''
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/collection'
},
@@ -733,8 +742,8 @@ export const mockSubmissionObjectNew = {
sectionType: 'submission-form',
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpageone',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpageone'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpageone' },
config: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpageone' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpageone'
},
@@ -744,8 +753,8 @@ export const mockSubmissionObjectNew = {
sectionType: 'submission-form',
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpagetwo',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpagetwo'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpagetwo' },
config: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpagetwo' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpagetwo'
},
@@ -755,8 +764,8 @@ export const mockSubmissionObjectNew = {
sectionType: 'upload',
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/upload',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionuploads/upload'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/upload' },
config: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionuploads/upload' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/upload'
},
@@ -770,7 +779,8 @@ export const mockSubmissionObjectNew = {
},
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/license'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/license' },
config: ''
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/license'
}
@@ -779,9 +789,9 @@ export const mockSubmissionObjectNew = {
name: 'traditionaltwo',
type: 'submissiondefinition',
_links: {
collections: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/collections',
sections: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/sections',
self: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional'
collections: { href: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/collections' },
sections: { href: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/sections' },
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional',
collections: {
@@ -821,7 +831,7 @@ export const mockSubmissionObjectNew = {
}
],
_links: {
self: 'https://rest.api/dspace-spring-rest/api/eperson/epersons/99423c27-b642-4bb9-a9cd-45gh23e68dca5'
self: { href: 'https://rest.api/dspace-spring-rest/api/eperson/epersons/99423c27-b642-4bb9-a9cd-45gh23e68dca5' }
}
},
id: 826,
@@ -831,11 +841,11 @@ export const mockSubmissionObjectNew = {
self: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826',
type: 'workspaceitem',
_links: {
collection: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/collection',
item: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/item',
submissionDefinition: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/submissionDefinition',
submitter: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/submitter',
self: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826'
collection: { href: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/collection' },
item: { href: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/item' },
submissionDefinition: { href: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/submissionDefinition' },
submitter: { href: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826/submitter' },
self: { href: 'https://rest.api/dspace-spring-rest/api/submission/workspaceitems/826' }
}
};
@@ -857,7 +867,8 @@ export const mockSubmissionDefinitionResponse = {
},
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/extraction'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/extraction' },
config: ''
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/extraction'
},
@@ -870,7 +881,8 @@ export const mockSubmissionDefinitionResponse = {
},
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/collection'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/collection' },
config: ''
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/collection'
},
@@ -880,8 +892,8 @@ export const mockSubmissionDefinitionResponse = {
sectionType: 'submission-form',
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpageone',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpageone'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpageone' },
config: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpageone' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpageone'
},
@@ -891,8 +903,8 @@ export const mockSubmissionDefinitionResponse = {
sectionType: 'submission-form',
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpagetwo',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpagetwo'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpagetwo' },
config: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpagetwo' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpagetwo'
},
@@ -902,8 +914,8 @@ export const mockSubmissionDefinitionResponse = {
sectionType: 'upload',
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/upload',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionuploads/upload'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/upload' },
config: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionuploads/upload' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/upload'
},
@@ -917,7 +929,8 @@ export const mockSubmissionDefinitionResponse = {
},
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/license'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/license' },
config: ''
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/license'
}
@@ -925,9 +938,9 @@ export const mockSubmissionDefinitionResponse = {
name: 'traditional',
type: 'submissiondefinition',
_links: {
collections: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/collections',
sections: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/sections',
self: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional'
collections: { href: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/collections' },
sections: { href: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/sections' },
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional'
} as any;
@@ -944,7 +957,8 @@ export const mockSubmissionDefinition: SubmissionDefinitionsModel = {
},
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/extraction'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/extraction' },
config: ''
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/extraction'
},
@@ -957,7 +971,8 @@ export const mockSubmissionDefinition: SubmissionDefinitionsModel = {
},
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/collection'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/collection' },
config: ''
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/collection'
},
@@ -967,8 +982,8 @@ export const mockSubmissionDefinition: SubmissionDefinitionsModel = {
sectionType: 'submission-form',
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpageone',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpageone'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpageone' },
config: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpageone' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpageone'
},
@@ -978,8 +993,8 @@ export const mockSubmissionDefinition: SubmissionDefinitionsModel = {
sectionType: 'submission-form',
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpagetwo',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpagetwo'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpagetwo' },
config: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpagetwo' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/traditionalpagetwo'
},
@@ -989,8 +1004,8 @@ export const mockSubmissionDefinition: SubmissionDefinitionsModel = {
sectionType: 'upload',
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/upload',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionuploads/upload'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/upload' },
config: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionuploads/upload' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/upload'
},
@@ -1004,7 +1019,8 @@ export const mockSubmissionDefinition: SubmissionDefinitionsModel = {
},
type: 'submissionsection',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/license'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/license' },
config: ''
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionsections/license'
}
@@ -1012,9 +1028,9 @@ export const mockSubmissionDefinition: SubmissionDefinitionsModel = {
name: 'traditional',
type: 'submissiondefinition',
_links: {
collections: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/collections',
sections: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/sections',
self: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional'
collections: { href: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/collections' },
sections: { href: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional/sections' },
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissiondefinitions/traditional'
} as any;
@@ -1321,7 +1337,7 @@ export const mockUploadConfigResponse = {
name: 'bitstream-metadata',
type: 'submissionform',
_links: {
self: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/bitstream-metadata'
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/bitstream-metadata' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/bitstream-metadata'
},
@@ -1330,8 +1346,8 @@ export const mockUploadConfigResponse = {
name: 'upload',
type: 'submissionupload',
_links: {
metadata: 'https://rest.api/dspace-spring-rest/api/config/submissionuploads/upload/metadata',
self: 'https://rest.api/dspace-spring-rest/api/config/submissionuploads/upload'
metadata: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionuploads/upload/metadata' },
self: { href: 'https://rest.api/dspace-spring-rest/api/config/submissionuploads/upload' }
},
self: 'https://rest.api/dspace-spring-rest/api/config/submissionuploads/upload'
};
@@ -1379,8 +1395,8 @@ export const mockGroup = Object.assign(new Group(), {
name: 'Anonymous',
metadata: [],
_links: {
groups: 'https://rest.api/dspace-spring-rest/api/eperson/groups/123456-g1/groups',
self: 'https://rest.api/dspace-spring-rest/api/eperson/groups/123456-g1'
groups: { href: 'https://rest.api/dspace-spring-rest/api/eperson/groups/123456-g1/groups' },
self: { href: 'https://rest.api/dspace-spring-rest/api/eperson/groups/123456-g1' }
},
groups: {
pageInfo: {

View File

@@ -1,19 +1,34 @@
import { HttpClient } from '@angular/common/http';
import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { Store } from '@ngrx/store';
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
import { of as observableOf } from 'rxjs';
import { Observable } from 'rxjs/internal/Observable';
import { NormalizedObjectBuildService } from '../../../../core/cache/builders/normalized-object-build.service';
import { RemoteDataBuildService } from '../../../../core/cache/builders/remote-data-build.service';
import { ObjectCacheService } from '../../../../core/cache/object-cache.service';
import { BitstreamDataService } from '../../../../core/data/bitstream-data.service';
import { CommunityDataService } from '../../../../core/data/community-data.service';
import { DefaultChangeAnalyzer } from '../../../../core/data/default-change-analyzer.service';
import { DSOChangeAnalyzer } from '../../../../core/data/dso-change-analyzer.service';
import { PaginatedList } from '../../../../core/data/paginated-list';
import { RemoteData } from '../../../../core/data/remote-data';
import { FindListOptions } from '../../../../core/data/request.models';
import { Bitstream } from '../../../../core/shared/bitstream.model';
import { FileService } from '../../../../core/shared/file.service';
import { HALEndpointService } from '../../../../core/shared/hal-endpoint.service';
import { Item } from '../../../../core/shared/item.model';
import { PageInfo } from '../../../../core/shared/page-info.model';
import { UUIDService } from '../../../../core/shared/uuid.service';
import { MockTranslateLoader } from '../../../mocks/mock-translate-loader';
import { NotificationsService } from '../../../notifications/notifications.service';
import { HALEndpointServiceStub } from '../../../testing/hal-endpoint-service-stub';
import { createSuccessfulRemoteDataObject$ } from '../../../testing/utils';
import { FileSizePipe } from '../../../utils/file-size-pipe';
import { FollowLinkConfig } from '../../../utils/follow-link-config.model';
import { TruncatePipe } from '../../../utils/truncate.pipe';
import { VarDirective } from '../../../utils/var.directive';
@@ -61,6 +76,14 @@ const mockItem: Item = Object.assign(new Item(), {
});
describe('ItemDetailPreviewComponent', () => {
const mockBitstreamDataService = {
getThumbnailFor(item: Item): Observable<RemoteData<Bitstream>> {
return createSuccessfulRemoteDataObject$(new Bitstream());
},
findAllByItemAndBundleName(item: Item, bundleName: string, options?: FindListOptions, ...linksToFollow: Array<FollowLinkConfig<Bitstream>>): Observable<RemoteData<PaginatedList<Bitstream>>> {
return createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), []));
},
};
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [
@@ -77,6 +100,17 @@ describe('ItemDetailPreviewComponent', () => {
{ provide: FileService, useValue: getMockFileService() },
{ provide: HALEndpointService, useValue: new HALEndpointServiceStub('workspaceitems') },
{ provide: ObjectCacheService, useValue: {} },
{ provide: UUIDService, useValue: {} },
{ provide: Store, useValue: {} },
{ provide: RemoteDataBuildService, useValue: {} },
{ provide: NormalizedObjectBuildService, useValue: {} },
{ provide: CommunityDataService, useValue: {} },
{ provide: HALEndpointService, useValue: {} },
{ provide: NotificationsService, useValue: {} },
{ provide: HttpClient, useValue: {} },
{ provide: DSOChangeAnalyzer, useValue: {} },
{ provide: DefaultChangeAnalyzer, useValue: {} },
{ provide: BitstreamDataService, useValue: mockBitstreamDataService },
],
schemas: [NO_ERRORS_SCHEMA]
}).overrideComponent(ItemDetailPreviewComponent, {

View File

@@ -26,14 +26,22 @@ describe('GridThumbnailComponent', () => {
});
it('should display image', () => {
comp.thumbnail = new Bitstream();
comp.thumbnail._links.content.href = 'test.url';
const thumbnail = new Bitstream();
thumbnail._links = {
self: { href: 'self.url' },
bundle: { href: 'bundle.url' },
format: { href: 'format.url' },
content: { href: 'content.url' },
};
comp.thumbnail = thumbnail;
fixture.detectChanges();
const image: HTMLElement = de.query(By.css('img')).nativeElement;
expect(image.getAttribute('src')).toBe(comp.thumbnail._links.content.href);
});
it('should display placeholder', () => {
const thumbnail = new Bitstream();
comp.thumbnail = thumbnail;
fixture.detectChanges();
const image: HTMLElement = de.query(By.css('img')).nativeElement;
expect(image.getAttribute('src')).toBe(comp.defaultImage);

View File

@@ -30,7 +30,7 @@ export class GridThumbnailComponent implements OnInit {
}
ngOnInit(): void {
if (hasValue(this.thumbnail) && this.thumbnail._links.content.href) {
if (hasValue(this.thumbnail) && hasValue(this.thumbnail._links) && this.thumbnail._links.content.href) {
this.src = this.thumbnail._links.content.href;
} else {
this.src = this.defaultImage

View File

@@ -1,12 +1,23 @@
import { CommunitySearchResultGridElementComponent } from './community-search-result-grid-element.component';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { of as observableOf } from 'rxjs';
import { HttpClient } from '@angular/common/http';
import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { TruncatePipe } from '../../../utils/truncate.pipe';
import { Store } from '@ngrx/store';
import { of as observableOf } from 'rxjs';
import { NormalizedObjectBuildService } from '../../../../core/cache/builders/normalized-object-build.service';
import { RemoteDataBuildService } from '../../../../core/cache/builders/remote-data-build.service';
import { ObjectCacheService } from '../../../../core/cache/object-cache.service';
import { CommunityDataService } from '../../../../core/data/community-data.service';
import { DefaultChangeAnalyzer } from '../../../../core/data/default-change-analyzer.service';
import { DSOChangeAnalyzer } from '../../../../core/data/dso-change-analyzer.service';
import { Community } from '../../../../core/shared/community.model';
import { TruncatableService } from '../../../truncatable/truncatable.service';
import { HALEndpointService } from '../../../../core/shared/hal-endpoint.service';
import { UUIDService } from '../../../../core/shared/uuid.service';
import { NotificationsService } from '../../../notifications/notifications.service';
import { CommunitySearchResult } from '../../../object-collection/shared/community-search-result.model';
import { TruncatableService } from '../../../truncatable/truncatable.service';
import { TruncatePipe } from '../../../utils/truncate.pipe';
import { CommunitySearchResultGridElementComponent } from './community-search-result-grid-element.component';
let communitySearchResultGridElementComponent: CommunitySearchResultGridElementComponent;
let fixture: ComponentFixture<CommunitySearchResultGridElementComponent>;
@@ -47,7 +58,18 @@ describe('CommunitySearchResultGridElementComponent', () => {
declarations: [ CommunitySearchResultGridElementComponent, TruncatePipe ],
providers: [
{ provide: TruncatableService, useValue: truncatableServiceStub },
{ provide: 'objectElementProvider', useValue: (mockCommunityWithAbstract) }
{ provide: 'objectElementProvider', useValue: (mockCommunityWithAbstract) },
{ provide: ObjectCacheService, useValue: {} },
{ provide: UUIDService, useValue: {} },
{ provide: Store, useValue: {} },
{ provide: RemoteDataBuildService, useValue: {} },
{ provide: NormalizedObjectBuildService, useValue: {} },
{ provide: CommunityDataService, useValue: {} },
{ provide: HALEndpointService, useValue: {} },
{ provide: NotificationsService, useValue: {} },
{ provide: HttpClient, useValue: {} },
{ provide: DSOChangeAnalyzer, useValue: {} },
{ provide: DefaultChangeAnalyzer, useValue: {} },
],
schemas: [ NO_ERRORS_SCHEMA ]

View File

@@ -26,14 +26,22 @@ describe('ThumbnailComponent', () => {
});
it('should display image', () => {
comp.thumbnail = new Bitstream();
comp.thumbnail._links.content.href = 'test.url';
const thumbnail = new Bitstream();
thumbnail._links = {
self: { href: 'self.url' },
bundle: { href: 'bundle.url' },
format: { href: 'format.url' },
content: { href: 'content.url' },
};
comp.thumbnail = thumbnail;
fixture.detectChanges();
const image: HTMLElement = de.query(By.css('img')).nativeElement;
expect(image.getAttribute('src')).toBe(comp.thumbnail._links.content.href);
});
it('should display placeholder', () => {
const thumbnail = new Bitstream();
comp.thumbnail = thumbnail;
fixture.detectChanges();
const image: HTMLElement = de.query(By.css('img')).nativeElement;
expect(image.getAttribute('src')).toBe(comp.defaultImage);

View File

@@ -1,4 +1,4 @@
import { Component, Input, OnInit } from '@angular/core';
import { Component, Input } from '@angular/core';
import { Bitstream } from '../core/shared/bitstream.model';
import { hasValue } from '../shared/empty.util';
@@ -23,7 +23,7 @@ export class ThumbnailComponent {
@Input() set thumbnail(t: Bitstream) {
this._thumbnail = t;
if (hasValue(this.thumbnail) && hasValue(this.thumbnail._links.content) && this.thumbnail._links.content.href) {
if (hasValue(this.thumbnail) && hasValue(this.thumbnail._links) && hasValue(this.thumbnail._links.content) && this.thumbnail._links.content.href) {
this.src = this.thumbnail._links.content.href;
} else {
this.src = this.defaultImage