Merge branch 'master' into w2p-66156_Display-of-relations

This commit is contained in:
Kristof De Langhe
2019-11-27 14:47:29 +01:00
80 changed files with 28413 additions and 2449 deletions

3220
resources/i18n/ar.json5 Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -86,9 +86,9 @@
// TODO New key - Add a translation // TODO New key - Add a translation
"admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}", "admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}",
// "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are are hidden from the user, and used for administrative purposes.", // "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.",
// TODO New key - Add a translation // TODO New key - Add a translation
"admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are are hidden from the user, and used for administrative purposes.", "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.",
// "admin.registries.bitstream-formats.edit.internal.label": "Internal", // "admin.registries.bitstream-formats.edit.internal.label": "Internal",
// TODO New key - Add a translation // TODO New key - Add a translation

File diff suppressed because it is too large Load Diff

View File

@@ -46,7 +46,7 @@
"admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}", "admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}",
"admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are are hidden from the user, and used for administrative purposes.", "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.",
"admin.registries.bitstream-formats.edit.internal.label": "Internal", "admin.registries.bitstream-formats.edit.internal.label": "Internal",

1610
resources/i18n/es.json5 Normal file

File diff suppressed because it is too large Load Diff

3220
resources/i18n/fi.json5 Normal file

File diff suppressed because it is too large Load Diff

3220
resources/i18n/fr.json5 Normal file

File diff suppressed because it is too large Load Diff

3220
resources/i18n/ja.json5 Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -32,24 +32,21 @@
"admin.registries.bitstream-formats.create.success.content": "The new bitstream format was successfully created.", "admin.registries.bitstream-formats.create.success.content": "The new bitstream format was successfully created.",
// "admin.registries.bitstream-formats.create.success.head": "Success", // "admin.registries.bitstream-formats.create.success.head": "Success",
// TODO New key - Add a translation "admin.registries.bitstream-formats.create.success.head": "Succes",
"admin.registries.bitstream-formats.create.success.head": "Success",
// "admin.registries.bitstream-formats.delete.failure.amount": "Failed to remove {{ amount }} format(s)", // "admin.registries.bitstream-formats.delete.failure.amount": "Failed to remove {{ amount }} format(s)",
// TODO New key - Add a translation // TODO New key - Add a translation
"admin.registries.bitstream-formats.delete.failure.amount": "Failed to remove {{ amount }} format(s)", "admin.registries.bitstream-formats.delete.failure.amount": "Failed to remove {{ amount }} format(s)",
// "admin.registries.bitstream-formats.delete.failure.head": "Failure", // "admin.registries.bitstream-formats.delete.failure.head": "Failure",
// TODO New key - Add a translation "admin.registries.bitstream-formats.delete.failure.head": "Gefaald",
"admin.registries.bitstream-formats.delete.failure.head": "Failure",
// "admin.registries.bitstream-formats.delete.success.amount": "Successfully removed {{ amount }} format(s)", // "admin.registries.bitstream-formats.delete.success.amount": "Successfully removed {{ amount }} format(s)",
// TODO New key - Add a translation // TODO New key - Add a translation
"admin.registries.bitstream-formats.delete.success.amount": "Successfully removed {{ amount }} format(s)", "admin.registries.bitstream-formats.delete.success.amount": "Successfully removed {{ amount }} format(s)",
// "admin.registries.bitstream-formats.delete.success.head": "Success", // "admin.registries.bitstream-formats.delete.success.head": "Success",
// TODO New key - Add a translation "admin.registries.bitstream-formats.delete.success.head": "Succes",
"admin.registries.bitstream-formats.delete.success.head": "Success",
// "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.", // "admin.registries.bitstream-formats.description": "This list of bitstream formats provides information about known formats and their support level.",
"admin.registries.bitstream-formats.description": "Deze lijst van Bitstream formaten biedt informatie over de formaten die in deze repository zijn toegelaten en op welke manier ze ondersteund worden. De term Bitstream wordt in DSpace gebruikt om een bestand aan te duiden dat samen met metadata onderdeel uitmaakt van een item. De naam bitstream duidt op het feit dat het bestand achterliggend wordt opgeslaan zonder bestandsextensie.", "admin.registries.bitstream-formats.description": "Deze lijst van Bitstream formaten biedt informatie over de formaten die in deze repository zijn toegelaten en op welke manier ze ondersteund worden. De term Bitstream wordt in DSpace gebruikt om een bestand aan te duiden dat samen met metadata onderdeel uitmaakt van een item. De naam bitstream duidt op het feit dat het bestand achterliggend wordt opgeslaan zonder bestandsextensie.",
@@ -86,9 +83,9 @@
// TODO New key - Add a translation // TODO New key - Add a translation
"admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}", "admin.registries.bitstream-formats.edit.head": "Bitstream format: {{ format }}",
// "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are are hidden from the user, and used for administrative purposes.", // "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.",
// TODO New key - Add a translation // TODO New key - Add a translation
"admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are are hidden from the user, and used for administrative purposes.", "admin.registries.bitstream-formats.edit.internal.hint": "Formats marked as internal are hidden from the user, and used for administrative purposes.",
// "admin.registries.bitstream-formats.edit.internal.label": "Internal", // "admin.registries.bitstream-formats.edit.internal.label": "Internal",
// TODO New key - Add a translation // TODO New key - Add a translation

3220
resources/i18n/pl.json5 Normal file

