mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
solved issues with browse pages
This commit is contained in:
@@ -342,7 +342,7 @@ describe('ItemComponent', () => {
|
|||||||
id: '123',
|
id: '123',
|
||||||
leftItem: createSuccessfulRemoteDataObject$(mockItem),
|
leftItem: createSuccessfulRemoteDataObject$(mockItem),
|
||||||
rightItem: createSuccessfulRemoteDataObject$(relatedItem),
|
rightItem: createSuccessfulRemoteDataObject$(relatedItem),
|
||||||
relationshipType: createSuccessfulRemoteDataObject$new RelationshipType())
|
relationshipType: createSuccessfulRemoteDataObject$(new RelationshipType())
|
||||||
})
|
})
|
||||||
]));
|
]));
|
||||||
mockItem.metadata[metadataField] = [
|
mockItem.metadata[metadataField] = [
|
||||||
|
@@ -1,10 +1,12 @@
|
|||||||
import { autoserialize, autoserializeAs } from 'cerialize';
|
import { autoserialize, inheritSerialization } from 'cerialize';
|
||||||
import { MetadataMap } from '../core/shared/metadata.models';
|
import { MetadataMap } from '../core/shared/metadata.models';
|
||||||
import { ListableObject } from '../shared/object-collection/shared/listable-object.model';
|
import { ListableObject } from '../shared/object-collection/shared/listable-object.model';
|
||||||
|
import { NormalizedObject } from '../core/cache/models/normalized-object.model';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a normalized version of a search result object of a certain DSpaceObject
|
* Represents a normalized version of a search result object of a certain DSpaceObject
|
||||||
*/
|
*/
|
||||||
|
@inheritSerialization(NormalizedObject)
|
||||||
export class NormalizedSearchResult implements ListableObject {
|
export class NormalizedSearchResult implements ListableObject {
|
||||||
/**
|
/**
|
||||||
* The UUID of the DSpaceObject that was found
|
* The UUID of the DSpaceObject that was found
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
import { AuthStatus } from './auth-status.model';
|
import { AuthStatus } from './auth-status.model';
|
||||||
import { autoserialize, autoserializeAs, inheritSerialization } from 'cerialize';
|
import { autoserialize, autoserializeAs, inheritSerialization } from 'cerialize';
|
||||||
import { mapsTo, relationship } from '../../cache/builders/build-decorators';
|
import { mapsTo, relationship } from '../../cache/builders/build-decorators';
|
||||||
import { ResourceType } from '../../shared/resource-type';
|
|
||||||
import { NormalizedObject } from '../../cache/models/normalized-object.model';
|
import { NormalizedObject } from '../../cache/models/normalized-object.model';
|
||||||
import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer';
|
import { IDToUUIDSerializer } from '../../cache/id-to-uuid-serializer';
|
||||||
import { EPerson } from '../../eperson/models/eperson.model';
|
import { EPerson } from '../../eperson/models/eperson.model';
|
||||||
|
@@ -1,8 +1,9 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { Observable, of as observableOf } from 'rxjs';
|
import { Observable, of as observableOf } from 'rxjs';
|
||||||
import { distinctUntilChanged, map, startWith, take } from 'rxjs/operators';
|
import { distinctUntilChanged, map, startWith } from 'rxjs/operators';
|
||||||
import {
|
import {
|
||||||
ensureArrayHasValue, hasValue,
|
ensureArrayHasValue,
|
||||||
|
hasValue,
|
||||||
hasValueOperator,
|
hasValueOperator,
|
||||||
isEmpty,
|
isEmpty,
|
||||||
isNotEmpty,
|
isNotEmpty,
|
||||||
@@ -23,7 +24,9 @@ import { BrowseEntry } from '../shared/browse-entry.model';
|
|||||||
import { HALEndpointService } from '../shared/hal-endpoint.service';
|
import { HALEndpointService } from '../shared/hal-endpoint.service';
|
||||||
import {
|
import {
|
||||||
configureRequest,
|
configureRequest,
|
||||||
filterSuccessfulResponses, getBrowseDefinitionLinks, getFirstOccurrence,
|
filterSuccessfulResponses,
|
||||||
|
getBrowseDefinitionLinks,
|
||||||
|
getFirstOccurrence,
|
||||||
getRemoteDataPayload,
|
getRemoteDataPayload,
|
||||||
getRequestFromRequestHref
|
getRequestFromRequestHref
|
||||||
} from '../shared/operators';
|
} from '../shared/operators';
|
||||||
@@ -32,7 +35,6 @@ import { Item } from '../shared/item.model';
|
|||||||
import { DSpaceObject } from '../shared/dspace-object.model';
|
import { DSpaceObject } from '../shared/dspace-object.model';
|
||||||
import { BrowseEntrySearchOptions } from './browse-entry-search-options.model';
|
import { BrowseEntrySearchOptions } from './browse-entry-search-options.model';
|
||||||
import { GenericSuccessResponse } from '../cache/response.models';
|
import { GenericSuccessResponse } from '../cache/response.models';
|
||||||
import { RequestEntry } from '../data/request.reducer';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The service handling all browse requests
|
* The service handling all browse requests
|
||||||
|
@@ -5,7 +5,6 @@ import { mapsTo, relationship } from '../../builders/build-decorators';
|
|||||||
import { NormalizedDSpaceObject } from '../normalized-dspace-object.model';
|
import { NormalizedDSpaceObject } from '../normalized-dspace-object.model';
|
||||||
import { NormalizedObject } from '../normalized-object.model';
|
import { NormalizedObject } from '../normalized-object.model';
|
||||||
import { IDToUUIDSerializer } from '../../id-to-uuid-serializer';
|
import { IDToUUIDSerializer } from '../../id-to-uuid-serializer';
|
||||||
import { NormalizedItemType } from './normalized-item-type.model';
|
|
||||||
import { ItemType } from '../../../shared/item-relationships/item-type.model';
|
import { ItemType } from '../../../shared/item-relationships/item-type.model';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -1,11 +1,10 @@
|
|||||||
import { autoserialize, autoserializeAs, inheritSerialization } from 'cerialize';
|
import { autoserialize, autoserializeAs, inheritSerialization } from 'cerialize';
|
||||||
import { Relationship } from '../../../shared/item-relationships/relationship.model';
|
import { Relationship } from '../../../shared/item-relationships/relationship.model';
|
||||||
import { ResourceType } from '../../../shared/resource-type';
|
|
||||||
import { mapsTo, relationship } from '../../builders/build-decorators';
|
import { mapsTo, relationship } from '../../builders/build-decorators';
|
||||||
import { NormalizedObject } from '../normalized-object.model';
|
import { NormalizedObject } from '../normalized-object.model';
|
||||||
import { IDToUUIDSerializer } from '../../id-to-uuid-serializer';
|
import { IDToUUIDSerializer } from '../../id-to-uuid-serializer';
|
||||||
import { NormalizedRelationshipType } from './normalized-relationship-type.model';
|
|
||||||
import { RelationshipType } from '../../../shared/item-relationships/relationship-type.model';
|
import { RelationshipType } from '../../../shared/item-relationships/relationship-type.model';
|
||||||
|
import { Item } from '../../../shared/item.model';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normalized model class for a DSpace Relationship
|
* Normalized model class for a DSpace Relationship
|
||||||
@@ -24,14 +23,14 @@ export class NormalizedRelationship extends NormalizedObject<Relationship> {
|
|||||||
* The item to the left of this relationship
|
* The item to the left of this relationship
|
||||||
*/
|
*/
|
||||||
@autoserialize
|
@autoserialize
|
||||||
@relationship(ResourceType.Item, false)
|
@relationship(Item, false)
|
||||||
leftItem: string;
|
leftItem: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The item to the right of this relationship
|
* The item to the right of this relationship
|
||||||
*/
|
*/
|
||||||
@autoserialize
|
@autoserialize
|
||||||
@relationship(ResourceType.Item, false)
|
@relationship(Item, false)
|
||||||
rightItem: string;
|
rightItem: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -2,7 +2,6 @@ import { autoserialize, inheritSerialization } from 'cerialize';
|
|||||||
import { mapsTo } from '../builders/build-decorators';
|
import { mapsTo } from '../builders/build-decorators';
|
||||||
import { NormalizedDSpaceObject } from './normalized-dspace-object.model';
|
import { NormalizedDSpaceObject } from './normalized-dspace-object.model';
|
||||||
import { License } from '../../shared/license.model';
|
import { License } from '../../shared/license.model';
|
||||||
import { ResourceType } from '../../shared/resource-type';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normalized model class for a Collection License
|
* Normalized model class for a Collection License
|
||||||
|
@@ -5,7 +5,6 @@ import { mapsTo } from '../builders/build-decorators';
|
|||||||
import { NormalizedObject } from './normalized-object.model';
|
import { NormalizedObject } from './normalized-object.model';
|
||||||
import { IDToUUIDSerializer } from '../id-to-uuid-serializer';
|
import { IDToUUIDSerializer } from '../id-to-uuid-serializer';
|
||||||
import { ActionType } from './action-type.model';
|
import { ActionType } from './action-type.model';
|
||||||
import { ResourceType } from '../../shared/resource-type';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normalized model class for a Resource Policy
|
* Normalized model class for a Resource Policy
|
||||||
|
@@ -100,7 +100,6 @@ import { NormalizedSubmissionFormsModel } from './config/models/normalized-confi
|
|||||||
import { NormalizedSubmissionSectionModel } from './config/models/normalized-config-submission-section.model';
|
import { NormalizedSubmissionSectionModel } from './config/models/normalized-config-submission-section.model';
|
||||||
import { NormalizedAuthStatus } from './auth/models/normalized-auth-status.model';
|
import { NormalizedAuthStatus } from './auth/models/normalized-auth-status.model';
|
||||||
import { NormalizedAuthorityValue } from './integration/models/normalized-authority-value.model';
|
import { NormalizedAuthorityValue } from './integration/models/normalized-authority-value.model';
|
||||||
import { BrowseEntry } from './shared/browse-entry.model';
|
|
||||||
import { RoleService } from './roles/role.service';
|
import { RoleService } from './roles/role.service';
|
||||||
import { MyDSpaceGuard } from '../+my-dspace-page/my-dspace.guard';
|
import { MyDSpaceGuard } from '../+my-dspace-page/my-dspace.guard';
|
||||||
import { MyDSpaceResponseParsingService } from './data/mydspace-response-parsing.service';
|
import { MyDSpaceResponseParsingService } from './data/mydspace-response-parsing.service';
|
||||||
@@ -115,6 +114,8 @@ import { NormalizedRelationshipType } from './cache/models/items/normalized-rela
|
|||||||
import { NormalizedItemType } from './cache/models/items/normalized-item-type.model';
|
import { NormalizedItemType } from './cache/models/items/normalized-item-type.model';
|
||||||
import { MetadatafieldParsingService } from './data/metadatafield-parsing.service';
|
import { MetadatafieldParsingService } from './data/metadatafield-parsing.service';
|
||||||
import { NormalizedSubmissionUploadsModel } from './config/models/normalized-config-submission-uploads.model';
|
import { NormalizedSubmissionUploadsModel } from './config/models/normalized-config-submission-uploads.model';
|
||||||
|
import { NormalizedBrowseEntry } from './shared/normalized-browse-entry.model';
|
||||||
|
import { BrowseDefinition } from './shared/browse-definition.model';
|
||||||
|
|
||||||
const IMPORTS = [
|
const IMPORTS = [
|
||||||
CommonModule,
|
CommonModule,
|
||||||
@@ -237,7 +238,8 @@ export const normalizedModels =
|
|||||||
NormalizedSubmissionUploadsModel,
|
NormalizedSubmissionUploadsModel,
|
||||||
NormalizedAuthStatus,
|
NormalizedAuthStatus,
|
||||||
NormalizedAuthorityValue,
|
NormalizedAuthorityValue,
|
||||||
BrowseEntry,
|
NormalizedBrowseEntry,
|
||||||
|
BrowseDefinition,
|
||||||
NormalizedClaimedTask,
|
NormalizedClaimedTask,
|
||||||
NormalizedTaskObject,
|
NormalizedTaskObject,
|
||||||
NormalizedPoolTask,
|
NormalizedPoolTask,
|
||||||
|
@@ -3,17 +3,13 @@ import { GLOBAL_CONFIG } from '../../../config';
|
|||||||
import { GlobalConfig } from '../../../config/global-config.interface';
|
import { GlobalConfig } from '../../../config/global-config.interface';
|
||||||
import { isNotEmpty } from '../../shared/empty.util';
|
import { isNotEmpty } from '../../shared/empty.util';
|
||||||
import { ObjectCacheService } from '../cache/object-cache.service';
|
import { ObjectCacheService } from '../cache/object-cache.service';
|
||||||
import {
|
import { ErrorResponse, GenericSuccessResponse, RestResponse } from '../cache/response.models';
|
||||||
ErrorResponse,
|
|
||||||
GenericSuccessResponse,
|
|
||||||
RestResponse
|
|
||||||
} from '../cache/response.models';
|
|
||||||
import { DSpaceRESTV2Response } from '../dspace-rest-v2/dspace-rest-v2-response.model';
|
import { DSpaceRESTV2Response } from '../dspace-rest-v2/dspace-rest-v2-response.model';
|
||||||
import { DSpaceRESTv2Serializer } from '../dspace-rest-v2/dspace-rest-v2.serializer';
|
import { DSpaceRESTv2Serializer } from '../dspace-rest-v2/dspace-rest-v2.serializer';
|
||||||
import { BrowseEntry } from '../shared/browse-entry.model';
|
|
||||||
import { BaseResponseParsingService } from './base-response-parsing.service';
|
import { BaseResponseParsingService } from './base-response-parsing.service';
|
||||||
import { ResponseParsingService } from './parsing.service';
|
import { ResponseParsingService } from './parsing.service';
|
||||||
import { RestRequest } from './request.models';
|
import { RestRequest } from './request.models';
|
||||||
|
import { NormalizedBrowseEntry } from '../shared/normalized-browse-entry.model';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class BrowseEntriesResponseParsingService extends BaseResponseParsingService implements ResponseParsingService {
|
export class BrowseEntriesResponseParsingService extends BaseResponseParsingService implements ResponseParsingService {
|
||||||
@@ -30,7 +26,7 @@ export class BrowseEntriesResponseParsingService extends BaseResponseParsingServ
|
|||||||
if (isNotEmpty(data.payload)) {
|
if (isNotEmpty(data.payload)) {
|
||||||
let browseEntries = [];
|
let browseEntries = [];
|
||||||
if (isNotEmpty(data.payload._embedded) && Array.isArray(data.payload._embedded[Object.keys(data.payload._embedded)[0]])) {
|
if (isNotEmpty(data.payload._embedded) && Array.isArray(data.payload._embedded[Object.keys(data.payload._embedded)[0]])) {
|
||||||
const serializer = new DSpaceRESTv2Serializer(BrowseEntry);
|
const serializer = new DSpaceRESTv2Serializer(NormalizedBrowseEntry);
|
||||||
browseEntries = serializer.deserializeArray(data.payload._embedded[Object.keys(data.payload._embedded)[0]]);
|
browseEntries = serializer.deserializeArray(data.payload._embedded[Object.keys(data.payload._embedded)[0]]);
|
||||||
}
|
}
|
||||||
return new GenericSuccessResponse(browseEntries, data.statusCode, data.statusText, this.processPageInfo(data.payload));
|
return new GenericSuccessResponse(browseEntries, data.statusCode, data.statusText, this.processPageInfo(data.payload));
|
||||||
|
@@ -113,7 +113,6 @@ describe('BrowseResponseParsingService', () => {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
defaultSortOrder: 'ASC',
|
defaultSortOrder: 'ASC',
|
||||||
type: 'browse',
|
|
||||||
metadataKeys: [
|
metadataKeys: [
|
||||||
'dc.date.issued'
|
'dc.date.issued'
|
||||||
],
|
],
|
||||||
@@ -139,7 +138,6 @@ describe('BrowseResponseParsingService', () => {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
defaultSortOrder: 'ASC',
|
defaultSortOrder: 'ASC',
|
||||||
type: 'browse',
|
|
||||||
metadataKeys: [
|
metadataKeys: [
|
||||||
'dc.contributor.*',
|
'dc.contributor.*',
|
||||||
'dc.creator'
|
'dc.creator'
|
||||||
@@ -173,6 +171,5 @@ describe('BrowseResponseParsingService', () => {
|
|||||||
const response = service.parse(validRequest, validResponse);
|
const response = service.parse(validRequest, validResponse);
|
||||||
expect((response as GenericSuccessResponse<BrowseDefinition[]>).payload).toEqual(definitions);
|
expect((response as GenericSuccessResponse<BrowseDefinition[]>).payload).toEqual(definitions);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import { autoserialize, deserialize } from 'cerialize';
|
import { autoserialize, deserialize, inheritSerialization } from 'cerialize';
|
||||||
import { mapsTo, relationship } from '../cache/builders/build-decorators';
|
import { mapsTo, relationship } from '../cache/builders/build-decorators';
|
||||||
import { MetadataField } from './metadata-field.model';
|
import { MetadataField } from './metadata-field.model';
|
||||||
import { NormalizedObject } from '../cache/models/normalized-object.model';
|
import { NormalizedObject } from '../cache/models/normalized-object.model';
|
||||||
@@ -9,6 +9,7 @@ import { MetadataSchema } from './metadata-schema.model';
|
|||||||
* Class the represents a normalized metadata field
|
* Class the represents a normalized metadata field
|
||||||
*/
|
*/
|
||||||
@mapsTo(MetadataField)
|
@mapsTo(MetadataField)
|
||||||
|
@inheritSerialization(NormalizedObject)
|
||||||
export class NormalizedMetadataField extends NormalizedObject<MetadataField> implements ListableObject {
|
export class NormalizedMetadataField extends NormalizedObject<MetadataField> implements ListableObject {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -1,14 +1,14 @@
|
|||||||
import { autoserialize } from 'cerialize';
|
import { autoserialize, inheritSerialization } from 'cerialize';
|
||||||
import { NormalizedObject } from '../cache/models/normalized-object.model';
|
import { NormalizedObject } from '../cache/models/normalized-object.model';
|
||||||
import { mapsTo } from '../cache/builders/build-decorators';
|
import { mapsTo } from '../cache/builders/build-decorators';
|
||||||
import { ListableObject } from '../../shared/object-collection/shared/listable-object.model';
|
import { ListableObject } from '../../shared/object-collection/shared/listable-object.model';
|
||||||
import { ResourceType } from '../shared/resource-type';
|
|
||||||
import { MetadataSchema } from './metadata-schema.model';
|
import { MetadataSchema } from './metadata-schema.model';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normalized class for a DSpace MetadataSchema
|
* Normalized class for a DSpace MetadataSchema
|
||||||
*/
|
*/
|
||||||
@mapsTo(MetadataSchema)
|
@mapsTo(MetadataSchema)
|
||||||
|
@inheritSerialization(NormalizedObject)
|
||||||
export class NormalizedMetadataSchema extends NormalizedObject<MetadataSchema> implements ListableObject {
|
export class NormalizedMetadataSchema extends NormalizedObject<MetadataSchema> implements ListableObject {
|
||||||
/**
|
/**
|
||||||
* The unique identifier for this schema
|
* The unique identifier for this schema
|
||||||
|
@@ -4,6 +4,8 @@ import { ResourceType } from './resource-type';
|
|||||||
import { TypedObject } from '../cache/object-cache.reducer';
|
import { TypedObject } from '../cache/object-cache.reducer';
|
||||||
|
|
||||||
export class BrowseDefinition implements TypedObject {
|
export class BrowseDefinition implements TypedObject {
|
||||||
|
static type = new ResourceType('browse');
|
||||||
|
|
||||||
@autoserialize
|
@autoserialize
|
||||||
id: string;
|
id: string;
|
||||||
|
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
import { autoserialize, autoserializeAs } from 'cerialize';
|
import { autoserialize, autoserializeAs, inheritSerialization } from 'cerialize';
|
||||||
import { ResourceType } from './resource-type';
|
|
||||||
import { BrowseEntry } from './browse-entry.model';
|
import { BrowseEntry } from './browse-entry.model';
|
||||||
import { NormalizedObject } from '../cache/models/normalized-object.model';
|
import { NormalizedObject } from '../cache/models/normalized-object.model';
|
||||||
import { mapsTo } from '../cache/builders/build-decorators';
|
import { mapsTo } from '../cache/builders/build-decorators';
|
||||||
@@ -9,6 +8,7 @@ import { mapsTo } from '../cache/builders/build-decorators';
|
|||||||
* This class is not normalized because browse entries do not have self links
|
* This class is not normalized because browse entries do not have self links
|
||||||
*/
|
*/
|
||||||
@mapsTo(BrowseEntry)
|
@mapsTo(BrowseEntry)
|
||||||
|
@inheritSerialization(NormalizedObject)
|
||||||
export class NormalizedBrowseEntry extends NormalizedObject<BrowseEntry> {
|
export class NormalizedBrowseEntry extends NormalizedObject<BrowseEntry> {
|
||||||
/**
|
/**
|
||||||
* The authority string of this browse entry
|
* The authority string of this browse entry
|
||||||
|
@@ -27,17 +27,16 @@ import { SubmissionJsonPatchOperationsService } from '../../../core/submission/s
|
|||||||
import { SubmissionJsonPatchOperationsServiceStub } from '../../../shared/testing/submission-json-patch-operations-service-stub';
|
import { SubmissionJsonPatchOperationsServiceStub } from '../../../shared/testing/submission-json-patch-operations-service-stub';
|
||||||
import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder';
|
import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder';
|
||||||
import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner';
|
import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner';
|
||||||
import { Community } from '../../../core/shared/community.model';
|
|
||||||
import { PaginatedList } from '../../../core/data/paginated-list';
|
import { PaginatedList } from '../../../core/data/paginated-list';
|
||||||
import { PageInfo } from '../../../core/shared/page-info.model';
|
import { PageInfo } from '../../../core/shared/page-info.model';
|
||||||
import { Collection } from '../../../core/shared/collection.model';
|
import { Collection } from '../../../core/shared/collection.model';
|
||||||
import {
|
import {
|
||||||
createSuccessfulRemoteDataObject$,
|
|
||||||
createTestComponent
|
createTestComponent
|
||||||
} from '../../../shared/testing/utils';
|
} from '../../../shared/testing/utils';
|
||||||
import { cold } from 'jasmine-marbles';
|
import { cold } from 'jasmine-marbles';
|
||||||
import { SearchResult } from '../../../+search-page/search-result.model';
|
import { SearchResult } from '../../../+search-page/search-result.model';
|
||||||
import { SearchService } from '../../../+search-page/search-service/search.service';
|
import { SearchService } from '../../../+search-page/search-service/search.service';
|
||||||
|
import { RemoteData } from '../../../core/data/remote-data';
|
||||||
|
|
||||||
const mockCommunity1Collection1 = Object.assign(new Collection(), {
|
const mockCommunity1Collection1 = Object.assign(new Collection(), {
|
||||||
name: 'Community 1-Collection 1',
|
name: 'Community 1-Collection 1',
|
||||||
|
Reference in New Issue
Block a user