File diff suppressed because it is too large Load Diff

3220
resources/i18n/pt.json5 Normal file

File diff suppressed because it is too large Load Diff

3220
resources/i18n/sw.json5 Normal file

File diff suppressed because it is too large Load Diff

3220
resources/i18n/tr.json5 Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -23,7 +23,7 @@ import {
} from '../../shared/testing/utils'; } from '../../shared/testing/utils';
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -50,7 +50,7 @@ describe('ItemPageFieldComponent', () => {
export function mockItemWithMetadataFieldAndValue(field: string, value: string): Item { export function mockItemWithMetadataFieldAndValue(field: string, value: string): Item {
const item = Object.assign(new Item(), { const item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: new MetadataMap() metadata: new MetadataMap()
}); });
item.metadata[field] = [{ item.metadata[field] = [{

View File

@@ -22,7 +22,7 @@ import {
} from '../../shared/testing/utils'; } from '../../shared/testing/utils';
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: [], metadata: [],
relationships: createRelationshipsObservable() relationships: createRelationshipsObservable()
}); });

View File

@@ -17,7 +17,7 @@ import { MetadataMap } from '../../../../core/shared/metadata.models';
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: new MetadataMap(), metadata: new MetadataMap(),
relationships: createRelationshipsObservable() relationships: createRelationshipsObservable()
}); });

View File

@@ -11,17 +11,17 @@ import { RelationshipService } from '../../../core/data/relationship.service';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
const parentItem: Item = Object.assign(new Item(), { const parentItem: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: [], metadata: [],
relationships: createRelationshipsObservable() relationships: createRelationshipsObservable()
}); });
const mockItem1: Item = Object.assign(new Item(), { const mockItem1: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: [], metadata: [],
relationships: createRelationshipsObservable() relationships: createRelationshipsObservable()
}); });
const mockItem2: Item = Object.assign(new Item(), { const mockItem2: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: [], metadata: [],
relationships: createRelationshipsObservable() relationships: createRelationshipsObservable()
}); });

View File

@@ -11,6 +11,13 @@ import { Bitstream } from '../../shared/bitstream.model';
@mapsTo(Bundle) @mapsTo(Bundle)
@inheritSerialization(NormalizedDSpaceObject) @inheritSerialization(NormalizedDSpaceObject)
export class NormalizedBundle extends NormalizedDSpaceObject<Bundle> { export class NormalizedBundle extends NormalizedDSpaceObject<Bundle> {
/**
* The bundle's name
*/
@autoserialize
name: string;
/** /**
* The primary bitstream of this Bundle * The primary bitstream of this Bundle
*/ */

View File

@@ -3,13 +3,9 @@ import { inheritSerialization, deserialize, autoserialize, autoserializeAs } fro
import { NormalizedDSpaceObject } from './normalized-dspace-object.model'; import { NormalizedDSpaceObject } from './normalized-dspace-object.model';
import { Item } from '../../shared/item.model'; import { Item } from '../../shared/item.model';
import { mapsTo, relationship } from '../builders/build-decorators'; import { mapsTo, relationship } from '../builders/build-decorators';
import { ResourceType } from '../../shared/resource-type';
import { NormalizedCollection } from './normalized-collection.model';
import { NormalizedBitstream } from './normalized-bitstream.model';
import { NormalizedRelationship } from './items/normalized-relationship.model';
import { Collection } from '../../shared/collection.model'; import { Collection } from '../../shared/collection.model';
import { Bitstream } from '../../shared/bitstream.model';
import { Relationship } from '../../shared/item-relationships/relationship.model'; import { Relationship } from '../../shared/item-relationships/relationship.model';
import { Bundle } from '../../shared/bundle.model';
/** /**
* Normalized model class for a DSpace Item * Normalized model class for a DSpace Item
@@ -66,8 +62,8 @@ export class NormalizedItem extends NormalizedDSpaceObject<Item> {
* List of Bitstreams that are owned by this Item * List of Bitstreams that are owned by this Item
*/ */
@deserialize @deserialize
@relationship(Bitstream, true) @relationship(Bundle, true)
bitstreams: string[]; bundles: string[];
@autoserialize @autoserialize
@relationship(Relationship, true) @relationship(Relationship, true)

View File

@@ -0,0 +1,46 @@
import { Injectable } from '@angular/core';
import { DataService } from './data.service';
import { Bundle } from '../shared/bundle.model';
import { RequestService } from './request.service';
import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service';
import { NormalizedObjectBuildService } from '../cache/builders/normalized-object-build.service';
import { Store } from '@ngrx/store';
import { CoreState } from '../core.reducers';
import { ObjectCacheService } from '../cache/object-cache.service';
import { HALEndpointService } from '../shared/hal-endpoint.service';
import { NotificationsService } from '../../shared/notifications/notifications.service';
import { HttpClient } from '@angular/common/http';
import { DefaultChangeAnalyzer } from './default-change-analyzer.service';
import { FindAllOptions } from './request.models';
import { Observable } from 'rxjs/internal/Observable';
/**
* A service responsible for fetching/sending data from/to the REST API on the bundles endpoint
*/
@Injectable()
export class BundleDataService extends DataService<Bundle> {
protected linkPath = 'bundles';
protected forceBypassCache = false;
constructor(
protected requestService: RequestService,
protected rdbService: RemoteDataBuildService,
protected dataBuildService: NormalizedObjectBuildService,
protected store: Store<CoreState>,
protected objectCache: ObjectCacheService,
protected halService: HALEndpointService,
protected notificationsService: NotificationsService,
protected http: HttpClient,
protected comparator: DefaultChangeAnalyzer<Bundle>) {
super();
}
/**
* Get the endpoint for browsing bundles
* @param {FindAllOptions} options
* @returns {Observable<string>}
*/
getBrowseEndpoint(options: FindAllOptions = {}, linkPath?: string): Observable<string> {
return this.halService.getEndpoint(this.linkPath);
}
}

View File

@@ -4,10 +4,16 @@ import { Item } from './item.model';
import { RemoteData } from '../data/remote-data'; import { RemoteData } from '../data/remote-data';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { ResourceType } from './resource-type'; import { ResourceType } from './resource-type';
import { PaginatedList } from '../data/paginated-list';
export class Bundle extends DSpaceObject { export class Bundle extends DSpaceObject {
static type = new ResourceType('bundle'); static type = new ResourceType('bundle');
/**
* The bundle's name
*/
name: string;
/** /**
* The primary bitstream of this Bundle * The primary bitstream of this Bundle
*/ */
@@ -23,6 +29,9 @@ export class Bundle extends DSpaceObject {
*/ */
owner: Observable<RemoteData<Item>>; owner: Observable<RemoteData<Item>>;
bitstreams: Observable<RemoteData<Bitstream[]>> /**
* List of Bitstreams that are part of this Bundle
*/
bitstreams: Observable<RemoteData<PaginatedList<Bitstream>>>;
} }

View File

@@ -4,7 +4,7 @@ import { Item } from './item.model';
import { Bitstream } from './bitstream.model'; import { Bitstream } from './bitstream.model';
import { isEmpty } from '../../shared/empty.util'; import { isEmpty } from '../../shared/empty.util';
import { first, map } from 'rxjs/operators'; import { first, map } from 'rxjs/operators';
import { createSuccessfulRemoteDataObject$ } from '../../shared/testing/utils'; import { createPaginatedList, createSuccessfulRemoteDataObject$ } from '../../shared/testing/utils';
describe('Item', () => { describe('Item', () => {
@@ -18,8 +18,9 @@ describe('Item', () => {
const nonExistingBundleName = 'c1e568f7-d14e-496b-bdd7-07026998cc00'; const nonExistingBundleName = 'c1e568f7-d14e-496b-bdd7-07026998cc00';
let bitstreams; let bitstreams;
let remoteDataThumbnail; let remoteDataThumbnail;
let remoteDataThumbnailList;
let remoteDataFiles; let remoteDataFiles;
let remoteDataAll; let remoteDataBundles;
beforeEach(() => { beforeEach(() => {
const thumbnail = { const thumbnail = {
@@ -33,15 +34,16 @@ describe('Item', () => {
}]; }];
remoteDataThumbnail = createSuccessfulRemoteDataObject$(thumbnail); remoteDataThumbnail = createSuccessfulRemoteDataObject$(thumbnail);
remoteDataFiles = createSuccessfulRemoteDataObject$(bitstreams); remoteDataThumbnailList = createSuccessfulRemoteDataObject$(createPaginatedList([thumbnail]));
remoteDataAll = createSuccessfulRemoteDataObject$([...bitstreams, thumbnail]); remoteDataFiles = createSuccessfulRemoteDataObject$(createPaginatedList(bitstreams));
// Create Bundles // Create Bundles
const bundles = const bundles =
[ [
{ {
name: thumbnailBundleName, name: thumbnailBundleName,
primaryBitstream: remoteDataThumbnail primaryBitstream: remoteDataThumbnail,
bitstreams: remoteDataThumbnailList
}, },
{ {
@@ -49,7 +51,9 @@ describe('Item', () => {
bitstreams: remoteDataFiles bitstreams: remoteDataFiles
}]; }];
item = Object.assign(new Item(), { bitstreams: remoteDataAll }); remoteDataBundles = createSuccessfulRemoteDataObject$(createPaginatedList(bundles));
item = Object.assign(new Item(), { bundles: remoteDataBundles });
}); });
it('should return the bitstreams related to this item with the specified bundle name', () => { it('should return the bitstreams related to this item with the specified bundle name', () => {

View File

@@ -1,15 +1,16 @@
import { map, startWith, filter, take } from 'rxjs/operators'; import { map, startWith, filter, switchMap } from 'rxjs/operators';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { DSpaceObject } from './dspace-object.model'; import { DSpaceObject } from './dspace-object.model';
import { Collection } from './collection.model'; import { Collection } from './collection.model';
import { RemoteData } from '../data/remote-data'; import { RemoteData } from '../data/remote-data';
import { Bitstream } from './bitstream.model'; import { Bitstream } from './bitstream.model';
import { hasValue, isEmpty, isNotEmpty } from '../../shared/empty.util'; import { hasValueOperator, isNotEmpty, isEmpty } from '../../shared/empty.util';
import { PaginatedList } from '../data/paginated-list'; import { PaginatedList } from '../data/paginated-list';
import { Relationship } from './item-relationships/relationship.model'; import { Relationship } from './item-relationships/relationship.model';
import { ResourceType } from './resource-type'; import { ResourceType } from './resource-type';
import { getSucceededRemoteData } from './operators'; import { getAllSucceededRemoteData, getSucceededRemoteData } from './operators';
import { Bundle } from './bundle.model';
import { GenericConstructor } from './generic-constructor'; import { GenericConstructor } from './generic-constructor';
import { ListableObject } from '../../shared/object-collection/shared/listable-object.model'; import { ListableObject } from '../../shared/object-collection/shared/listable-object.model';
import { DEFAULT_ENTITY_TYPE } from '../../shared/metadata-representation/metadata-representation.decorator'; import { DEFAULT_ENTITY_TYPE } from '../../shared/metadata-representation/metadata-representation.decorator';
@@ -59,7 +60,10 @@ export class Item extends DSpaceObject {
return this.owningCollection; return this.owningCollection;
} }
bitstreams: Observable<RemoteData<PaginatedList<Bitstream>>>; /**
* Bitstream bundles within this item
*/
bundles: Observable<RemoteData<PaginatedList<Bundle>>>;
relationships: Observable<RemoteData<PaginatedList<Relationship>>>; relationships: Observable<RemoteData<PaginatedList<Relationship>>>;
@@ -103,17 +107,15 @@ export class Item extends DSpaceObject {
* see https://github.com/DSpace/dspace-angular/issues/332 * see https://github.com/DSpace/dspace-angular/issues/332
*/ */
getBitstreamsByBundleName(bundleName: string): Observable<Bitstream[]> { getBitstreamsByBundleName(bundleName: string): Observable<Bitstream[]> {
return this.bitstreams.pipe( return this.bundles.pipe(
getSucceededRemoteData(), getSucceededRemoteData(),
map((rd: RemoteData<PaginatedList<Bundle>>) => rd.payload.page.find((bundle: Bundle) => bundle.name === bundleName)),
hasValueOperator(),
switchMap((bundle: Bundle) => bundle.bitstreams),
getAllSucceededRemoteData(),
map((rd: RemoteData<PaginatedList<Bitstream>>) => rd.payload.page), map((rd: RemoteData<PaginatedList<Bitstream>>) => rd.payload.page),
filter((bitstreams: Bitstream[]) => hasValue(bitstreams)), startWith([])
take(1), );
startWith([]),
map((bitstreams) => {
return bitstreams
.filter((bitstream) => hasValue(bitstream))
.filter((bitstream) => bitstream.bundleName === bundleName)
}));
} }
/** /**

View File

@@ -12,7 +12,7 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
import { By } from '@angular/platform-browser'; import { By } from '@angular/platform-browser';
const mockItem = Object.assign(new Item(), { const mockItem = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -12,7 +12,7 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
import { By } from '@angular/platform-browser'; import { By } from '@angular/platform-browser';
const mockItem = Object.assign(new Item(), { const mockItem = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -12,7 +12,7 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
import { By } from '@angular/platform-browser'; import { By } from '@angular/platform-browser';
const mockItem = Object.assign(new Item(), { const mockItem = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -9,7 +9,7 @@ import { JournalIssueSearchResultGridElementComponent } from './journal-issue-se
const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult(); const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult();
mockItemWithMetadata.hitHighlights = {}; mockItemWithMetadata.hitHighlights = {};
mockItemWithMetadata.indexableObject = Object.assign(new Item(), { mockItemWithMetadata.indexableObject = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {
@@ -35,7 +35,7 @@ mockItemWithMetadata.indexableObject = Object.assign(new Item(), {
const mockItemWithoutMetadata: ItemSearchResult = new ItemSearchResult(); const mockItemWithoutMetadata: ItemSearchResult = new ItemSearchResult();
mockItemWithoutMetadata.hitHighlights = {}; mockItemWithoutMetadata.hitHighlights = {};
mockItemWithoutMetadata.indexableObject = Object.assign(new Item(), { mockItemWithoutMetadata.indexableObject = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -9,7 +9,7 @@ import { JournalVolumeSearchResultGridElementComponent } from './journal-volume-
const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult(); const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult();
mockItemWithMetadata.hitHighlights = {}; mockItemWithMetadata.hitHighlights = {};
mockItemWithMetadata.indexableObject = Object.assign(new Item(), { mockItemWithMetadata.indexableObject = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {
@@ -35,7 +35,7 @@ mockItemWithMetadata.indexableObject = Object.assign(new Item(), {
const mockItemWithoutMetadata: ItemSearchResult = new ItemSearchResult(); const mockItemWithoutMetadata: ItemSearchResult = new ItemSearchResult();
mockItemWithoutMetadata.hitHighlights = {}; mockItemWithoutMetadata.hitHighlights = {};
mockItemWithoutMetadata.indexableObject = Object.assign(new Item(), { mockItemWithoutMetadata.indexableObject = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -9,7 +9,7 @@ import { JournalSearchResultGridElementComponent } from './journal-search-result
const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult(); const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult();
mockItemWithMetadata.hitHighlights = {}; mockItemWithMetadata.hitHighlights = {};
mockItemWithMetadata.indexableObject = Object.assign(new Item(), { mockItemWithMetadata.indexableObject = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {
@@ -41,7 +41,7 @@ mockItemWithMetadata.indexableObject = Object.assign(new Item(), {
const mockItemWithoutMetadata: ItemSearchResult = new ItemSearchResult(); const mockItemWithoutMetadata: ItemSearchResult = new ItemSearchResult();
mockItemWithoutMetadata.hitHighlights = {}; mockItemWithoutMetadata.hitHighlights = {};
mockItemWithoutMetadata.indexableObject = Object.assign(new Item(), { mockItemWithoutMetadata.indexableObject = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -8,7 +8,7 @@ import { TruncatePipe } from '../../../../shared/utils/truncate.pipe';
import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; import { TruncatableService } from '../../../../shared/truncatable/truncatable.service';
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -8,7 +8,7 @@ import { TruncatePipe } from '../../../../shared/utils/truncate.pipe';
import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; import { TruncatableService } from '../../../../shared/truncatable/truncatable.service';
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -8,7 +8,7 @@ import { TruncatePipe } from '../../../../shared/utils/truncate.pipe';
import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; import { TruncatableService } from '../../../../shared/truncatable/truncatable.service';
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -15,7 +15,7 @@ const mockItemWithMetadata: ItemSearchResult = Object.assign(
new ItemSearchResult(), new ItemSearchResult(),
{ {
indexableObject: Object.assign(new Item(), { indexableObject: Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {
@@ -43,7 +43,7 @@ const mockItemWithoutMetadata: ItemSearchResult = Object.assign(
new ItemSearchResult(), new ItemSearchResult(),
{ {
indexableObject: Object.assign(new Item(), { indexableObject: Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -15,7 +15,7 @@ const mockItemWithMetadata: ItemSearchResult = Object.assign(
new ItemSearchResult(), new ItemSearchResult(),
{ {
indexableObject: Object.assign(new Item(), { indexableObject: Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {
@@ -42,7 +42,7 @@ const mockItemWithoutMetadata: ItemSearchResult = Object.assign(
new ItemSearchResult(), new ItemSearchResult(),
{ {
indexableObject: Object.assign(new Item(), { indexableObject: Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -15,7 +15,7 @@ const mockItemWithMetadata: ItemSearchResult = Object.assign(
new ItemSearchResult(), new ItemSearchResult(),
{ {
indexableObject: Object.assign(new Item(), { indexableObject: Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {
@@ -37,7 +37,7 @@ const mockItemWithoutMetadata: ItemSearchResult = Object.assign(
new ItemSearchResult(), new ItemSearchResult(),
{ {
indexableObject: Object.assign(new Item(), { indexableObject: Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -6,7 +6,7 @@ import { createRelationshipsObservable, getItemPageFieldsTest } from '../../../.
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'publicationissue.issueNumber': [ 'publicationissue.issueNumber': [
{ {

View File

@@ -11,7 +11,7 @@ import {
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'publicationvolume.volumeNumber': [ 'publicationvolume.volumeNumber': [
{ {

View File

@@ -18,7 +18,7 @@ let comp: JournalComponent;
let fixture: ComponentFixture<JournalComponent>; let fixture: ComponentFixture<JournalComponent>;
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'creativeworkseries.issn': [ 'creativeworkseries.issn': [
{ {

View File

@@ -12,7 +12,7 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
import { By } from '@angular/platform-browser'; import { By } from '@angular/platform-browser';
const mockItem = Object.assign(new Item(), { const mockItem = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -12,7 +12,7 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
import { By } from '@angular/platform-browser'; import { By } from '@angular/platform-browser';
const mockItem = Object.assign(new Item(), { const mockItem = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -12,7 +12,7 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
import { By } from '@angular/platform-browser'; import { By } from '@angular/platform-browser';
const mockItem = Object.assign(new Item(), { const mockItem = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -9,7 +9,7 @@ import { getEntityGridElementTestComponent } from '../../../../../shared/object-
const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult(); const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult();
mockItemWithMetadata.hitHighlights = {}; mockItemWithMetadata.hitHighlights = {};
mockItemWithMetadata.indexableObject = Object.assign(new Item(), { mockItemWithMetadata.indexableObject = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {
@@ -41,7 +41,7 @@ mockItemWithMetadata.indexableObject = Object.assign(new Item(), {
const mockItemWithoutMetadata: ItemSearchResult = new ItemSearchResult(); const mockItemWithoutMetadata: ItemSearchResult = new ItemSearchResult();
mockItemWithoutMetadata.hitHighlights = {}; mockItemWithoutMetadata.hitHighlights = {};
mockItemWithoutMetadata.indexableObject = Object.assign(new Item(), { mockItemWithoutMetadata.indexableObject = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -9,7 +9,7 @@ import { PersonSearchResultGridElementComponent } from './person-search-result-g
const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult(); const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult();
mockItemWithMetadata.hitHighlights = {}; mockItemWithMetadata.hitHighlights = {};
mockItemWithMetadata.indexableObject = Object.assign(new Item(), { mockItemWithMetadata.indexableObject = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {
@@ -35,7 +35,7 @@ mockItemWithMetadata.indexableObject = Object.assign(new Item(), {
const mockItemWithoutMetadata: ItemSearchResult = new ItemSearchResult(); const mockItemWithoutMetadata: ItemSearchResult = new ItemSearchResult();
mockItemWithoutMetadata.hitHighlights = {}; mockItemWithoutMetadata.hitHighlights = {};
mockItemWithoutMetadata.indexableObject = Object.assign(new Item(), { mockItemWithoutMetadata.indexableObject = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -9,7 +9,7 @@ import { getEntityGridElementTestComponent } from '../../../../../shared/object-
const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult(); const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult();
mockItemWithMetadata.hitHighlights = {}; mockItemWithMetadata.hitHighlights = {};
mockItemWithMetadata.indexableObject = Object.assign(new Item(), { mockItemWithMetadata.indexableObject = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {
@@ -29,7 +29,7 @@ mockItemWithMetadata.indexableObject = Object.assign(new Item(), {
const mockItemWithoutMetadata: ItemSearchResult = new ItemSearchResult(); const mockItemWithoutMetadata: ItemSearchResult = new ItemSearchResult();
mockItemWithoutMetadata.hitHighlights = {}; mockItemWithoutMetadata.hitHighlights = {};
mockItemWithoutMetadata.indexableObject = Object.assign(new Item(), { mockItemWithoutMetadata.indexableObject = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -8,7 +8,7 @@ import { TruncatePipe } from '../../../../shared/utils/truncate.pipe';
import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; import { TruncatableService } from '../../../../shared/truncatable/truncatable.service';
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -8,7 +8,7 @@ import { TruncatePipe } from '../../../../shared/utils/truncate.pipe';
import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; import { TruncatableService } from '../../../../shared/truncatable/truncatable.service';
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -8,7 +8,7 @@ import { TruncatableService } from '../../../../shared/truncatable/truncatable.s
import { ProjectListElementComponent } from './project-list-element.component'; import { ProjectListElementComponent } from './project-list-element.component';
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -15,7 +15,7 @@ const mockItemWithMetadata: ItemSearchResult = Object.assign(
new ItemSearchResult(), new ItemSearchResult(),
{ {
indexableObject: Object.assign(new Item(), { indexableObject: Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {
@@ -36,7 +36,7 @@ const mockItemWithoutMetadata: ItemSearchResult = Object.assign(
new ItemSearchResult(), new ItemSearchResult(),
{ {
indexableObject: Object.assign(new Item(), { indexableObject: Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -15,7 +15,7 @@ const mockItemWithMetadata: ItemSearchResult = Object.assign(
new ItemSearchResult(), new ItemSearchResult(),
{ {
indexableObject: Object.assign(new Item(), { indexableObject: Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {
@@ -36,7 +36,7 @@ const mockItemWithoutMetadata: ItemSearchResult = Object.assign(
new ItemSearchResult(), new ItemSearchResult(),
{ {
indexableObject: Object.assign(new Item(), { indexableObject: Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -14,7 +14,7 @@ const mockItemWithMetadata: ItemSearchResult = Object.assign(
new ItemSearchResult(), new ItemSearchResult(),
{ {
indexableObject: Object.assign(new Item(), { indexableObject: Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {
@@ -36,7 +36,7 @@ const mockItemWithoutMetadata: ItemSearchResult = Object.assign(
new ItemSearchResult(), new ItemSearchResult(),
{ {
indexableObject: Object.assign(new Item(), { indexableObject: Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -11,7 +11,7 @@ import {
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'organization.foundingDate': [ 'organization.foundingDate': [
{ {

View File

@@ -11,7 +11,7 @@ import {
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'person.email': [ 'person.email': [
{ {

View File

@@ -11,7 +11,7 @@ import {
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils'; import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
// 'project.identifier.status': [ // 'project.identifier.status': [
// { // {

View File

@@ -4,6 +4,7 @@ import { Item } from '../../core/shared/item.model';
import { RemoteData } from '../../core/data/remote-data'; import { RemoteData } from '../../core/data/remote-data';
import { Bitstream } from '../../core/shared/bitstream.model'; import { Bitstream } from '../../core/shared/bitstream.model';
import { PaginatedList } from '../../core/data/paginated-list'; import { PaginatedList } from '../../core/data/paginated-list';
import { createPaginatedList, createSuccessfulRemoteDataObject$ } from '../testing/utils';
/* tslint:disable:no-shadowed-variable */ /* tslint:disable:no-shadowed-variable */
export const MockItem: Item = Object.assign(new Item(), { export const MockItem: Item = Object.assign(new Item(), {
@@ -12,6 +13,9 @@ export const MockItem: Item = Object.assign(new Item(), {
isArchived: true, isArchived: true,
isDiscoverable: true, isDiscoverable: true,
isWithdrawn: false, isWithdrawn: false,
bundles: createSuccessfulRemoteDataObject$(createPaginatedList([
{
name: 'ORIGINAL',
bitstreams: observableOf(Object.assign({ bitstreams: observableOf(Object.assign({
self: 'dspace-angular://aggregated/object/1507836003548', self: 'dspace-angular://aggregated/object/1507836003548',
requestPending: false, requestPending: false,
@@ -107,7 +111,9 @@ export const MockItem: Item = Object.assign(new Item(), {
} }
] ]
} }
}) as RemoteData<PaginatedList<Bitstream>>), }))
}
])),
self: 'https://dspace7.4science.it/dspace-spring-rest/api/core/items/0ec7ff22-f211-40ab-a69e-c819b0b1f357', self: 'https://dspace7.4science.it/dspace-spring-rest/api/core/items/0ec7ff22-f211-40ab-a69e-c819b0b1f357',
id: '0ec7ff22-f211-40ab-a69e-c819b0b1f357', id: '0ec7ff22-f211-40ab-a69e-c819b0b1f357',
uuid: '0ec7ff22-f211-40ab-a69e-c819b0b1f357', uuid: '0ec7ff22-f211-40ab-a69e-c819b0b1f357',

View File

@@ -41,7 +41,7 @@ const searchService = getMockSearchService();
const requestServce = getMockRequestService(); const requestServce = getMockRequestService();
const item = Object.assign(new Item(), { const item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -25,7 +25,7 @@ let mockObject: Item;
const mockDataService = {}; const mockDataService = {};
mockObject = Object.assign(new Item(), { mockObject = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -38,7 +38,7 @@ const searchService = getMockSearchService();
const requestServce = getMockRequestService(); const requestServce = getMockRequestService();
const item = Object.assign(new Item(), { const item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -32,7 +32,7 @@ const searchService = getMockSearchService();
const requestServce = getMockRequestService(); const requestServce = getMockRequestService();
const item = Object.assign(new Item(), { const item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -37,7 +37,7 @@ const searchService = getMockSearchService();
const requestServce = getMockRequestService(); const requestServce = getMockRequestService();
const item = Object.assign(new Item(), { const item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -21,7 +21,7 @@ const mockResultObject: ClaimedTaskSearchResult = new ClaimedTaskSearchResult();
mockResultObject.hitHighlights = {}; mockResultObject.hitHighlights = {};
const item = Object.assign(new Item(), { const item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -15,7 +15,7 @@ let component: ItemDetailPreviewFieldComponent;
let fixture: ComponentFixture<ItemDetailPreviewFieldComponent>; let fixture: ComponentFixture<ItemDetailPreviewFieldComponent>;
const mockItemWithAuthorAndDate: Item = Object.assign(new Item(), { const mockItemWithAuthorAndDate: Item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.contributor.author': [ 'dc.contributor.author': [
{ {

View File

@@ -30,7 +30,7 @@ let component: ItemDetailPreviewComponent;
let fixture: ComponentFixture<ItemDetailPreviewComponent>; let fixture: ComponentFixture<ItemDetailPreviewComponent>;
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: observableOf(new RemoteData(false, false, true, undefined, new PaginatedList(new PageInfo(), []))), bundles: observableOf(new RemoteData(false, false, true, undefined, new PaginatedList(new PageInfo(), []))),
metadata: { metadata: {
'dc.contributor.author': [ 'dc.contributor.author': [
{ {
@@ -88,7 +88,7 @@ describe('ItemDetailPreviewComponent', () => {
component.object = { hitHighlights: {} } as any; component.object = { hitHighlights: {} } as any;
component.item = mockItem; component.item = mockItem;
component.separator = ', '; component.separator = ', ';
spyOn(component.item, 'getFiles').and.returnValue(mockItem.bitstreams); spyOn(component.item, 'getFiles').and.returnValue(mockItem.bundles);
fixture.detectChanges(); fixture.detectChanges();
})); }));

View File

@@ -18,7 +18,7 @@ const mockResultObject: ItemSearchResult = new ItemSearchResult();
mockResultObject.hitHighlights = {}; mockResultObject.hitHighlights = {};
mockResultObject.indexableObject = Object.assign(new Item(), { mockResultObject.indexableObject = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -21,7 +21,7 @@ const mockResultObject: PoolTaskSearchResult = new PoolTaskSearchResult();
mockResultObject.hitHighlights = {}; mockResultObject.hitHighlights = {};
const item = Object.assign(new Item(), { const item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -20,7 +20,7 @@ const mockResultObject: WorkflowItemSearchResult = new WorkflowItemSearchResult(
mockResultObject.hitHighlights = {}; mockResultObject.hitHighlights = {};
const item = Object.assign(new Item(), { const item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -20,7 +20,7 @@ const mockResultObject: WorkflowItemSearchResult = new WorkflowItemSearchResult(
mockResultObject.hitHighlights = {}; mockResultObject.hitHighlights = {};
const item = Object.assign(new Item(), { const item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -12,7 +12,7 @@ import { PaginatedList } from '../../../../../core/data/paginated-list';
import { PageInfo } from '../../../../../core/shared/page-info.model'; import { PageInfo } from '../../../../../core/shared/page-info.model';
const mockItem = Object.assign(new Item(), { const mockItem = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -15,7 +15,7 @@ import { PublicationSearchResultGridElementComponent } from './publication-searc
const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult(); const mockItemWithMetadata: ItemSearchResult = new ItemSearchResult();
mockItemWithMetadata.hitHighlights = {}; mockItemWithMetadata.hitHighlights = {};
mockItemWithMetadata.indexableObject = Object.assign(new Item(), { mockItemWithMetadata.indexableObject = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {
@@ -47,7 +47,7 @@ mockItemWithMetadata.indexableObject = Object.assign(new Item(), {
const mockItemWithoutMetadata: ItemSearchResult = new ItemSearchResult(); const mockItemWithoutMetadata: ItemSearchResult = new ItemSearchResult();
mockItemWithoutMetadata.hitHighlights = {}; mockItemWithoutMetadata.hitHighlights = {};
mockItemWithoutMetadata.indexableObject = Object.assign(new Item(), { mockItemWithoutMetadata.indexableObject = Object.assign(new Item(), {
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])), bundles: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -8,7 +8,7 @@ import { TruncatableService } from '../../../../truncatable/truncatable.service'
import { of as observableOf } from 'rxjs'; import { of as observableOf } from 'rxjs';
const mockItem: Item = Object.assign(new Item(), { const mockItem: Item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -14,7 +14,7 @@ let fixture: ComponentFixture<ItemTypeBadgeComponent>;
const type = 'authorOfPublication'; const type = 'authorOfPublication';
const mockItemWithRelationshipType = Object.assign(new Item(), { const mockItemWithRelationshipType = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'relationship.type': [ 'relationship.type': [
{ {
@@ -26,7 +26,7 @@ const mockItemWithRelationshipType = Object.assign(new Item(), {
}); });
const mockItemWithoutRelationshipType = Object.assign(new Item(), { const mockItemWithoutRelationshipType = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -23,7 +23,7 @@ const mockResultObject: ClaimedTaskSearchResult = new ClaimedTaskSearchResult();
mockResultObject.hitHighlights = {}; mockResultObject.hitHighlights = {};
const item = Object.assign(new Item(), { const item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -14,7 +14,7 @@ let component: ItemListPreviewComponent;
let fixture: ComponentFixture<ItemListPreviewComponent>; let fixture: ComponentFixture<ItemListPreviewComponent>;
const mockItemWithAuthorAndDate: Item = Object.assign(new Item(), { const mockItemWithAuthorAndDate: Item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.contributor.author': [ 'dc.contributor.author': [
{ {
@@ -31,7 +31,7 @@ const mockItemWithAuthorAndDate: Item = Object.assign(new Item(), {
} }
}); });
const mockItemWithoutAuthorAndDate: Item = Object.assign(new Item(), { const mockItemWithoutAuthorAndDate: Item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -19,7 +19,7 @@ const mockResultObject: ItemSearchResult = new ItemSearchResult();
mockResultObject.hitHighlights = {}; mockResultObject.hitHighlights = {};
mockResultObject.indexableObject = Object.assign(new Item(), { mockResultObject.indexableObject = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -22,7 +22,7 @@ const mockResultObject: PoolTaskSearchResult = new PoolTaskSearchResult();
mockResultObject.hitHighlights = {}; mockResultObject.hitHighlights = {};
const item = Object.assign(new Item(), { const item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -21,7 +21,7 @@ const mockResultObject: WorkflowItemSearchResult = new WorkflowItemSearchResult(
mockResultObject.hitHighlights = {}; mockResultObject.hitHighlights = {};
const item = Object.assign(new Item(), { const item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -21,7 +21,7 @@ const mockResultObject: WorkflowItemSearchResult = new WorkflowItemSearchResult(
mockResultObject.hitHighlights = {}; mockResultObject.hitHighlights = {};
const item = Object.assign(new Item(), { const item = Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -14,7 +14,7 @@ let fixture: ComponentFixture<PublicationSearchResultListElementComponent>;
const mockItemWithMetadata: ItemSearchResult = Object.assign(new ItemSearchResult(), { const mockItemWithMetadata: ItemSearchResult = Object.assign(new ItemSearchResult(), {
indexableObject: indexableObject:
Object.assign(new Item(), { Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {
@@ -52,7 +52,7 @@ const mockItemWithMetadata: ItemSearchResult = Object.assign(new ItemSearchResul
const mockItemWithoutMetadata: ItemSearchResult = Object.assign(new ItemSearchResult(), { const mockItemWithoutMetadata: ItemSearchResult = Object.assign(new ItemSearchResult(), {
indexableObject: indexableObject:
Object.assign(new Item(), { Object.assign(new Item(), {
bitstreams: observableOf({}), bundles: observableOf({}),
metadata: { metadata: {
'dc.title': [ 'dc.title': [
{ {

View File

@@ -24,7 +24,7 @@ describe('ItemSelectComponent', () => {
const mockItemList = [ const mockItemList = [
Object.assign(new Item(), { Object.assign(new Item(), {
id: 'id1', id: 'id1',
bitstreams: of({}), bundles: of({}),
metadata: [ metadata: [
{ {
key: 'dc.title', key: 'dc.title',
@@ -39,7 +39,7 @@ describe('ItemSelectComponent', () => {
}), }),
Object.assign(new Item(), { Object.assign(new Item(), {
id: 'id2', id: 'id2',
bitstreams: of({}), bundles: of({}),
metadata: [ metadata: [
{ {
key: 'dc.title', key: 'dc.title',

View File

@@ -2,6 +2,8 @@ import { ComponentFixture, TestBed } from '@angular/core/testing';
import { RemoteData } from '../../core/data/remote-data'; import { RemoteData } from '../../core/data/remote-data';
import { Observable, of as observableOf } from 'rxjs'; import { Observable, of as observableOf } from 'rxjs';
import { RemoteDataError } from '../../core/data/remote-data-error'; import { RemoteDataError } from '../../core/data/remote-data-error';
import { PaginatedList } from '../../core/data/paginated-list';
import { PageInfo } from '../../core/shared/page-info.model';
/** /**
* Returns true if a Native Element has a specified css class. * Returns true if a Native Element has a specified css class.
@@ -122,6 +124,14 @@ export function createPendingRemoteDataObject$<T>(object?: T): Observable<Remote
return observableOf(createPendingRemoteDataObject(object)); return observableOf(createPendingRemoteDataObject(object));
} }
/**
* Method to create a paginated list for an array of objects
* @param objects An array representing the paginated list's page
*/
export function createPaginatedList<T>(objects?: T[]): PaginatedList<T> {
return new PaginatedList(new PageInfo(), objects);
}
/** /**
* Creates a jasmine spy for an exported function * Creates a jasmine spy for an exported function
* @param target The object to spy on * @param target The object to spy on