mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
Simplified and refactored manual creation of remote data objects for tests
This commit is contained in:
@@ -13,6 +13,7 @@ import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
||||
import { EnumKeysPipe } from '../../../shared/utils/enum-keys-pipe';
|
||||
import { HostWindowService } from '../../../shared/host-window.service';
|
||||
import { HostWindowServiceStub } from '../../../shared/testing/host-window-service-stub';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../shared/testing/utils';
|
||||
|
||||
describe('BitstreamFormatsComponent', () => {
|
||||
let comp: BitstreamFormatsComponent;
|
||||
@@ -52,7 +53,7 @@ describe('BitstreamFormatsComponent', () => {
|
||||
extensions: null
|
||||
}
|
||||
];
|
||||
const mockFormats = observableOf(new RemoteData(false, false, true, undefined, new PaginatedList(null, mockFormatsList)));
|
||||
const mockFormats = createSuccessfulRemoteDataObject$(new PaginatedList(null, mockFormatsList));
|
||||
const registryServiceStub = {
|
||||
getBitstreamFormats: () => mockFormats
|
||||
};
|
||||
|
@@ -17,6 +17,7 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { NotificationsService } from '../../../shared/notifications/notifications.service';
|
||||
import { NotificationsServiceStub } from '../../../shared/testing/notifications-service-stub';
|
||||
import { RestResponse } from '../../../core/cache/response.models';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../shared/testing/utils';
|
||||
|
||||
describe('MetadataRegistryComponent', () => {
|
||||
let comp: MetadataRegistryComponent;
|
||||
@@ -36,7 +37,7 @@ describe('MetadataRegistryComponent', () => {
|
||||
namespace: 'http://dspace.org/mockschema'
|
||||
}
|
||||
];
|
||||
const mockSchemas = observableOf(new RemoteData(false, false, true, undefined, new PaginatedList(null, mockSchemasList)));
|
||||
const mockSchemas = createSuccessfulRemoteDataObject$(new PaginatedList(null, mockSchemasList));
|
||||
/* tslint:disable:no-empty */
|
||||
const registryServiceStub = {
|
||||
getMetadataSchemas: () => mockSchemas,
|
||||
|
@@ -21,6 +21,7 @@ import { NotificationsService } from '../../../shared/notifications/notification
|
||||
import { NotificationsServiceStub } from '../../../shared/testing/notifications-service-stub';
|
||||
import { RestResponse } from '../../../core/cache/response.models';
|
||||
import { MetadataSchema } from '../../../core/metadata/metadata-schema.model';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../shared/testing/utils';
|
||||
|
||||
describe('MetadataSchemaComponent', () => {
|
||||
let comp: MetadataSchemaComponent;
|
||||
@@ -74,12 +75,12 @@ describe('MetadataSchemaComponent', () => {
|
||||
schema: mockSchemasList[1]
|
||||
}
|
||||
];
|
||||
const mockSchemas = observableOf(new RemoteData(false, false, true, undefined, new PaginatedList(null, mockSchemasList)));
|
||||
const mockSchemas = createSuccessfulRemoteDataObject$(new PaginatedList(null, mockSchemasList));
|
||||
/* tslint:disable:no-empty */
|
||||
const registryServiceStub = {
|
||||
getMetadataSchemas: () => mockSchemas,
|
||||
getMetadataFieldsBySchema: (schema: MetadataSchema) => observableOf(new RemoteData(false, false, true, undefined, new PaginatedList(null, mockFieldsList.filter((value) => value.schema === schema)))),
|
||||
getMetadataSchemaByName: (schemaName: string) => observableOf(new RemoteData(false, false, true, undefined, mockSchemasList.filter((value) => value.prefix === schemaName)[0])),
|
||||
getMetadataFieldsBySchema: (schema: MetadataSchema) => createSuccessfulRemoteDataObject$(new PaginatedList(null, mockFieldsList.filter((value) => value.schema === schema))),
|
||||
getMetadataSchemaByName: (schemaName: string) => createSuccessfulRemoteDataObject$(mockSchemasList.filter((value) => value.prefix === schemaName)[0]),
|
||||
getActiveMetadataField: () => observableOf(undefined),
|
||||
getSelectedMetadataFields: () => observableOf([]),
|
||||
editMetadataField: (schema) => {},
|
||||
|
@@ -18,6 +18,7 @@ import { Item } from '../../core/shared/item.model';
|
||||
import { ENV_CONFIG, GLOBAL_CONFIG } from '../../../config';
|
||||
import { BrowseEntrySearchOptions } from '../../core/browse/browse-entry-search-options.model';
|
||||
import { toRemoteData } from '../+browse-by-metadata-page/browse-by-metadata-page.component.spec';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../shared/testing/utils';
|
||||
|
||||
describe('BrowseByDatePageComponent', () => {
|
||||
let comp: BrowseByDatePageComponent;
|
||||
@@ -48,11 +49,11 @@ describe('BrowseByDatePageComponent', () => {
|
||||
const mockBrowseService = {
|
||||
getBrowseEntriesFor: (options: BrowseEntrySearchOptions) => toRemoteData([]),
|
||||
getBrowseItemsFor: (value: string, options: BrowseEntrySearchOptions) => toRemoteData([firstItem]),
|
||||
getFirstItemFor: () => observableOf(new RemoteData(false, false, true, undefined, firstItem))
|
||||
getFirstItemFor: () => createSuccessfulRemoteDataObject$(firstItem)
|
||||
};
|
||||
|
||||
const mockDsoService = {
|
||||
findById: () => observableOf(new RemoteData(false, false, true, null, mockCommunity))
|
||||
findById: () => createSuccessfulRemoteDataObject$(mockCommunity)
|
||||
};
|
||||
|
||||
const activatedRouteStub = Object.assign(new ActivatedRouteStub(), {
|
||||
|
@@ -21,6 +21,7 @@ import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.serv
|
||||
import { Community } from '../../core/shared/community.model';
|
||||
import { MockRouter } from '../../shared/mocks/mock-router';
|
||||
import { ResourceType } from '../../core/shared/resource-type';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../shared/testing/utils';
|
||||
|
||||
describe('BrowseByMetadataPageComponent', () => {
|
||||
let comp: BrowseByMetadataPageComponent;
|
||||
@@ -74,7 +75,7 @@ describe('BrowseByMetadataPageComponent', () => {
|
||||
};
|
||||
|
||||
const mockDsoService = {
|
||||
findById: () => observableOf(new RemoteData(false, false, true, null, mockCommunity))
|
||||
findById: () => createSuccessfulRemoteDataObject$(mockCommunity)
|
||||
};
|
||||
|
||||
const activatedRouteStub = Object.assign(new ActivatedRouteStub(), {
|
||||
@@ -155,5 +156,5 @@ describe('BrowseByMetadataPageComponent', () => {
|
||||
});
|
||||
|
||||
export function toRemoteData(objects: any[]): Observable<RemoteData<PaginatedList<any>>> {
|
||||
return observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), objects)));
|
||||
return createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), objects));
|
||||
}
|
||||
|
@@ -17,6 +17,7 @@ import { RemoteData } from '../../core/data/remote-data';
|
||||
import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.service';
|
||||
import { BrowseService } from '../../core/browse/browse.service';
|
||||
import { MockRouter } from '../../shared/mocks/mock-router';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../shared/testing/utils';
|
||||
|
||||
describe('BrowseByTitlePageComponent', () => {
|
||||
let comp: BrowseByTitlePageComponent;
|
||||
@@ -52,7 +53,7 @@ describe('BrowseByTitlePageComponent', () => {
|
||||
};
|
||||
|
||||
const mockDsoService = {
|
||||
findById: () => observableOf(new RemoteData(false, false, true, null, mockCommunity))
|
||||
findById: () => createSuccessfulRemoteDataObject$(mockCommunity)
|
||||
};
|
||||
|
||||
const activatedRouteStub = Object.assign(new ActivatedRouteStub(), {
|
||||
|
@@ -1,9 +1,11 @@
|
||||
import { CreateCollectionPageGuard } from './create-collection-page.guard';
|
||||
import { MockRouter } from '../../shared/mocks/mock-router';
|
||||
import { RemoteData } from '../../core/data/remote-data';
|
||||
import { Community } from '../../core/shared/community.model';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { first } from 'rxjs/operators';
|
||||
import {
|
||||
createFailedRemoteDataObject$,
|
||||
createSuccessfulRemoteDataObject$
|
||||
} from '../../shared/testing/utils';
|
||||
|
||||
describe('CreateCollectionPageGuard', () => {
|
||||
describe('canActivate', () => {
|
||||
@@ -15,11 +17,11 @@ describe('CreateCollectionPageGuard', () => {
|
||||
communityDataServiceStub = {
|
||||
findById: (id: string) => {
|
||||
if (id === 'valid-id') {
|
||||
return observableOf(new RemoteData(false, false, true, null, new Community()));
|
||||
return createSuccessfulRemoteDataObject$(new Community());
|
||||
} else if (id === 'invalid-id') {
|
||||
return observableOf(new RemoteData(false, false, true, null, undefined));
|
||||
return createSuccessfulRemoteDataObject$(undefined);
|
||||
} else if (id === 'error-id') {
|
||||
return observableOf(new RemoteData(false, false, false, null, new Community()));
|
||||
return createFailedRemoteDataObject$(new Community());
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@@ -1,9 +1,11 @@
|
||||
import { CreateCommunityPageGuard } from './create-community-page.guard';
|
||||
import { MockRouter } from '../../shared/mocks/mock-router';
|
||||
import { RemoteData } from '../../core/data/remote-data';
|
||||
import { Community } from '../../core/shared/community.model';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { first } from 'rxjs/operators';
|
||||
import {
|
||||
createFailedRemoteDataObject$,
|
||||
createSuccessfulRemoteDataObject$
|
||||
} from '../../shared/testing/utils';
|
||||
|
||||
describe('CreateCommunityPageGuard', () => {
|
||||
describe('canActivate', () => {
|
||||
@@ -15,11 +17,11 @@ describe('CreateCommunityPageGuard', () => {
|
||||
communityDataServiceStub = {
|
||||
findById: (id: string) => {
|
||||
if (id === 'valid-id') {
|
||||
return observableOf(new RemoteData(false, false, true, null, new Community()));
|
||||
return createSuccessfulRemoteDataObject$(new Community());
|
||||
} else if (id === 'invalid-id') {
|
||||
return observableOf(new RemoteData(false, false, true, null, undefined));
|
||||
return createSuccessfulRemoteDataObject$(undefined);
|
||||
} else if (id === 'error-id') {
|
||||
return observableOf(new RemoteData(false, false, false, null, new Community()));
|
||||
return createFailedRemoteDataObject$(new Community());
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@@ -11,6 +11,7 @@ import {RouterTestingModule} from '@angular/router/testing';
|
||||
import {NoopAnimationsModule} from '@angular/platform-browser/animations';
|
||||
import {By} from '@angular/platform-browser';
|
||||
import {of as observableOf, Observable } from 'rxjs';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../shared/testing/utils';
|
||||
|
||||
describe('SubCommunityList Component', () => {
|
||||
let comp: CommunityPageSubCommunityListComponent;
|
||||
@@ -40,8 +41,7 @@ describe('SubCommunityList Component', () => {
|
||||
{ language: 'en_US', value: 'Test title' }
|
||||
]
|
||||
},
|
||||
subcommunities: observableOf(new RemoteData(true, true, true,
|
||||
undefined, new PaginatedList(new PageInfo(), [])))
|
||||
subcommunities: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), []))
|
||||
});
|
||||
|
||||
const mockCommunity = Object.assign(new Community(), {
|
||||
@@ -50,8 +50,7 @@ describe('SubCommunityList Component', () => {
|
||||
{ language: 'en_US', value: 'Test title' }
|
||||
]
|
||||
},
|
||||
subcommunities: observableOf(new RemoteData(true, true, true,
|
||||
undefined, new PaginatedList(new PageInfo(), subcommunities)))
|
||||
subcommunities: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), subcommunities))
|
||||
})
|
||||
;
|
||||
|
||||
|
@@ -2,6 +2,10 @@ import {RemoteData} from '../../core/data/remote-data';
|
||||
import {hot} from 'jasmine-marbles';
|
||||
import {Item} from '../../core/shared/item.model';
|
||||
import {findSuccessfulAccordingTo} from './edit-item-operators';
|
||||
import {
|
||||
createFailedRemoteDataObject,
|
||||
createSuccessfulRemoteDataObject
|
||||
} from '../../shared/testing/utils';
|
||||
|
||||
describe('findSuccessfulAccordingTo', () => {
|
||||
let mockItem1;
|
||||
@@ -19,11 +23,11 @@ describe('findSuccessfulAccordingTo', () => {
|
||||
});
|
||||
it('should return first successful RemoteData Observable that complies to predicate', () => {
|
||||
const testRD = {
|
||||
a: new RemoteData(false, false, true, null, undefined),
|
||||
b: new RemoteData(false, false, false, null, mockItem1),
|
||||
c: new RemoteData(false, false, true, null, mockItem2),
|
||||
d: new RemoteData(false, false, true, null, mockItem1),
|
||||
e: new RemoteData(false, false, true, null, mockItem2),
|
||||
a: createSuccessfulRemoteDataObject(undefined),
|
||||
b: createFailedRemoteDataObject(mockItem1),
|
||||
c: createSuccessfulRemoteDataObject(mockItem2),
|
||||
d: createSuccessfulRemoteDataObject(mockItem1),
|
||||
e: createSuccessfulRemoteDataObject(mockItem2),
|
||||
};
|
||||
|
||||
const source = hot('abcde', testRD);
|
||||
|
@@ -17,6 +17,7 @@ import { By } from '@angular/platform-browser';
|
||||
import { ItemDeleteComponent } from './item-delete.component';
|
||||
import { getItemEditPath } from '../../item-page-routing.module';
|
||||
import { RestResponse } from '../../../core/cache/response.models';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../shared/testing/utils';
|
||||
|
||||
let comp: ItemDeleteComponent;
|
||||
let fixture: ComponentFixture<ItemDeleteComponent>;
|
||||
@@ -49,7 +50,7 @@ describe('ItemDeleteComponent', () => {
|
||||
|
||||
routeStub = {
|
||||
data: observableOf({
|
||||
item: new RemoteData(false, false, true, null, mockItem)
|
||||
item: createSuccessfulRemoteDataObject(mockItem)
|
||||
})
|
||||
};
|
||||
|
||||
|
@@ -17,6 +17,7 @@ import { TranslateModule } from '@ngx-translate/core';
|
||||
import { MetadatumViewModel } from '../../../../core/shared/metadata.models';
|
||||
import { MetadataSchema } from '../../../../core/metadata/metadata-schema.model';
|
||||
import { MetadataField } from '../../../../core/metadata/metadata-field.model';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
|
||||
|
||||
let comp: EditInPlaceFieldComponent;
|
||||
let fixture: ComponentFixture<EditInPlaceFieldComponent>;
|
||||
@@ -59,7 +60,7 @@ describe('EditInPlaceFieldComponent', () => {
|
||||
paginatedMetadataFields = new PaginatedList(undefined, [mdField1, mdField2, mdField3]);
|
||||
|
||||
metadataFieldService = jasmine.createSpyObj({
|
||||
queryMetadataFields: observableOf(new RemoteData(false, false, true, undefined, paginatedMetadataFields)),
|
||||
queryMetadataFields: createSuccessfulRemoteDataObject$(paginatedMetadataFields),
|
||||
});
|
||||
objectUpdatesService = jasmine.createSpyObj('objectUpdatesService',
|
||||
{
|
||||
|
@@ -20,13 +20,16 @@ import { RouterStub } from '../../../shared/testing/router-stub';
|
||||
import { GLOBAL_CONFIG } from '../../../../config';
|
||||
import { Item } from '../../../core/shared/item.model';
|
||||
import { FieldChangeType } from '../../../core/data/object-updates/object-updates.actions';
|
||||
import { RemoteData } from '../../../core/data/remote-data';
|
||||
import { MetadatumViewModel } from '../../../core/shared/metadata.models';
|
||||
import { RegistryService } from '../../../core/registry/registry.service';
|
||||
import { PaginatedList } from '../../../core/data/paginated-list';
|
||||
import { Metadata } from '../../../core/shared/metadata.utils';
|
||||
import { MetadataSchema } from '../../../core/metadata/metadata-schema.model';
|
||||
import { MetadataField } from '../../../core/metadata/metadata-field.model';
|
||||
import {
|
||||
createSuccessfulRemoteDataObject,
|
||||
createSuccessfulRemoteDataObject$
|
||||
} from '../../../shared/testing/utils';
|
||||
|
||||
let comp: ItemMetadataComponent;
|
||||
let fixture: ComponentFixture<ItemMetadataComponent>;
|
||||
@@ -116,18 +119,18 @@ describe('ItemMetadataComponent', () => {
|
||||
)
|
||||
;
|
||||
itemService = jasmine.createSpyObj('itemService', {
|
||||
update: observableOf(new RemoteData(false, false, true, undefined, item)),
|
||||
update: createSuccessfulRemoteDataObject$(item),
|
||||
commitUpdates: {}
|
||||
});
|
||||
routeStub = {
|
||||
parent: {
|
||||
data: observableOf({ item: new RemoteData(false, false, true, null, item) })
|
||||
data: observableOf({ item: createSuccessfulRemoteDataObject(item) })
|
||||
}
|
||||
};
|
||||
paginatedMetadataFields = new PaginatedList(undefined, [mdField1, mdField2, mdField3]);
|
||||
|
||||
metadataFieldService = jasmine.createSpyObj({
|
||||
getAllMetadataFields: observableOf(new RemoteData(false, false, true, undefined, paginatedMetadataFields))
|
||||
getAllMetadataFields:createSuccessfulRemoteDataObject$(paginatedMetadataFields)
|
||||
});
|
||||
scheduler = getTestScheduler();
|
||||
objectUpdatesService = jasmine.createSpyObj('objectUpdatesService',
|
||||
|
@@ -16,6 +16,7 @@ import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { ItemPrivateComponent } from './item-private.component';
|
||||
import { RestResponse } from '../../../core/cache/response.models';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../shared/testing/utils';
|
||||
|
||||
let comp: ItemPrivateComponent;
|
||||
let fixture: ComponentFixture<ItemPrivateComponent>;
|
||||
@@ -50,7 +51,7 @@ describe('ItemPrivateComponent', () => {
|
||||
|
||||
routeStub = {
|
||||
data: observableOf({
|
||||
item: new RemoteData(false, false, true, null, {
|
||||
item: createSuccessfulRemoteDataObject({
|
||||
id: 'fake-id'
|
||||
})
|
||||
})
|
||||
|
@@ -16,6 +16,7 @@ import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { ItemPublicComponent } from './item-public.component';
|
||||
import { RestResponse } from '../../../core/cache/response.models';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../shared/testing/utils';
|
||||
|
||||
let comp: ItemPublicComponent;
|
||||
let fixture: ComponentFixture<ItemPublicComponent>;
|
||||
@@ -50,7 +51,7 @@ describe('ItemPublicComponent', () => {
|
||||
|
||||
routeStub = {
|
||||
data: observableOf({
|
||||
item: new RemoteData(false, false, true, null, {
|
||||
item: createSuccessfulRemoteDataObject({
|
||||
id: 'fake-id'
|
||||
})
|
||||
})
|
||||
|
@@ -16,6 +16,7 @@ import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { ItemReinstateComponent } from './item-reinstate.component';
|
||||
import { RestResponse } from '../../../core/cache/response.models';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../shared/testing/utils';
|
||||
|
||||
let comp: ItemReinstateComponent;
|
||||
let fixture: ComponentFixture<ItemReinstateComponent>;
|
||||
@@ -50,7 +51,7 @@ describe('ItemReinstateComponent', () => {
|
||||
|
||||
routeStub = {
|
||||
data: observableOf({
|
||||
item: new RemoteData(false, false, true, null, {
|
||||
item: createSuccessfulRemoteDataObject({
|
||||
id: 'fake-id'
|
||||
})
|
||||
})
|
||||
|
@@ -12,6 +12,7 @@ import { By } from '@angular/platform-browser';
|
||||
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { RemoteData } from '../../../core/data/remote-data';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../shared/testing/utils';
|
||||
|
||||
describe('ItemStatusComponent', () => {
|
||||
let comp: ItemStatusComponent;
|
||||
@@ -27,7 +28,7 @@ describe('ItemStatusComponent', () => {
|
||||
|
||||
const routeStub = {
|
||||
parent: {
|
||||
data: observableOf({ item: new RemoteData(false, false, true, null, mockItem) })
|
||||
data: observableOf({ item: createSuccessfulRemoteDataObject(mockItem) })
|
||||
}
|
||||
};
|
||||
|
||||
|
@@ -16,6 +16,7 @@ import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||
import { ItemWithdrawComponent } from './item-withdraw.component';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { RestResponse } from '../../../core/cache/response.models';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../shared/testing/utils';
|
||||
|
||||
let comp: ItemWithdrawComponent;
|
||||
let fixture: ComponentFixture<ItemWithdrawComponent>;
|
||||
@@ -50,7 +51,7 @@ describe('ItemWithdrawComponent', () => {
|
||||
|
||||
routeStub = {
|
||||
data: observableOf({
|
||||
item: new RemoteData(false, false, true, null, {
|
||||
item: createSuccessfulRemoteDataObject({
|
||||
id: 'fake-id'
|
||||
})
|
||||
})
|
||||
|
@@ -17,6 +17,10 @@ import { By } from '@angular/platform-browser';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { getItemEditPath } from '../../item-page-routing.module';
|
||||
import { RestResponse } from '../../../core/cache/response.models';
|
||||
import {
|
||||
createSuccessfulRemoteDataObject,
|
||||
createSuccessfulRemoteDataObject$
|
||||
} from '../../../shared/testing/utils';
|
||||
|
||||
/**
|
||||
* Test component that implements the AbstractSimpleItemActionComponent used to test the
|
||||
@@ -65,12 +69,12 @@ describe('AbstractSimpleItemActionComponent', () => {
|
||||
});
|
||||
|
||||
mockItemDataService = jasmine.createSpyObj({
|
||||
findById: observableOf(new RemoteData(false, false, true, undefined, mockItem))
|
||||
findById: createSuccessfulRemoteDataObject$(mockItem)
|
||||
});
|
||||
|
||||
routeStub = {
|
||||
data: observableOf({
|
||||
item: new RemoteData(false, false, true, null, {
|
||||
item: createSuccessfulRemoteDataObject({
|
||||
id: 'fake-id'
|
||||
})
|
||||
})
|
||||
|
@@ -9,6 +9,10 @@ import { Item } from '../../../core/shared/item.model';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { RemoteData } from '../../../core/data/remote-data';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import {
|
||||
createFailedRemoteDataObject$,
|
||||
createSuccessfulRemoteDataObject$
|
||||
} from '../../../shared/testing/utils';
|
||||
|
||||
let collectionsComponent: CollectionsComponent;
|
||||
let fixture: ComponentFixture<CollectionsComponent>;
|
||||
@@ -24,8 +28,8 @@ const mockCollection1: Collection = Object.assign(new Collection(), {
|
||||
}
|
||||
});
|
||||
|
||||
const succeededMockItem: Item = Object.assign(new Item(), {owningCollection: observableOf(new RemoteData(false, false, true, null, mockCollection1))});
|
||||
const failedMockItem: Item = Object.assign(new Item(), {owningCollection: observableOf(new RemoteData(false, false, false, null, mockCollection1))});
|
||||
const succeededMockItem: Item = Object.assign(new Item(), {owningCollection: createSuccessfulRemoteDataObject$(mockCollection1)});
|
||||
const failedMockItem: Item = Object.assign(new Item(), {owningCollection: createFailedRemoteDataObject$(mockCollection1)});
|
||||
|
||||
describe('CollectionsComponent', () => {
|
||||
beforeEach(async(() => {
|
||||
|
@@ -17,9 +17,13 @@ import { RemoteData } from '../../core/data/remote-data';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import {
|
||||
createSuccessfulRemoteDataObject,
|
||||
createSuccessfulRemoteDataObject$
|
||||
} from '../../shared/testing/utils';
|
||||
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
|
||||
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
|
||||
metadata: {
|
||||
'dc.title': [
|
||||
{
|
||||
@@ -30,7 +34,7 @@ const mockItem: Item = Object.assign(new Item(), {
|
||||
}
|
||||
});
|
||||
const routeStub = Object.assign(new ActivatedRouteStub(), {
|
||||
data: observableOf({ item: new RemoteData(false, false, true, null, mockItem) })
|
||||
data: observableOf({ item: createSuccessfulRemoteDataObject(mockItem) })
|
||||
});
|
||||
const metadataServiceStub = {
|
||||
/* tslint:disable:no-empty */
|
||||
|
@@ -11,6 +11,7 @@ import { ItemPageFieldComponent } from './item-page-field.component';
|
||||
import { MetadataValuesComponent } from '../../../field-components/metadata-values/metadata-values.component';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { MetadataMap, MetadataValue } from '../../../../core/shared/metadata.models';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
|
||||
|
||||
let comp: ItemPageFieldComponent;
|
||||
let fixture: ComponentFixture<ItemPageFieldComponent>;
|
||||
@@ -52,7 +53,7 @@ describe('ItemPageFieldComponent', () => {
|
||||
|
||||
export function mockItemWithMetadataFieldAndValue(field: string, value: string): Item {
|
||||
const item = Object.assign(new Item(), {
|
||||
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
|
||||
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
|
||||
metadata: new MetadataMap()
|
||||
});
|
||||
item.metadata[field] = [{
|
||||
|
@@ -16,9 +16,13 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { createRelationshipsObservable } from './item-types/shared/item.component.spec';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import {
|
||||
createFailedRemoteDataObject$, createPendingRemoteDataObject$, createSuccessfulRemoteDataObject,
|
||||
createSuccessfulRemoteDataObject$
|
||||
} from '../../shared/testing/utils';
|
||||
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
|
||||
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
|
||||
metadata: [],
|
||||
relationships: createRelationshipsObservable()
|
||||
});
|
||||
@@ -33,7 +37,7 @@ describe('ItemPageComponent', () => {
|
||||
/* tslint:enable:no-empty */
|
||||
};
|
||||
const mockRoute = Object.assign(new ActivatedRouteStub(), {
|
||||
data: observableOf({ item: new RemoteData(false, false, true, null, mockItem) })
|
||||
data: observableOf({ item: createSuccessfulRemoteDataObject(mockItem) })
|
||||
});
|
||||
|
||||
beforeEach(async(() => {
|
||||
@@ -66,7 +70,8 @@ describe('ItemPageComponent', () => {
|
||||
|
||||
describe('when the item is loading', () => {
|
||||
beforeEach(() => {
|
||||
comp.itemRD$ = observableOf(new RemoteData(true, true, true, null, undefined));
|
||||
comp.itemRD$ = createPendingRemoteDataObject$(undefined);
|
||||
// comp.itemRD$ = observableOf(new RemoteData(true, true, true, null, undefined));
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
@@ -78,7 +83,7 @@ describe('ItemPageComponent', () => {
|
||||
|
||||
describe('when the item failed loading', () => {
|
||||
beforeEach(() => {
|
||||
comp.itemRD$ = observableOf(new RemoteData(false, false, false, null, undefined));
|
||||
comp.itemRD$ = createFailedRemoteDataObject$(undefined);
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
|
@@ -5,9 +5,10 @@ import { PageInfo } from '../../../../core/shared/page-info.model';
|
||||
import { createRelationshipsObservable, getItemPageFieldsTest } from '../shared/item.component.spec';
|
||||
import { JournalIssueComponent } from './journal-issue.component';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
|
||||
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
|
||||
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
|
||||
metadata: {
|
||||
'journalissue.identifier.number': [
|
||||
{
|
||||
|
@@ -5,9 +5,10 @@ import { PageInfo } from '../../../../core/shared/page-info.model';
|
||||
import { createRelationshipsObservable, getItemPageFieldsTest } from '../shared/item.component.spec';
|
||||
import { JournalVolumeComponent } from './journal-volume.component';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
|
||||
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
|
||||
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
|
||||
metadata: {
|
||||
'journalvolume.identifier.volume': [
|
||||
{
|
||||
|
@@ -15,12 +15,13 @@ import { PageInfo } from '../../../../core/shared/page-info.model';
|
||||
import { isNotEmpty } from '../../../../shared/empty.util';
|
||||
import { JournalComponent } from './journal.component';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
|
||||
|
||||
let comp: JournalComponent;
|
||||
let fixture: ComponentFixture<JournalComponent>;
|
||||
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
|
||||
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
|
||||
metadata: {
|
||||
'journal.identifier.issn': [
|
||||
{
|
||||
|
@@ -5,9 +5,10 @@ import { PageInfo } from '../../../../core/shared/page-info.model';
|
||||
import { createRelationshipsObservable, getItemPageFieldsTest } from '../shared/item.component.spec';
|
||||
import { OrgunitComponent } from './orgunit.component';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
|
||||
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
|
||||
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
|
||||
metadata: {
|
||||
'orgunit.identifier.dateestablished': [
|
||||
{
|
||||
|
@@ -5,9 +5,10 @@ import { PageInfo } from '../../../../core/shared/page-info.model';
|
||||
import { createRelationshipsObservable, getItemPageFieldsTest } from '../shared/item.component.spec';
|
||||
import { PersonComponent } from './person.component';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
|
||||
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
|
||||
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
|
||||
metadata: {
|
||||
'person.identifier.email': [
|
||||
{
|
||||
|
@@ -5,9 +5,10 @@ import { PageInfo } from '../../../../core/shared/page-info.model';
|
||||
import { createRelationshipsObservable, getItemPageFieldsTest } from '../shared/item.component.spec';
|
||||
import { ProjectComponent } from './project.component';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
|
||||
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
|
||||
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
|
||||
metadata: {
|
||||
'project.identifier.status': [
|
||||
{
|
||||
|
@@ -17,9 +17,10 @@ import { createRelationshipsObservable } from '../shared/item.component.spec';
|
||||
import { PublicationComponent } from './publication.component';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { MetadataMap } from '../../../../core/shared/metadata.models';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
|
||||
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
|
||||
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
|
||||
metadata: new MetadataMap(),
|
||||
relationships: createRelationshipsObservable()
|
||||
});
|
||||
|
@@ -26,6 +26,7 @@ import { MetadatumRepresentation } from '../../../../core/shared/metadata-repres
|
||||
import { ItemMetadataRepresentation } from '../../../../core/shared/metadata-representation/item/item-metadata-representation.model';
|
||||
import { MetadataMap, MetadataValue } from '../../../../core/shared/metadata.models';
|
||||
import { compareArraysUsing, compareArraysUsingIds } from './item-relationships-utils';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
|
||||
|
||||
/**
|
||||
* Create a generic test for an item-page-fields component using a mockItem and the type of component
|
||||
@@ -102,11 +103,11 @@ export function containsFieldInput(fields: DebugElement[], metadataKey: string):
|
||||
}
|
||||
|
||||
export function createRelationshipsObservable() {
|
||||
return observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), [
|
||||
return createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [
|
||||
Object.assign(new Relationship(), {
|
||||
relationshipType: observableOf(new RemoteData(false, false, true, null, new RelationshipType()))
|
||||
relationshipType: createSuccessfulRemoteDataObject$(new RelationshipType())
|
||||
})
|
||||
])));
|
||||
]));
|
||||
}
|
||||
describe('ItemComponent', () => {
|
||||
const arr1 = [
|
||||
@@ -323,15 +324,15 @@ describe('ItemComponent', () => {
|
||||
id: '1',
|
||||
uuid: '1',
|
||||
metadata: new MetadataMap(),
|
||||
relationships: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), [
|
||||
relationships: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [
|
||||
Object.assign(new Relationship(), {
|
||||
uuid: '123',
|
||||
id: '123',
|
||||
leftId: '1',
|
||||
rightId: '2',
|
||||
relationshipType: observableOf(new RemoteData(false, false, true, null, new RelationshipType()))
|
||||
relationshipType: createSuccessfulRemoteDataObject$(new RelationshipType())
|
||||
})
|
||||
])))
|
||||
]))
|
||||
});
|
||||
mockItem.metadata[metadataField] = [
|
||||
{
|
||||
@@ -367,7 +368,7 @@ describe('ItemComponent', () => {
|
||||
const mockItemDataService = Object.assign({
|
||||
findById: (id) => {
|
||||
if (id === relatedItem.id) {
|
||||
return observableOf(new RemoteData(false, false, true, null, relatedItem))
|
||||
return createSuccessfulRemoteDataObject$(relatedItem)
|
||||
}
|
||||
}
|
||||
}) as ItemDataService;
|
||||
|
@@ -8,14 +8,15 @@ import { PageInfo } from '../../../core/shared/page-info.model';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { createRelationshipsObservable } from '../item-types/shared/item.component.spec';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../shared/testing/utils';
|
||||
|
||||
const mockItem1: Item = Object.assign(new Item(), {
|
||||
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
|
||||
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
|
||||
metadata: [],
|
||||
relationships: createRelationshipsObservable()
|
||||
});
|
||||
const mockItem2: Item = Object.assign(new Item(), {
|
||||
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
|
||||
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
|
||||
metadata: [],
|
||||
relationships: createRelationshipsObservable()
|
||||
});
|
||||
|
@@ -29,6 +29,7 @@ import { RoleDirective } from '../shared/roles/role.directive';
|
||||
import { RoleService } from '../core/roles/role.service';
|
||||
import { MockRoleService } from '../shared/mocks/mock-role-service';
|
||||
import { SearchFixedFilterService } from '../+search-page/search-filters/search-filter/search-fixed-filter.service';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../shared/testing/utils';
|
||||
|
||||
describe('MyDSpacePageComponent', () => {
|
||||
let comp: MyDSpacePageComponent;
|
||||
@@ -46,7 +47,7 @@ describe('MyDSpacePageComponent', () => {
|
||||
pagination.currentPage = 1;
|
||||
pagination.pageSize = 10;
|
||||
const sort: SortOptions = new SortOptions('score', SortDirection.DESC);
|
||||
const mockResults = observableOf(new RemoteData(false, false, true, null, ['test', 'data']));
|
||||
const mockResults = createSuccessfulRemoteDataObject$(['test', 'data']);
|
||||
const searchServiceStub = jasmine.createSpyObj('SearchService', {
|
||||
search: mockResults,
|
||||
getSearchLink: '/mydspace',
|
||||
|
@@ -20,6 +20,7 @@ import { RemoteDataBuildService } from '../../../../core/cache/builders/remote-d
|
||||
import { SearchConfigurationServiceStub } from '../../../../shared/testing/search-configuration-service-stub';
|
||||
import { SEARCH_CONFIG_SERVICE } from '../../../../+my-dspace-page/my-dspace-page.component';
|
||||
import { tap } from 'rxjs/operators';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
|
||||
|
||||
describe('SearchFacetFilterComponent', () => {
|
||||
let comp: SearchFacetFilterComponent;
|
||||
@@ -61,7 +62,7 @@ describe('SearchFacetFilterComponent', () => {
|
||||
let router;
|
||||
const page = observableOf(0);
|
||||
|
||||
const mockValues = observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), values)));
|
||||
const mockValues = createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), values));
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), NoopAnimationsModule, FormsModule],
|
||||
|
@@ -20,6 +20,7 @@ import { RouteService } from '../../../../shared/services/route.service';
|
||||
import { RemoteDataBuildService } from '../../../../core/cache/builders/remote-data-build.service';
|
||||
import { SEARCH_CONFIG_SERVICE } from '../../../../+my-dspace-page/my-dspace-page.component';
|
||||
import { SearchConfigurationServiceStub } from '../../../../shared/testing/search-configuration-service-stub';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/testing/utils';
|
||||
|
||||
describe('SearchRangeFilterComponent', () => {
|
||||
let comp: SearchRangeFilterComponent;
|
||||
@@ -66,7 +67,7 @@ describe('SearchRangeFilterComponent', () => {
|
||||
let router;
|
||||
const page = observableOf(0);
|
||||
|
||||
const mockValues = observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), values)));
|
||||
const mockValues = createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), values));
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), NoopAnimationsModule, FormsModule],
|
||||
|
@@ -25,6 +25,7 @@ import { RouteService } from '../shared/services/route.service';
|
||||
import { SearchConfigurationServiceStub } from '../shared/testing/search-configuration-service-stub';
|
||||
import { PaginatedSearchOptions } from './paginated-search-options.model';
|
||||
import { SearchFixedFilterService } from './search-filters/search-filter/search-fixed-filter.service';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../shared/testing/utils';
|
||||
|
||||
let comp: SearchPageComponent;
|
||||
let fixture: ComponentFixture<SearchPageComponent>;
|
||||
@@ -41,7 +42,7 @@ pagination.id = 'search-results-pagination';
|
||||
pagination.currentPage = 1;
|
||||
pagination.pageSize = 10;
|
||||
const sort: SortOptions = new SortOptions('score', SortDirection.DESC);
|
||||
const mockResults = observableOf(new RemoteData(false, false, true, null, ['test', 'data']));
|
||||
const mockResults = createSuccessfulRemoteDataObject$(['test', 'data']);
|
||||
const searchServiceStub = jasmine.createSpyObj('SearchService', {
|
||||
search: mockResults,
|
||||
getSearchLink: '/search',
|
||||
|
@@ -21,6 +21,7 @@ import { getSucceededRemoteData } from '../../core/shared/operators';
|
||||
import { SearchFilter } from '../search-filter.model';
|
||||
import { DSpaceObjectType } from '../../core/shared/dspace-object-type.model';
|
||||
import { SearchFixedFilterService } from '../search-filters/search-filter/search-fixed-filter.service';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../shared/testing/utils';
|
||||
|
||||
/**
|
||||
* Service that performs all actions that have to do with the current search configuration
|
||||
@@ -271,7 +272,7 @@ export class SearchConfigurationService implements OnDestroy {
|
||||
scope: this.defaultScope,
|
||||
query: this.defaultQuery
|
||||
});
|
||||
this._defaults = observableOf(new RemoteData(false, false, true, null, options));
|
||||
this._defaults = createSuccessfulRemoteDataObject$(options);
|
||||
}
|
||||
return this._defaults;
|
||||
}
|
||||
|
@@ -28,6 +28,7 @@ import { DSpaceObjectDataService } from '../../core/data/dspace-object-data.serv
|
||||
import { map } from 'rxjs/operators';
|
||||
import { RouteService } from '../../shared/services/route.service';
|
||||
import { routeServiceStub } from '../../shared/testing/route-service-stub';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../shared/testing/utils';
|
||||
|
||||
@Component({ template: '' })
|
||||
class DummyComponent {
|
||||
@@ -91,7 +92,7 @@ describe('SearchService', () => {
|
||||
);
|
||||
},
|
||||
aggregate: (input: Array<Observable<RemoteData<any>>>): Observable<RemoteData<any[]>> => {
|
||||
return observableOf(new RemoteData(false, false, true, null, []));
|
||||
return createSuccessfulRemoteDataObject$([]);
|
||||
}
|
||||
};
|
||||
|
||||
|
@@ -4,6 +4,7 @@ import { PaginatedList } from '../../data/paginated-list';
|
||||
import { PageInfo } from '../../shared/page-info.model';
|
||||
import { RemoteData } from '../../data/remote-data';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../shared/testing/utils';
|
||||
|
||||
const pageInfo = new PageInfo();
|
||||
const array = [
|
||||
@@ -29,8 +30,8 @@ const array = [
|
||||
})
|
||||
];
|
||||
const paginatedList = new PaginatedList(pageInfo, array);
|
||||
const arrayRD = new RemoteData(false, false, true, undefined, array);
|
||||
const paginatedListRD = new RemoteData(false, false, true, undefined, paginatedList);
|
||||
const arrayRD = createSuccessfulRemoteDataObject(array);
|
||||
const paginatedListRD = createSuccessfulRemoteDataObject(paginatedList);
|
||||
|
||||
describe('RemoteDataBuildService', () => {
|
||||
let service: RemoteDataBuildService;
|
||||
|
@@ -22,6 +22,7 @@ import {
|
||||
getResourceLinksFromResponse
|
||||
} from '../../shared/operators';
|
||||
import { CacheableObject, TypedObject } from '../object-cache.reducer';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../shared/testing/utils';
|
||||
|
||||
@Injectable()
|
||||
export class RemoteDataBuildService {
|
||||
@@ -200,7 +201,7 @@ export class RemoteDataBuildService {
|
||||
aggregate<T>(input: Array<Observable<RemoteData<T>>>): Observable<RemoteData<T[]>> {
|
||||
|
||||
if (isEmpty(input)) {
|
||||
return observableOf(new RemoteData(false, false, true, null, []));
|
||||
return createSuccessfulRemoteDataObject$([]);
|
||||
}
|
||||
|
||||
return observableCombineLatest(...input).pipe(
|
||||
|
@@ -38,6 +38,7 @@ import { EmptyError } from 'rxjs/internal-compatibility';
|
||||
import { NormalizedObjectBuildService } from '../cache/builders/normalized-object-build.service';
|
||||
import { DSOChangeAnalyzer } from '../data/dso-change-analyzer.service';
|
||||
import { MetadataValue } from '../shared/metadata.models';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../shared/testing/utils';
|
||||
|
||||
/* tslint:disable:max-classes-per-file */
|
||||
@Component({
|
||||
@@ -206,13 +207,7 @@ describe('MetadataService', () => {
|
||||
});
|
||||
|
||||
const mockRemoteData = (mockItem: Item): Observable<RemoteData<Item>> => {
|
||||
return observableOf(new RemoteData<Item>(
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
undefined,
|
||||
MockItem
|
||||
));
|
||||
return createSuccessfulRemoteDataObject$(MockItem);
|
||||
};
|
||||
|
||||
const mockType = (mockItem: Item, type: string): Item => {
|
||||
|
@@ -42,6 +42,7 @@ import {
|
||||
import { ResourceType } from '../shared/resource-type';
|
||||
import { MetadataSchema } from '../metadata/metadata-schema.model';
|
||||
import { MetadataField } from '../metadata/metadata-field.model';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../shared/testing/utils';
|
||||
|
||||
@Component({ template: '' })
|
||||
class DummyComponent {
|
||||
@@ -131,7 +132,7 @@ describe('RegistryService', () => {
|
||||
);
|
||||
},
|
||||
aggregate: (input: Array<Observable<RemoteData<any>>>): Observable<RemoteData<any[]>> => {
|
||||
return observableOf(new RemoteData(false, false, true, null, []));
|
||||
return createSuccessfulRemoteDataObject$([]);
|
||||
}
|
||||
};
|
||||
|
||||
|
@@ -5,6 +5,7 @@ import { RemoteData } from '../data/remote-data';
|
||||
import { Bitstream } from './bitstream.model';
|
||||
import { isEmpty } from '../../shared/empty.util';
|
||||
import { first, map } from 'rxjs/operators';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../shared/testing/utils';
|
||||
|
||||
describe('Item', () => {
|
||||
|
||||
@@ -32,9 +33,9 @@ describe('Item', () => {
|
||||
content: bitstream2Path
|
||||
}];
|
||||
|
||||
remoteDataThumbnail = createRemoteDataObject(thumbnail);
|
||||
remoteDataFiles = createRemoteDataObject(bitstreams);
|
||||
remoteDataAll = createRemoteDataObject([...bitstreams, thumbnail]);
|
||||
remoteDataThumbnail = createSuccessfulRemoteDataObject$(thumbnail);
|
||||
remoteDataFiles = createSuccessfulRemoteDataObject$(bitstreams);
|
||||
remoteDataAll = createSuccessfulRemoteDataObject$([...bitstreams, thumbnail]);
|
||||
|
||||
// Create Bundles
|
||||
|
||||
@@ -101,14 +102,3 @@ describe('Item', () => {
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function createRemoteDataObject(object: any) {
|
||||
return observableOf(new RemoteData(
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
undefined,
|
||||
object
|
||||
));
|
||||
|
||||
}
|
||||
|
@@ -18,6 +18,10 @@ import {
|
||||
import { RemoteData } from '../data/remote-data';
|
||||
import { RemoteDataError } from '../data/remote-data-error';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import {
|
||||
createFailedRemoteDataObject,
|
||||
createSuccessfulRemoteDataObject
|
||||
} from '../../shared/testing/utils';
|
||||
|
||||
describe('Core Module - RxJS Operators', () => {
|
||||
let scheduler: TestScheduler;
|
||||
@@ -180,17 +184,17 @@ describe('Core Module - RxJS Operators', () => {
|
||||
describe('getSucceededRemoteData', () => {
|
||||
it('should return the first() hasSucceeded RemoteData Observable', () => {
|
||||
const testRD = {
|
||||
a: new RemoteData(false, false, true, null, undefined),
|
||||
b: new RemoteData(false, false, false, null, 'b'),
|
||||
a: createSuccessfulRemoteDataObject(undefined),
|
||||
b: createFailedRemoteDataObject( 'b'),
|
||||
c: new RemoteData(false, false, undefined, null, 'c'),
|
||||
d: new RemoteData(false, false, true, null, 'd'),
|
||||
e: new RemoteData(false, false, true, null, 'e'),
|
||||
d: createSuccessfulRemoteDataObject('d'),
|
||||
e: createSuccessfulRemoteDataObject('e'),
|
||||
};
|
||||
const source = hot('abcde', testRD);
|
||||
const result = source.pipe(getSucceededRemoteData());
|
||||
|
||||
result.subscribe((value) => expect(value)
|
||||
.toEqual(new RemoteData(false, false, true, null, 'd')));
|
||||
.toEqual(createSuccessfulRemoteDataObject('d')));
|
||||
|
||||
});
|
||||
});
|
||||
@@ -202,21 +206,21 @@ describe('Core Module - RxJS Operators', () => {
|
||||
});
|
||||
|
||||
it('should call navigateByUrl to a 404 page, when the remote data contains a 404 error', () => {
|
||||
const testRD = new RemoteData(false, false, false, new RemoteDataError(404, 'Not Found', 'Object was not found'), undefined);
|
||||
const testRD = createFailedRemoteDataObject(undefined, new RemoteDataError(404, 'Not Found', 'Object was not found'));
|
||||
|
||||
observableOf(testRD).pipe(redirectToPageNotFoundOn404(router)).subscribe();
|
||||
expect(router.navigateByUrl).toHaveBeenCalledWith('/404', { skipLocationChange: true });
|
||||
});
|
||||
|
||||
it('should not call navigateByUrl to a 404 page, when the remote data contains another error than a 404', () => {
|
||||
const testRD = new RemoteData(false, false, false, new RemoteDataError(500, 'Server Error', 'Something went wrong'), undefined);
|
||||
const testRD = createFailedRemoteDataObject(undefined, new RemoteDataError(500, 'Server Error', 'Something went wrong'));
|
||||
|
||||
observableOf(testRD).pipe(redirectToPageNotFoundOn404(router)).subscribe();
|
||||
expect(router.navigateByUrl).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('should not call navigateByUrl to a 404 page, when the remote data contains no error', () => {
|
||||
const testRD = new RemoteData(false, false, true, null, undefined);
|
||||
const testRD = createSuccessfulRemoteDataObject(undefined);
|
||||
|
||||
observableOf(testRD).pipe(redirectToPageNotFoundOn404(router)).subscribe();
|
||||
expect(router.navigateByUrl).not.toHaveBeenCalled();
|
||||
@@ -242,11 +246,11 @@ describe('Core Module - RxJS Operators', () => {
|
||||
describe('getAllSucceededRemoteData', () => {
|
||||
it('should return all hasSucceeded RemoteData Observables', () => {
|
||||
const testRD = {
|
||||
a: new RemoteData(false, false, true, null, undefined),
|
||||
b: new RemoteData(false, false, false, null, 'b'),
|
||||
a: createSuccessfulRemoteDataObject(undefined),
|
||||
b: createFailedRemoteDataObject('b'),
|
||||
c: new RemoteData(false, false, undefined, null, 'c'),
|
||||
d: new RemoteData(false, false, true, null, 'd'),
|
||||
e: new RemoteData(false, false, true, null, 'e'),
|
||||
d: createSuccessfulRemoteDataObject('d'),
|
||||
e: createSuccessfulRemoteDataObject('e'),
|
||||
};
|
||||
const source = hot('abcde', testRD);
|
||||
const result = source.pipe(getAllSucceededRemoteData());
|
||||
|
@@ -17,6 +17,7 @@ import { RouterTestingModule } from '@angular/router/testing';
|
||||
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { PaginationComponentOptions } from '../pagination/pagination-component-options.model';
|
||||
import { SortDirection, SortOptions } from '../../core/cache/models/sort-options.model';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../testing/utils';
|
||||
|
||||
describe('BrowseByComponent', () => {
|
||||
let comp: BrowseByComponent;
|
||||
@@ -42,7 +43,7 @@ describe('BrowseByComponent', () => {
|
||||
]
|
||||
})
|
||||
];
|
||||
const mockItemsRD$ = observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), mockItems)));
|
||||
const mockItemsRD$ = createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), mockItems));
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
|
@@ -4,7 +4,6 @@ import { RouteService } from '../../services/route.service';
|
||||
import { Router } from '@angular/router';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { RemoteData } from '../../../core/data/remote-data';
|
||||
import { Community } from '../../../core/shared/community.model';
|
||||
import { SharedModule } from '../../shared.module';
|
||||
import { CommonModule } from '@angular/common';
|
||||
@@ -13,6 +12,10 @@ import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { DSpaceObject } from '../../../core/shared/dspace-object.model';
|
||||
import { CreateComColPageComponent } from './create-comcol-page.component';
|
||||
import { DataService } from '../../../core/data/data.service';
|
||||
import {
|
||||
createFailedRemoteDataObject$,
|
||||
createSuccessfulRemoteDataObject$
|
||||
} from '../../testing/utils';
|
||||
|
||||
describe('CreateComColPageComponent', () => {
|
||||
let comp: CreateComColPageComponent<DSpaceObject>;
|
||||
@@ -46,14 +49,14 @@ describe('CreateComColPageComponent', () => {
|
||||
});
|
||||
|
||||
communityDataServiceStub = {
|
||||
findById: (uuid) => observableOf(new RemoteData(false, false, true, null, Object.assign(new Community(), {
|
||||
findById: (uuid) => createSuccessfulRemoteDataObject$(Object.assign(new Community(), {
|
||||
uuid: uuid,
|
||||
metadata: [{
|
||||
key: 'dc.title',
|
||||
value: community.name
|
||||
}]
|
||||
}))),
|
||||
create: (com, uuid?) => observableOf(new RemoteData(false, false, true, undefined, newCommunity))
|
||||
})),
|
||||
create: (com, uuid?) => createSuccessfulRemoteDataObject$(newCommunity)
|
||||
|
||||
};
|
||||
|
||||
@@ -109,7 +112,7 @@ describe('CreateComColPageComponent', () => {
|
||||
|
||||
it('should not navigate on failure', () => {
|
||||
spyOn(router, 'navigate');
|
||||
spyOn(dsoDataService, 'create').and.returnValue(observableOf(new RemoteData(true, true, false, undefined, newCommunity)));
|
||||
spyOn(dsoDataService, 'create').and.returnValue(createFailedRemoteDataObject$(newCommunity));
|
||||
comp.onSubmit(data);
|
||||
fixture.detectChanges();
|
||||
expect(router.navigate).not.toHaveBeenCalled();
|
||||
|
@@ -3,7 +3,6 @@ import { CommunityDataService } from '../../../core/data/community-data.service'
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { RemoteData } from '../../../core/data/remote-data';
|
||||
import { Community } from '../../../core/shared/community.model';
|
||||
import { SharedModule } from '../../shared.module';
|
||||
import { CommonModule } from '@angular/common';
|
||||
@@ -12,6 +11,10 @@ import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { DSpaceObject } from '../../../core/shared/dspace-object.model';
|
||||
import { EditComColPageComponent } from './edit-comcol-page.component';
|
||||
import { DataService } from '../../../core/data/data.service';
|
||||
import {
|
||||
createFailedRemoteDataObject$,
|
||||
createSuccessfulRemoteDataObject$
|
||||
} from '../../testing/utils';
|
||||
|
||||
describe('EditComColPageComponent', () => {
|
||||
let comp: EditComColPageComponent<DSpaceObject>;
|
||||
@@ -43,7 +46,7 @@ describe('EditComColPageComponent', () => {
|
||||
});
|
||||
|
||||
communityDataServiceStub = {
|
||||
update: (com, uuid?) => observableOf(new RemoteData(false, false, true, undefined, newCommunity))
|
||||
update: (com, uuid?) => createSuccessfulRemoteDataObject$(newCommunity)
|
||||
|
||||
};
|
||||
|
||||
@@ -97,7 +100,7 @@ describe('EditComColPageComponent', () => {
|
||||
|
||||
it('should not navigate on failure', () => {
|
||||
spyOn(router, 'navigate');
|
||||
spyOn(dsoDataService, 'update').and.returnValue(observableOf(new RemoteData(true, true, false, undefined, newCommunity)));
|
||||
spyOn(dsoDataService, 'update').and.returnValue(createFailedRemoteDataObject$(newCommunity));
|
||||
comp.onSubmit(data);
|
||||
fixture.detectChanges();
|
||||
expect(router.navigate).not.toHaveBeenCalled();
|
||||
|
@@ -11,6 +11,7 @@ import { Item } from '../../../core/shared/item.model';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { PaginatedList } from '../../../core/data/paginated-list';
|
||||
import { MetadataValue } from '../../../core/shared/metadata.models';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../testing/utils';
|
||||
|
||||
describe('DSOSelectorComponent', () => {
|
||||
let component: DSOSelectorComponent;
|
||||
@@ -30,7 +31,7 @@ describe('DSOSelectorComponent', () => {
|
||||
searchResult.indexableObject = item;
|
||||
searchResult.hitHighlights = {};
|
||||
const searchService = jasmine.createSpyObj('searchService', {
|
||||
search: observableOf(new RemoteData(false, false, true, undefined, new PaginatedList(undefined, [searchResult])))
|
||||
search: createSuccessfulRemoteDataObject$(new PaginatedList(undefined, [searchResult]))
|
||||
});
|
||||
|
||||
beforeEach(async(() => {
|
||||
|
@@ -10,6 +10,7 @@ import * as collectionRouter from '../../../../+collection-page/collection-page-
|
||||
import { Community } from '../../../../core/shared/community.model';
|
||||
import { CreateCollectionParentSelectorComponent } from './create-collection-parent-selector.component';
|
||||
import { MetadataValue } from '../../../../core/shared/metadata.models';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../testing/utils';
|
||||
|
||||
describe('CreateCollectionParentSelectorComponent', () => {
|
||||
let component: CreateCollectionParentSelectorComponent;
|
||||
@@ -26,7 +27,7 @@ describe('CreateCollectionParentSelectorComponent', () => {
|
||||
})]
|
||||
};
|
||||
const router = new RouterStub();
|
||||
const communityRD = new RemoteData(false, false, true, undefined, community);
|
||||
const communityRD = createSuccessfulRemoteDataObject(community);
|
||||
const modalStub = jasmine.createSpyObj('modalStub', ['close']);
|
||||
const createPath = 'testCreatePath';
|
||||
|
||||
|
@@ -10,6 +10,7 @@ import * as communityRouter from '../../../../+community-page/community-page-rou
|
||||
import { Community } from '../../../../core/shared/community.model';
|
||||
import { CreateCommunityParentSelectorComponent } from './create-community-parent-selector.component';
|
||||
import { MetadataValue } from '../../../../core/shared/metadata.models';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../testing/utils';
|
||||
|
||||
describe('CreateCommunityParentSelectorComponent', () => {
|
||||
let component: CreateCommunityParentSelectorComponent;
|
||||
@@ -20,7 +21,7 @@ describe('CreateCommunityParentSelectorComponent', () => {
|
||||
community.uuid = '1234-1234-1234-1234';
|
||||
community.metadata = { 'dc.title': [Object.assign(new MetadataValue(), { value: 'Community title', language: undefined })] };
|
||||
const router = new RouterStub();
|
||||
const communityRD = new RemoteData(false, false, true, undefined, community);
|
||||
const communityRD = createSuccessfulRemoteDataObject(community);
|
||||
const modalStub = jasmine.createSpyObj('modalStub', ['close']);
|
||||
const createPath = 'testCreatePath';
|
||||
|
||||
|
@@ -9,6 +9,7 @@ import { RouterStub } from '../../../testing/router-stub';
|
||||
import { Collection } from '../../../../core/shared/collection.model';
|
||||
import { CreateItemParentSelectorComponent } from './create-item-parent-selector.component';
|
||||
import { MetadataValue } from '../../../../core/shared/metadata.models';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../testing/utils';
|
||||
|
||||
describe('CreateItemParentSelectorComponent', () => {
|
||||
let component: CreateItemParentSelectorComponent;
|
||||
@@ -19,7 +20,7 @@ describe('CreateItemParentSelectorComponent', () => {
|
||||
collection.uuid = '1234-1234-1234-1234';
|
||||
collection.metadata = { 'dc.title': [Object.assign(new MetadataValue(), { value: 'Collection title', language: undefined })] };
|
||||
const router = new RouterStub();
|
||||
const collectionRD = new RemoteData(false, false, true, undefined, collection);
|
||||
const collectionRD = createSuccessfulRemoteDataObject(collection);
|
||||
const modalStub = jasmine.createSpyObj('modalStub', ['close']);
|
||||
const createPath = 'testCreatePath';
|
||||
|
||||
|
@@ -14,6 +14,7 @@ import { By } from '@angular/platform-browser';
|
||||
import { DSOSelectorComponent } from '../dso-selector/dso-selector.component';
|
||||
import { MockComponent } from 'ng-mocks';
|
||||
import { MetadataValue } from '../../../core/shared/metadata.models';
|
||||
import { createSuccessfulRemoteDataObject } from '../../testing/utils';
|
||||
|
||||
describe('DSOSelectorModalWrapperComponent', () => {
|
||||
let component: DSOSelectorModalWrapperComponent;
|
||||
@@ -29,7 +30,7 @@ describe('DSOSelectorModalWrapperComponent', () => {
|
||||
})]
|
||||
};
|
||||
|
||||
const itemRD = new RemoteData(false, false, true, undefined, item);
|
||||
const itemRD = createSuccessfulRemoteDataObject(item);
|
||||
const modalStub = jasmine.createSpyObj('modalStub', ['close']);
|
||||
|
||||
beforeEach(async(() => {
|
||||
|
@@ -10,6 +10,7 @@ import * as collectionRouter from '../../../../+collection-page/collection-page-
|
||||
import { EditCollectionSelectorComponent } from './edit-collection-selector.component';
|
||||
import { Collection } from '../../../../core/shared/collection.model';
|
||||
import { MetadataValue } from '../../../../core/shared/metadata.models';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../testing/utils';
|
||||
|
||||
describe('EditCollectionSelectorComponent', () => {
|
||||
let component: EditCollectionSelectorComponent;
|
||||
@@ -20,7 +21,7 @@ describe('EditCollectionSelectorComponent', () => {
|
||||
collection.uuid = '1234-1234-1234-1234';
|
||||
collection.metadata = { 'dc.title': [Object.assign(new MetadataValue(), { value: 'Collection title', language: undefined })] };
|
||||
const router = new RouterStub();
|
||||
const collectionRD = new RemoteData(false, false, true, undefined, collection);
|
||||
const collectionRD = createSuccessfulRemoteDataObject(collection);
|
||||
const modalStub = jasmine.createSpyObj('modalStub', ['close']);
|
||||
const editPath = 'testEditPath';
|
||||
|
||||
|
@@ -10,6 +10,7 @@ import * as communityRouter from '../../../../+community-page/community-page-rou
|
||||
import { EditCommunitySelectorComponent } from './edit-community-selector.component';
|
||||
import { Community } from '../../../../core/shared/community.model';
|
||||
import { MetadataValue } from '../../../../core/shared/metadata.models';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../testing/utils';
|
||||
|
||||
describe('EditCommunitySelectorComponent', () => {
|
||||
let component: EditCommunitySelectorComponent;
|
||||
@@ -20,7 +21,7 @@ describe('EditCommunitySelectorComponent', () => {
|
||||
community.uuid = '1234-1234-1234-1234';
|
||||
community.metadata = { 'dc.title': [Object.assign(new MetadataValue(), { value: 'Community title', language: undefined })] };
|
||||
const router = new RouterStub();
|
||||
const communityRD = new RemoteData(false, false, true, undefined, community);
|
||||
const communityRD = createSuccessfulRemoteDataObject(community);
|
||||
const modalStub = jasmine.createSpyObj('modalStub', ['close']);
|
||||
const editPath = 'testEditPath';
|
||||
|
||||
|
@@ -10,6 +10,7 @@ import { RemoteData } from '../../../../core/data/remote-data';
|
||||
import { RouterStub } from '../../../testing/router-stub';
|
||||
import * as itemRouter from '../../../../+item-page/item-page-routing.module';
|
||||
import { MetadataValue } from '../../../../core/shared/metadata.models';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../testing/utils';
|
||||
|
||||
describe('EditItemSelectorComponent', () => {
|
||||
let component: EditItemSelectorComponent;
|
||||
@@ -20,7 +21,7 @@ describe('EditItemSelectorComponent', () => {
|
||||
item.uuid = '1234-1234-1234-1234';
|
||||
item.metadata = { 'dc.title': [Object.assign(new MetadataValue(), { value: 'Item title', language: undefined })] };
|
||||
const router = new RouterStub();
|
||||
const itemRD = new RemoteData(false, false, true, undefined, item);
|
||||
const itemRD = createSuccessfulRemoteDataObject(item);
|
||||
const modalStub = jasmine.createSpyObj('modalStub', ['close']);
|
||||
const editPath = 'testEditPath';
|
||||
|
||||
|
@@ -10,10 +10,11 @@ import * as decorator from '../item-type-decorator';
|
||||
import { getComponentByItemType, ItemViewMode } from '../item-type-decorator';
|
||||
import { ItemMetadataRepresentation } from '../../../core/shared/metadata-representation/item/item-metadata-representation.model';
|
||||
import createSpy = jasmine.createSpy;
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../testing/utils';
|
||||
|
||||
const relationType = 'type';
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
|
||||
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
|
||||
metadata: {
|
||||
'dc.title': [
|
||||
{
|
||||
|
@@ -5,6 +5,7 @@ import { RemoteData } from '../../core/data/remote-data';
|
||||
import { RequestEntry } from '../../core/data/request.reducer';
|
||||
import { hasValue } from '../empty.util';
|
||||
import { NormalizedObject } from '../../core/cache/models/normalized-object.model';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../testing/utils';
|
||||
|
||||
export function getMockRemoteDataBuildService(toRemoteDataObservable$?: Observable<RemoteData<any>>): RemoteDataBuildService {
|
||||
return {
|
||||
@@ -18,7 +19,7 @@ export function getMockRemoteDataBuildService(toRemoteDataObservable$?: Observab
|
||||
} as RemoteData<any>)))
|
||||
}
|
||||
},
|
||||
buildSingle: (href$: string | Observable<string>) => observableOf(new RemoteData(false, false, true, undefined, {})),
|
||||
buildSingle: (href$: string | Observable<string>) => createSuccessfulRemoteDataObject$({}),
|
||||
build: (normalized: NormalizedObject<any>) => Object.create({})
|
||||
} as RemoteDataBuildService;
|
||||
|
||||
|
@@ -17,6 +17,7 @@ import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.se
|
||||
import { ClaimedTaskActionsComponent } from './claimed-task-actions.component';
|
||||
import { ClaimedTask } from '../../../core/tasks/models/claimed-task-object.model';
|
||||
import { WorkflowItem } from '../../../core/submission/models/workflowitem.model';
|
||||
import { createSuccessfulRemoteDataObject } from '../../testing/utils';
|
||||
|
||||
let component: ClaimedTaskActionsComponent;
|
||||
let fixture: ComponentFixture<ClaimedTaskActionsComponent>;
|
||||
@@ -60,9 +61,9 @@ const item = Object.assign(new Item(), {
|
||||
]
|
||||
}
|
||||
});
|
||||
const rdItem = new RemoteData(false, false, true, null, item);
|
||||
const rdItem = createSuccessfulRemoteDataObject(item);
|
||||
const workflowitem = Object.assign(new WorkflowItem(), { item: observableOf(rdItem) });
|
||||
const rdWorkflowitem = new RemoteData(false, false, true, null, workflowitem);
|
||||
const rdWorkflowitem = createSuccessfulRemoteDataObject(workflowitem);
|
||||
mockObject = Object.assign(new ClaimedTask(), { workflowitem: observableOf(rdWorkflowitem), id: '1234' });
|
||||
|
||||
describe('ClaimedTaskActionsComponent', () => {
|
||||
|
@@ -17,6 +17,7 @@ import { PoolTaskDataService } from '../../../core/tasks/pool-task-data.service'
|
||||
import { PoolTaskActionsComponent } from './pool-task-actions.component';
|
||||
import { PoolTask } from '../../../core/tasks/models/pool-task-object.model';
|
||||
import { WorkflowItem } from '../../../core/submission/models/workflowitem.model';
|
||||
import { createSuccessfulRemoteDataObject } from '../../testing/utils';
|
||||
|
||||
let component: PoolTaskActionsComponent;
|
||||
let fixture: ComponentFixture<PoolTaskActionsComponent>;
|
||||
@@ -58,9 +59,9 @@ const item = Object.assign(new Item(), {
|
||||
]
|
||||
}
|
||||
});
|
||||
const rdItem = new RemoteData(false, false, true, null, item);
|
||||
const rdItem = createSuccessfulRemoteDataObject(item);
|
||||
const workflowitem = Object.assign(new WorkflowItem(), { item: observableOf(rdItem) });
|
||||
const rdWorkflowitem = new RemoteData(false, false, true, null, workflowitem);
|
||||
const rdWorkflowitem = createSuccessfulRemoteDataObject(workflowitem);
|
||||
mockObject = Object.assign(new PoolTask(), { workflowitem: observableOf(rdWorkflowitem), id: '1234' });
|
||||
|
||||
describe('PoolTaskActionsComponent', () => {
|
||||
|
@@ -14,6 +14,7 @@ import { WorkflowitemActionsComponent } from './workflowitem-actions.component';
|
||||
import { WorkflowItemDataService } from '../../../core/submission/workflowitem-data.service';
|
||||
import { NotificationsService } from '../../notifications/notifications.service';
|
||||
import { NotificationsServiceStub } from '../../testing/notifications-service-stub';
|
||||
import { createSuccessfulRemoteDataObject } from '../../testing/utils';
|
||||
|
||||
let component: WorkflowitemActionsComponent;
|
||||
let fixture: ComponentFixture<WorkflowitemActionsComponent>;
|
||||
@@ -51,7 +52,7 @@ const item = Object.assign(new Item(), {
|
||||
]
|
||||
}
|
||||
});
|
||||
const rd = new RemoteData(false, false, true, null, item);
|
||||
const rd = createSuccessfulRemoteDataObject(item);
|
||||
mockObject = Object.assign(new WorkflowItem(), { item: observableOf(rd), id: '1234', uuid: '1234' });
|
||||
|
||||
describe('WorkflowitemActionsComponent', () => {
|
||||
|
@@ -16,6 +16,7 @@ import { Item } from '../../../core/shared/item.model';
|
||||
import { WorkspaceItem } from '../../../core/submission/models/workspaceitem.model';
|
||||
import { WorkspaceitemActionsComponent } from './workspaceitem-actions.component';
|
||||
import { WorkspaceitemDataService } from '../../../core/submission/workspaceitem-data.service';
|
||||
import { createSuccessfulRemoteDataObject } from '../../testing/utils';
|
||||
|
||||
let component: WorkspaceitemActionsComponent;
|
||||
let fixture: ComponentFixture<WorkspaceitemActionsComponent>;
|
||||
@@ -56,7 +57,7 @@ const item = Object.assign(new Item(), {
|
||||
]
|
||||
}
|
||||
});
|
||||
const rd = new RemoteData(false, false, true, null, item);
|
||||
const rd = createSuccessfulRemoteDataObject(item);
|
||||
mockObject = Object.assign(new WorkspaceItem(), { item: observableOf(rd), id: '1234', uuid: '1234' });
|
||||
|
||||
describe('WorkspaceitemActionsComponent', () => {
|
||||
|
@@ -13,15 +13,16 @@ import { MyDSpaceItemStatusComponent } from './my-dspace-item-status.component';
|
||||
import { MyDspaceItemStatusType } from './my-dspace-item-status-type';
|
||||
import { MockTranslateLoader } from '../../../mocks/mock-translate-loader';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../testing/utils';
|
||||
|
||||
let component: MyDSpaceItemStatusComponent;
|
||||
let fixture: ComponentFixture<MyDSpaceItemStatusComponent>;
|
||||
|
||||
let mockResultObject: PoolTask;
|
||||
|
||||
const rdSumbitter = new RemoteData(false, false, true, null, EPersonMock);
|
||||
const rdSumbitter = createSuccessfulRemoteDataObject(EPersonMock);
|
||||
const workflowitem = Object.assign(new WorkflowItem(), { submitter: observableOf(rdSumbitter) });
|
||||
const rdWorkflowitem = new RemoteData(false, false, true, null, workflowitem);
|
||||
const rdWorkflowitem = createSuccessfulRemoteDataObject(workflowitem);
|
||||
mockResultObject = Object.assign(new PoolTask(), { workflowitem: observableOf(rdWorkflowitem) });
|
||||
|
||||
describe('MyDSpaceItemStatusComponent', () => {
|
||||
|
@@ -12,6 +12,7 @@ import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model';
|
||||
import { EPersonMock } from '../../../testing/eperson-mock';
|
||||
import { MockTranslateLoader } from '../../../mocks/mock-translate-loader';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../testing/utils';
|
||||
|
||||
let component: ItemSubmitterComponent;
|
||||
let fixture: ComponentFixture<ItemSubmitterComponent>;
|
||||
@@ -20,9 +21,9 @@ const compIndex = 1;
|
||||
|
||||
let mockResultObject: PoolTask;
|
||||
|
||||
const rdSumbitter = new RemoteData(false, false, true, null, EPersonMock);
|
||||
const rdSumbitter = createSuccessfulRemoteDataObject(EPersonMock);
|
||||
const workflowitem = Object.assign(new WorkflowItem(), { submitter: observableOf(rdSumbitter) });
|
||||
const rdWorkflowitem = new RemoteData(false, false, true, null, workflowitem);
|
||||
const rdWorkflowitem = createSuccessfulRemoteDataObject(workflowitem);
|
||||
mockResultObject = Object.assign(new PoolTask(), { workflowitem: observableOf(rdWorkflowitem) });
|
||||
|
||||
describe('ItemSubmitterComponent', () => {
|
||||
|
@@ -11,6 +11,7 @@ import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.m
|
||||
import { RemoteData } from '../../../../core/data/remote-data';
|
||||
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
|
||||
import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../testing/utils';
|
||||
|
||||
let component: ClaimedMyDSpaceResultDetailElementComponent;
|
||||
let fixture: ComponentFixture<ClaimedMyDSpaceResultDetailElementComponent>;
|
||||
@@ -49,9 +50,9 @@ const item = Object.assign(new Item(), {
|
||||
]
|
||||
}
|
||||
});
|
||||
const rdItem = new RemoteData(false, false, true, null, item);
|
||||
const rdItem = createSuccessfulRemoteDataObject(item);
|
||||
const workflowitem = Object.assign(new WorkflowItem(), { item: observableOf(rdItem) });
|
||||
const rdWorkflowitem = new RemoteData(false, false, true, null, workflowitem);
|
||||
const rdWorkflowitem = createSuccessfulRemoteDataObject(workflowitem);
|
||||
mockResultObject.indexableObject = Object.assign(new ClaimedTask(), { workflowitem: observableOf(rdWorkflowitem) });
|
||||
|
||||
describe('ClaimedMyDSpaceResultDetailElementComponent', () => {
|
||||
|
@@ -11,6 +11,7 @@ import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model';
|
||||
import { RemoteData } from '../../../../core/data/remote-data';
|
||||
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
|
||||
import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../testing/utils';
|
||||
|
||||
let component: PoolMyDSpaceResultDetailElementComponent;
|
||||
let fixture: ComponentFixture<PoolMyDSpaceResultDetailElementComponent>;
|
||||
@@ -49,9 +50,9 @@ const item = Object.assign(new Item(), {
|
||||
]
|
||||
}
|
||||
});
|
||||
const rdItem = new RemoteData(false, false, true, null, item);
|
||||
const rdItem = createSuccessfulRemoteDataObject(item);
|
||||
const workflowitem = Object.assign(new WorkflowItem(), { item: observableOf(rdItem) });
|
||||
const rdWorkflowitem = new RemoteData(false, false, true, null, workflowitem);
|
||||
const rdWorkflowitem = createSuccessfulRemoteDataObject(workflowitem);
|
||||
mockResultObject.indexableObject = Object.assign(new PoolTask(), { workflowitem: observableOf(rdWorkflowitem) });
|
||||
|
||||
describe('PoolMyDSpaceResultDetailElementComponent', () => {
|
||||
|
@@ -10,6 +10,7 @@ import { WorkflowitemMyDSpaceResult } from '../../../object-collection/shared/wo
|
||||
import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model';
|
||||
import { RemoteData } from '../../../../core/data/remote-data';
|
||||
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../testing/utils';
|
||||
|
||||
let component: WorkflowitemMyDSpaceResultDetailElementComponent;
|
||||
let fixture: ComponentFixture<WorkflowitemMyDSpaceResultDetailElementComponent>;
|
||||
@@ -48,7 +49,7 @@ const item = Object.assign(new Item(), {
|
||||
]
|
||||
}
|
||||
});
|
||||
const rd = new RemoteData(false, false, true, null, item);
|
||||
const rd = createSuccessfulRemoteDataObject(item);
|
||||
mockResultObject.indexableObject = Object.assign(new WorkflowItem(), { item: observableOf(rd) });
|
||||
|
||||
describe('WorkflowitemMyDSpaceResultDetailElementComponent', () => {
|
||||
|
@@ -10,6 +10,7 @@ import { WorkspaceitemMyDSpaceResult } from '../../../object-collection/shared/w
|
||||
import { WorkspaceItem } from '../../../../core/submission/models/workspaceitem.model';
|
||||
import { RemoteData } from '../../../../core/data/remote-data';
|
||||
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../testing/utils';
|
||||
|
||||
let component: WorkspaceitemMyDSpaceResultDetailElementComponent;
|
||||
let fixture: ComponentFixture<WorkspaceitemMyDSpaceResultDetailElementComponent>;
|
||||
@@ -48,7 +49,7 @@ const item = Object.assign(new Item(), {
|
||||
]
|
||||
}
|
||||
});
|
||||
const rd = new RemoteData(false, false, true, null, item);
|
||||
const rd = createSuccessfulRemoteDataObject(item);
|
||||
mockResultObject.indexableObject = Object.assign(new WorkspaceItem(), { item: observableOf(rd) });
|
||||
|
||||
describe('WorkspaceitemMyDSpaceResultDetailElementComponent', () => {
|
||||
|
@@ -8,6 +8,7 @@ import { RemoteData } from '../../core/data/remote-data';
|
||||
import { PaginatedList } from '../../core/data/paginated-list';
|
||||
import { PageInfo } from '../../core/shared/page-info.model';
|
||||
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { createSuccessfulRemoteDataObject } from '../testing/utils';
|
||||
|
||||
describe('ObjectDetailComponent', () => {
|
||||
let comp: ObjectDetailComponent;
|
||||
@@ -27,7 +28,7 @@ describe('ObjectDetailComponent', () => {
|
||||
{ ten: 10 }
|
||||
];
|
||||
const pageInfo = Object.assign(new PageInfo(), {elementsPerPage: 1, totalElements: 10, totalPages: 10, currentPage: 1})
|
||||
const mockRD = new RemoteData(false, false, true, null, new PaginatedList(pageInfo, testObjects));
|
||||
const mockRD = createSuccessfulRemoteDataObject(new PaginatedList(pageInfo, testObjects));
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
|
@@ -8,9 +8,10 @@ import { PageInfo } from '../../../core/shared/page-info.model';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { createRelationshipsObservable } from '../../../+item-page/simple/item-types/shared/item.component.spec';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../testing/utils';
|
||||
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
|
||||
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
|
||||
metadata: [],
|
||||
relationships: createRelationshipsObservable()
|
||||
});
|
||||
|
@@ -12,9 +12,10 @@ import { ItemSearchResult } from '../../../object-collection/shared/item-search-
|
||||
import { createRelationshipsObservable } from '../../../../+item-page/simple/item-types/shared/item.component.spec';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { MetadataMap } from '../../../../core/shared/metadata.models';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../testing/utils';
|
||||
|
||||
const mockItem: Item = Object.assign(new Item(), {
|
||||
bitstreams: observableOf(new RemoteData(false, false, true, null, new PaginatedList(new PageInfo(), []))),
|
||||
bitstreams: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
|
||||
metadata: [],
|
||||
relationships: createRelationshipsObservable()
|
||||
});
|
||||
|
@@ -11,6 +11,7 @@ import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.m
|
||||
import { RemoteData } from '../../../../core/data/remote-data';
|
||||
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
|
||||
import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../testing/utils';
|
||||
|
||||
let component: ClaimedMyDSpaceResultListElementComponent;
|
||||
let fixture: ComponentFixture<ClaimedMyDSpaceResultListElementComponent>;
|
||||
@@ -49,9 +50,9 @@ const item = Object.assign(new Item(), {
|
||||
]
|
||||
}
|
||||
});
|
||||
const rdItem = new RemoteData(false, false, true, null, item);
|
||||
const rdItem = createSuccessfulRemoteDataObject(item);
|
||||
const workflowitem = Object.assign(new WorkflowItem(), { item: observableOf(rdItem) });
|
||||
const rdWorkflowitem = new RemoteData(false, false, true, null, workflowitem);
|
||||
const rdWorkflowitem = createSuccessfulRemoteDataObject(workflowitem);
|
||||
mockResultObject.indexableObject = Object.assign(new ClaimedTask(), { workflowitem: observableOf(rdWorkflowitem) });
|
||||
|
||||
describe('ClaimedMyDSpaceResultListElementComponent', () => {
|
||||
|
@@ -11,6 +11,7 @@ import { PoolTask } from '../../../../core/tasks/models/pool-task-object.model';
|
||||
import { RemoteData } from '../../../../core/data/remote-data';
|
||||
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
|
||||
import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../testing/utils';
|
||||
|
||||
let component: PoolMyDSpaceResultListElementComponent;
|
||||
let fixture: ComponentFixture<PoolMyDSpaceResultListElementComponent>;
|
||||
@@ -49,9 +50,9 @@ const item = Object.assign(new Item(), {
|
||||
]
|
||||
}
|
||||
});
|
||||
const rdItem = new RemoteData(false, false, true, null, item);
|
||||
const rdItem = createSuccessfulRemoteDataObject(item);
|
||||
const workflowitem = Object.assign(new WorkflowItem(), { item: observableOf(rdItem) });
|
||||
const rdWorkflowitem = new RemoteData(false, false, true, null, workflowitem);
|
||||
const rdWorkflowitem = createSuccessfulRemoteDataObject(workflowitem);
|
||||
mockResultObject.indexableObject = Object.assign(new PoolTask(), { workflowitem: observableOf(rdWorkflowitem) });
|
||||
|
||||
describe('PoolMyDSpaceResultListElementComponent', () => {
|
||||
|
@@ -10,6 +10,7 @@ import { WorkflowitemMyDSpaceResult } from '../../../object-collection/shared/wo
|
||||
import { WorkflowItem } from '../../../../core/submission/models/workflowitem.model';
|
||||
import { RemoteData } from '../../../../core/data/remote-data';
|
||||
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../testing/utils';
|
||||
|
||||
let component: WorkflowitemMyDSpaceResultListElementComponent;
|
||||
let fixture: ComponentFixture<WorkflowitemMyDSpaceResultListElementComponent>;
|
||||
@@ -48,7 +49,7 @@ const item = Object.assign(new Item(), {
|
||||
]
|
||||
}
|
||||
});
|
||||
const rd = new RemoteData(false, false, true, null, item);
|
||||
const rd = createSuccessfulRemoteDataObject(item);
|
||||
mockResultObject.indexableObject = Object.assign(new WorkflowItem(), { item: observableOf(rd) });
|
||||
|
||||
describe('WorkflowitemMyDSpaceResultListElementComponent', () => {
|
||||
|
@@ -10,6 +10,7 @@ import { WorkspaceitemMyDSpaceResult } from '../../../object-collection/shared/w
|
||||
import { WorkspaceItem } from '../../../../core/submission/models/workspaceitem.model';
|
||||
import { RemoteData } from '../../../../core/data/remote-data';
|
||||
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../testing/utils';
|
||||
|
||||
let component: WorkspaceitemMyDSpaceResultListElementComponent;
|
||||
let fixture: ComponentFixture<WorkspaceitemMyDSpaceResultListElementComponent>;
|
||||
@@ -48,7 +49,7 @@ const item = Object.assign(new Item(), {
|
||||
]
|
||||
}
|
||||
});
|
||||
const rd = new RemoteData(false, false, true, null, item);
|
||||
const rd = createSuccessfulRemoteDataObject(item);
|
||||
mockResultObject.indexableObject = Object.assign(new WorkspaceItem(), { item: observableOf(rd) });
|
||||
|
||||
describe('WorkspaceitemMyDSpaceResultListElementComponent', () => {
|
||||
|
@@ -6,6 +6,7 @@ import { EPerson } from '../../core/eperson/models/eperson.model';
|
||||
import { isNotEmpty } from '../empty.util';
|
||||
import { EPersonMock } from './eperson-mock';
|
||||
import { RemoteData } from '../../core/data/remote-data';
|
||||
import { createSuccessfulRemoteDataObject$ } from './utils';
|
||||
|
||||
export class AuthRequestServiceStub {
|
||||
protected mockUser: EPerson = EPersonMock;
|
||||
@@ -27,7 +28,7 @@ export class AuthRequestServiceStub {
|
||||
if (this.validateToken(token)) {
|
||||
authStatusStub.authenticated = true;
|
||||
authStatusStub.token = this.mockTokenInfo;
|
||||
authStatusStub.eperson = observableOf(new RemoteData<EPerson>(false, false, true, undefined, this.mockUser));
|
||||
authStatusStub.eperson = createSuccessfulRemoteDataObject$(this.mockUser);
|
||||
} else {
|
||||
authStatusStub.authenticated = false;
|
||||
}
|
||||
@@ -46,7 +47,7 @@ export class AuthRequestServiceStub {
|
||||
if (this.validateToken(token)) {
|
||||
authStatusStub.authenticated = true;
|
||||
authStatusStub.token = this.mockTokenInfo;
|
||||
authStatusStub.eperson = observableOf(new RemoteData<EPerson>(false, false, true, undefined, this.mockUser));
|
||||
authStatusStub.eperson = createSuccessfulRemoteDataObject$(this.mockUser);
|
||||
} else {
|
||||
authStatusStub.authenticated = false;
|
||||
}
|
||||
|
@@ -4,6 +4,7 @@ import { AuthTokenInfo } from '../../core/auth/models/auth-token-info.model';
|
||||
import { EPersonMock } from './eperson-mock';
|
||||
import { EPerson } from '../../core/eperson/models/eperson.model';
|
||||
import { RemoteData } from '../../core/data/remote-data';
|
||||
import { createSuccessfulRemoteDataObject$ } from './utils';
|
||||
|
||||
export class AuthServiceStub {
|
||||
|
||||
@@ -20,7 +21,7 @@ export class AuthServiceStub {
|
||||
authStatus.okay = true;
|
||||
authStatus.authenticated = true;
|
||||
authStatus.token = this.token;
|
||||
authStatus.eperson = observableOf(new RemoteData<EPerson>(false, false, true, undefined, EPersonMock));
|
||||
authStatus.eperson = createSuccessfulRemoteDataObject$(EPersonMock);
|
||||
return observableOf(authStatus);
|
||||
} else {
|
||||
console.log('error');
|
||||
|
@@ -1,4 +1,7 @@
|
||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { RemoteData } from '../../core/data/remote-data';
|
||||
import { Observable, of as observableOf } from 'rxjs';
|
||||
import { RemoteDataError } from '../../core/data/remote-data-error';
|
||||
|
||||
/**
|
||||
* Returns true if a Native Element has a specified css class.
|
||||
@@ -50,3 +53,45 @@ export function spyOnOperator(obj: any, prop: string): any {
|
||||
|
||||
return spyOn(obj, prop);
|
||||
}
|
||||
|
||||
export function createSuccessfulRemoteDataObject<T>(object: T): RemoteData<T>{
|
||||
return new RemoteData(
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
undefined,
|
||||
object
|
||||
);
|
||||
}
|
||||
|
||||
export function createSuccessfulRemoteDataObject$<T>(object: T): Observable<RemoteData<T>>{
|
||||
return observableOf(createSuccessfulRemoteDataObject(object));
|
||||
}
|
||||
|
||||
export function createFailedRemoteDataObject<T>(object?: T, error?: RemoteDataError): RemoteData<T>{
|
||||
return new RemoteData(
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
error,
|
||||
object
|
||||
);
|
||||
}
|
||||
|
||||
export function createFailedRemoteDataObject$<T>(object?: T, error?: RemoteDataError): Observable<RemoteData<T>>{
|
||||
return observableOf(createFailedRemoteDataObject(object, error));
|
||||
}
|
||||
|
||||
export function createPendingRemoteDataObject<T>(object?: T): RemoteData<T>{
|
||||
return new RemoteData(
|
||||
true,
|
||||
true,
|
||||
true,
|
||||
null,
|
||||
object
|
||||
);
|
||||
}
|
||||
|
||||
export function createPendingRemoteDataObject$<T>(object?: T): Observable<RemoteData<T>>{
|
||||
return observableOf(createPendingRemoteDataObject(object));
|
||||
}
|
@@ -16,7 +16,7 @@ import { getMockTranslateService } from '../../shared/mocks/mock-translate.servi
|
||||
import { RouterStub } from '../../shared/testing/router-stub';
|
||||
import { ActivatedRouteStub } from '../../shared/testing/active-router-stub';
|
||||
import { mockSubmissionObject } from '../../shared/mocks/mock-submission';
|
||||
import { RemoteData } from '../../core/data/remote-data';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../shared/testing/utils';
|
||||
|
||||
describe('SubmissionEditComponent Component', () => {
|
||||
|
||||
@@ -66,14 +66,9 @@ describe('SubmissionEditComponent Component', () => {
|
||||
it('should init properly when a valid SubmissionObject has been retrieved', fakeAsync(() => {
|
||||
|
||||
route.testParams = { id: submissionId };
|
||||
submissionServiceStub.retrieveSubmission.and.returnValue(observableOf(
|
||||
new RemoteData(
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
null,
|
||||
submissionObject)
|
||||
));
|
||||
submissionServiceStub.retrieveSubmission.and.returnValue(
|
||||
createSuccessfulRemoteDataObject$(submissionObject)
|
||||
);
|
||||
|
||||
fixture.detectChanges();
|
||||
|
||||
@@ -88,14 +83,8 @@ describe('SubmissionEditComponent Component', () => {
|
||||
it('should redirect to mydspace when an empty SubmissionObject has been retrieved', fakeAsync(() => {
|
||||
|
||||
route.testParams = { id: submissionId };
|
||||
submissionServiceStub.retrieveSubmission.and.returnValue(observableOf(
|
||||
new RemoteData(
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
null,
|
||||
{})
|
||||
));
|
||||
submissionServiceStub.retrieveSubmission.and.returnValue(createSuccessfulRemoteDataObject$({})
|
||||
);
|
||||
|
||||
fixture.detectChanges();
|
||||
|
||||
|
@@ -23,7 +23,10 @@ import { RemoteData } from '../../../core/data/remote-data';
|
||||
import { PaginatedList } from '../../../core/data/paginated-list';
|
||||
import { PageInfo } from '../../../core/shared/page-info.model';
|
||||
import { Collection } from '../../../core/shared/collection.model';
|
||||
import { createTestComponent } from '../../../shared/testing/utils';
|
||||
import {
|
||||
createSuccessfulRemoteDataObject$,
|
||||
createTestComponent
|
||||
} from '../../../shared/testing/utils';
|
||||
import { cold } from 'jasmine-marbles';
|
||||
|
||||
const subcommunities = [Object.assign(new Community(), {
|
||||
@@ -101,10 +104,8 @@ const mockCommunity = Object.assign(new Community(), {
|
||||
language: 'en_US',
|
||||
value: 'Community 1'
|
||||
}],
|
||||
collections: observableOf(new RemoteData(true, true, true,
|
||||
undefined, new PaginatedList(new PageInfo(), [mockCommunity1Collection1, mockCommunity1Collection2]))),
|
||||
subcommunities: observableOf(new RemoteData(true, true, true,
|
||||
undefined, new PaginatedList(new PageInfo(), subcommunities))),
|
||||
collections: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [mockCommunity1Collection1, mockCommunity1Collection2])), //LOTTE
|
||||
subcommunities: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), subcommunities)),
|
||||
});
|
||||
|
||||
const mockCommunity2 = Object.assign(new Community(), {
|
||||
@@ -116,14 +117,11 @@ const mockCommunity2 = Object.assign(new Community(), {
|
||||
language: 'en_US',
|
||||
value: 'Community 2'
|
||||
}],
|
||||
collections: observableOf(new RemoteData(true, true, true,
|
||||
undefined, new PaginatedList(new PageInfo(), [mockCommunity2Collection1, mockCommunity2Collection2]))),
|
||||
subcommunities: observableOf(new RemoteData(true, true, true,
|
||||
undefined, new PaginatedList(new PageInfo(), []))),
|
||||
collections: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [mockCommunity2Collection1, mockCommunity2Collection2])),
|
||||
subcommunities: createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [])),
|
||||
});
|
||||
|
||||
const mockCommunityList = observableOf(new RemoteData(true, true, true,
|
||||
undefined, new PaginatedList(new PageInfo(), [mockCommunity, mockCommunity2])));
|
||||
const mockCommunityList = createSuccessfulRemoteDataObject$(new PaginatedList(new PageInfo(), [mockCommunity, mockCommunity2]));
|
||||
|
||||
const mockCollectionList = [
|
||||
{
|
||||
|
@@ -6,9 +6,13 @@ import { async, ComponentFixture, inject, TestBed } from '@angular/core/testing'
|
||||
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { DynamicCheckboxModel, DynamicFormControlEvent, DynamicFormControlEventType } from '@ng-dynamic-forms/core';
|
||||
import {
|
||||
DynamicCheckboxModel,
|
||||
DynamicFormControlEvent,
|
||||
DynamicFormControlEventType
|
||||
} from '@ng-dynamic-forms/core';
|
||||
|
||||
import { createTestComponent } from '../../../shared/testing/utils';
|
||||
import { createSuccessfulRemoteDataObject$, createTestComponent } from '../../../shared/testing/utils';
|
||||
import { NotificationsService } from '../../../shared/notifications/notifications.service';
|
||||
import { NotificationsServiceStub } from '../../../shared/testing/notifications-service-stub';
|
||||
import { SubmissionService } from '../../submission.service';
|
||||
@@ -109,8 +113,7 @@ describe('SubmissionSectionLicenseComponent test suite', () => {
|
||||
language: 'en_US',
|
||||
value: 'Community 1-Collection 1'
|
||||
}],
|
||||
license: observableOf(new RemoteData(false, false, true,
|
||||
undefined, Object.assign(new License(), { text: licenseText })))
|
||||
license: createSuccessfulRemoteDataObject$(Object.assign(new License(), { text: licenseText }))
|
||||
});
|
||||
|
||||
beforeEach(async(() => {
|
||||
@@ -193,8 +196,7 @@ describe('SubmissionSectionLicenseComponent test suite', () => {
|
||||
});
|
||||
|
||||
it('should init section properly', () => {
|
||||
collectionDataService.findById.and.returnValue(observableOf(new RemoteData(false, false, true,
|
||||
undefined, mockCollection)));
|
||||
collectionDataService.findById.and.returnValue(createSuccessfulRemoteDataObject$(mockCollection));
|
||||
sectionsServiceStub.getSectionErrors.and.returnValue(observableOf([]));
|
||||
sectionsServiceStub.isSectionReadOnly.and.returnValue(observableOf(false));
|
||||
spyOn(compAsAny, 'getSectionStatus');
|
||||
@@ -219,8 +221,7 @@ describe('SubmissionSectionLicenseComponent test suite', () => {
|
||||
granted: true
|
||||
} as any;
|
||||
|
||||
collectionDataService.findById.and.returnValue(observableOf(new RemoteData(false, false, true,
|
||||
undefined, mockCollection)));
|
||||
collectionDataService.findById.and.returnValue(createSuccessfulRemoteDataObject$(mockCollection));
|
||||
sectionsServiceStub.getSectionErrors.and.returnValue(observableOf([]));
|
||||
sectionsServiceStub.isSectionReadOnly.and.returnValue(observableOf(false));
|
||||
spyOn(compAsAny, 'getSectionStatus');
|
||||
@@ -239,8 +240,7 @@ describe('SubmissionSectionLicenseComponent test suite', () => {
|
||||
});
|
||||
|
||||
it('should set section errors properly', () => {
|
||||
collectionDataService.findById.and.returnValue(observableOf(new RemoteData(false, false, true,
|
||||
undefined, mockCollection)));
|
||||
collectionDataService.findById.and.returnValue(createSuccessfulRemoteDataObject$(mockCollection));
|
||||
sectionsServiceStub.getSectionErrors.and.returnValue(observableOf(mockLicenseParsedErrors.license));
|
||||
sectionsServiceStub.isSectionReadOnly.and.returnValue(observableOf(false));
|
||||
|
||||
@@ -259,8 +259,7 @@ describe('SubmissionSectionLicenseComponent test suite', () => {
|
||||
granted: true
|
||||
} as any;
|
||||
|
||||
collectionDataService.findById.and.returnValue(observableOf(new RemoteData(false, false, true,
|
||||
undefined, mockCollection)));
|
||||
collectionDataService.findById.and.returnValue(createSuccessfulRemoteDataObject$(mockCollection));
|
||||
sectionsServiceStub.getSectionErrors.and.returnValue(observableOf(mockLicenseParsedErrors.license));
|
||||
sectionsServiceStub.isSectionReadOnly.and.returnValue(observableOf(false));
|
||||
|
||||
@@ -272,8 +271,7 @@ describe('SubmissionSectionLicenseComponent test suite', () => {
|
||||
|
||||
it('should have status true when checkbox is selected', () => {
|
||||
|
||||
collectionDataService.findById.and.returnValue(observableOf(new RemoteData(false, false, true,
|
||||
undefined, mockCollection)));
|
||||
collectionDataService.findById.and.returnValue(createSuccessfulRemoteDataObject$(mockCollection));
|
||||
sectionsServiceStub.getSectionErrors.and.returnValue(observableOf([]));
|
||||
sectionsServiceStub.isSectionReadOnly.and.returnValue(observableOf(false));
|
||||
|
||||
@@ -289,8 +287,7 @@ describe('SubmissionSectionLicenseComponent test suite', () => {
|
||||
|
||||
it('should have status false when checkbox is not selected', () => {
|
||||
|
||||
collectionDataService.findById.and.returnValue(observableOf(new RemoteData(false, false, true,
|
||||
undefined, mockCollection)));
|
||||
collectionDataService.findById.and.returnValue(createSuccessfulRemoteDataObject$(mockCollection));
|
||||
sectionsServiceStub.getSectionErrors.and.returnValue(observableOf([]));
|
||||
sectionsServiceStub.isSectionReadOnly.and.returnValue(observableOf(false));
|
||||
|
||||
|
@@ -4,7 +4,7 @@ import { TranslateModule } from '@ngx-translate/core';
|
||||
|
||||
import { of as observableOf } from 'rxjs';
|
||||
|
||||
import { createTestComponent } from '../../../shared/testing/utils';
|
||||
import { createSuccessfulRemoteDataObject$, createTestComponent } from '../../../shared/testing/utils';
|
||||
import { SubmissionService } from '../../submission.service';
|
||||
import { SubmissionServiceStub } from '../../../shared/testing/submission-service-stub';
|
||||
import { SectionsService } from '../sections.service';
|
||||
@@ -30,7 +30,6 @@ import { GroupEpersonService } from '../../../core/eperson/group-eperson.service
|
||||
import { cold, hot } from 'jasmine-marbles';
|
||||
import { Collection } from '../../../core/shared/collection.model';
|
||||
import { ResourcePolicy } from '../../../core/shared/resource-policy.model';
|
||||
import { RemoteData } from '../../../core/data/remote-data';
|
||||
import { ConfigData } from '../../../core/config/config-data';
|
||||
import { PageInfo } from '../../../core/shared/page-info.model';
|
||||
import { Group } from '../../../core/eperson/models/group.model';
|
||||
@@ -180,24 +179,17 @@ describe('SubmissionSectionUploadComponent test suite', () => {
|
||||
|
||||
submissionServiceStub.getSubmissionObject.and.returnValue(observableOf(submissionState));
|
||||
|
||||
collectionDataService.findById.and.returnValue(observableOf(
|
||||
new RemoteData(false, false, true,
|
||||
undefined, mockCollection)));
|
||||
collectionDataService.findById.and.returnValue(createSuccessfulRemoteDataObject$(mockCollection));
|
||||
|
||||
collectionDataService.findByHref.and.returnValue(observableOf(
|
||||
new RemoteData(false, false, true,
|
||||
undefined, mockDefaultAccessCondition)
|
||||
));
|
||||
collectionDataService.findByHref.and.returnValue(createSuccessfulRemoteDataObject$(mockDefaultAccessCondition));
|
||||
|
||||
uploadsConfigService.getConfigByHref.and.returnValue(observableOf(
|
||||
new ConfigData(new PageInfo(), mockUploadConfigResponse as any)
|
||||
));
|
||||
|
||||
groupService.findById.and.returnValues(
|
||||
observableOf(new RemoteData(false, false, true,
|
||||
undefined, Object.assign(new Group(), mockGroup))),
|
||||
observableOf(new RemoteData(false, false, true,
|
||||
undefined, Object.assign(new Group(), mockGroup)))
|
||||
createSuccessfulRemoteDataObject$(Object.assign(new Group(), mockGroup)),
|
||||
createSuccessfulRemoteDataObject$(Object.assign(new Group(), mockGroup))
|
||||
);
|
||||
|
||||
bitstreamService.getUploadedFileList.and.returnValue(observableOf([]));
|
||||
@@ -226,24 +218,17 @@ describe('SubmissionSectionUploadComponent test suite', () => {
|
||||
|
||||
submissionServiceStub.getSubmissionObject.and.returnValue(observableOf(submissionState));
|
||||
|
||||
collectionDataService.findById.and.returnValue(observableOf(
|
||||
new RemoteData(false, false, true,
|
||||
undefined, mockCollection)));
|
||||
collectionDataService.findById.and.returnValue(createSuccessfulRemoteDataObject$(mockCollection));
|
||||
|
||||
collectionDataService.findByHref.and.returnValue(observableOf(
|
||||
new RemoteData(false, false, true,
|
||||
undefined, mockDefaultAccessCondition)
|
||||
));
|
||||
collectionDataService.findByHref.and.returnValue(createSuccessfulRemoteDataObject$(mockDefaultAccessCondition));
|
||||
|
||||
uploadsConfigService.getConfigByHref.and.returnValue(observableOf(
|
||||
new ConfigData(new PageInfo(), mockUploadConfigResponse as any)
|
||||
));
|
||||
|
||||
groupService.findById.and.returnValues(
|
||||
observableOf(new RemoteData(false, false, true,
|
||||
undefined, Object.assign(new Group(), mockGroup))),
|
||||
observableOf(new RemoteData(false, false, true,
|
||||
undefined, Object.assign(new Group(), mockGroup)))
|
||||
createSuccessfulRemoteDataObject$(Object.assign(new Group(), mockGroup)),
|
||||
createSuccessfulRemoteDataObject$(Object.assign(new Group(), mockGroup))
|
||||
);
|
||||
|
||||
bitstreamService.getUploadedFileList.and.returnValue(observableOf(mockUploadFiles));
|
||||
|
@@ -18,7 +18,10 @@ import { MockActivatedRoute } from '../shared/mocks/mock-active-router';
|
||||
import { GLOBAL_CONFIG } from '../../config';
|
||||
import { HttpOptions } from '../core/dspace-rest-v2/dspace-rest-v2.service';
|
||||
import { SubmissionScopeType } from '../core/submission/submission-scope-type';
|
||||
import { mockSubmissionDefinition, mockSubmissionRestResponse } from '../shared/mocks/mock-submission';
|
||||
import {
|
||||
mockSubmissionDefinition,
|
||||
mockSubmissionRestResponse
|
||||
} from '../shared/mocks/mock-submission';
|
||||
import { NotificationsService } from '../shared/notifications/notifications.service';
|
||||
import { MockTranslateLoader } from '../shared/mocks/mock-translate-loader';
|
||||
import { MOCK_SUBMISSION_CONFIG } from '../shared/testing/mock-submission-config';
|
||||
@@ -37,6 +40,11 @@ import {
|
||||
import { RemoteData } from '../core/data/remote-data';
|
||||
import { RemoteDataError } from '../core/data/remote-data-error';
|
||||
import { throwError as observableThrowError } from 'rxjs/internal/observable/throwError';
|
||||
import {
|
||||
createFailedRemoteDataObject,
|
||||
createSuccessfulRemoteDataObject,
|
||||
createSuccessfulRemoteDataObject$
|
||||
} from '../shared/testing/utils';
|
||||
|
||||
describe('SubmissionService test suite', () => {
|
||||
const config = MOCK_SUBMISSION_CONFIG;
|
||||
@@ -344,7 +352,7 @@ describe('SubmissionService test suite', () => {
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
StoreModule.forRoot({submissionReducers} as any),
|
||||
StoreModule.forRoot({ submissionReducers } as any),
|
||||
TranslateModule.forRoot({
|
||||
loader: {
|
||||
provide: TranslateLoader,
|
||||
@@ -353,10 +361,10 @@ describe('SubmissionService test suite', () => {
|
||||
})
|
||||
],
|
||||
providers: [
|
||||
{provide: GLOBAL_CONFIG, useValue: config},
|
||||
{provide: Router, useValue: router},
|
||||
{provide: SubmissionRestService, useValue: restService},
|
||||
{provide: ActivatedRoute, useValue: new MockActivatedRoute()},
|
||||
{ provide: GLOBAL_CONFIG, useValue: config },
|
||||
{ provide: Router, useValue: router },
|
||||
{ provide: SubmissionRestService, useValue: restService },
|
||||
{ provide: ActivatedRoute, useValue: new MockActivatedRoute() },
|
||||
NotificationsService,
|
||||
RouteService,
|
||||
SubmissionService,
|
||||
@@ -482,7 +490,7 @@ describe('SubmissionService test suite', () => {
|
||||
}));
|
||||
|
||||
const result = service.getSubmissionObject('826');
|
||||
const expected = cold('b', {b: subState.objects[826]});
|
||||
const expected = cold('b', { b: subState.objects[826] });
|
||||
|
||||
expect(result).toBeObservable(expected);
|
||||
});
|
||||
@@ -495,7 +503,7 @@ describe('SubmissionService test suite', () => {
|
||||
}));
|
||||
|
||||
const result = service.getActiveSectionId('826');
|
||||
const expected = cold('b', {b: 'keyinformation'});
|
||||
const expected = cold('b', { b: 'keyinformation' });
|
||||
|
||||
expect(result).toBeObservable(expected);
|
||||
|
||||
@@ -747,7 +755,7 @@ describe('SubmissionService test suite', () => {
|
||||
|
||||
describe('isSubmissionLoading', () => {
|
||||
it('should return true/false when section is loading/not loading', () => {
|
||||
const spy = spyOn(service, 'getSubmissionObject').and.returnValue(observableOf({isLoading: true}));
|
||||
const spy = spyOn(service, 'getSubmissionObject').and.returnValue(observableOf({ isLoading: true }));
|
||||
|
||||
let expected = cold('(b|)', {
|
||||
b: true
|
||||
@@ -755,7 +763,7 @@ describe('SubmissionService test suite', () => {
|
||||
|
||||
expect(service.isSubmissionLoading(submissionId)).toBeObservable(expected);
|
||||
|
||||
spy.and.returnValue(observableOf({isLoading: false}));
|
||||
spy.and.returnValue(observableOf({ isLoading: false }));
|
||||
|
||||
expected = cold('(b|)', {
|
||||
b: false
|
||||
@@ -841,11 +849,7 @@ describe('SubmissionService test suite', () => {
|
||||
|
||||
const result = service.retrieveSubmission('826');
|
||||
const expected = cold('(b|)', {
|
||||
b: new RemoteData(
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
null,
|
||||
b: createSuccessfulRemoteDataObject(
|
||||
mockSubmissionRestResponse[0])
|
||||
});
|
||||
|
||||
@@ -862,12 +866,8 @@ describe('SubmissionService test suite', () => {
|
||||
);
|
||||
|
||||
service.retrieveSubmission('826').subscribe((r) => {
|
||||
expect(r).toEqual(new RemoteData(
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
new RemoteDataError(500, 'Internal Server Error', 'Error message'),
|
||||
null
|
||||
expect(r).toEqual(createFailedRemoteDataObject(null,
|
||||
new RemoteDataError(500, 'Internal Server Error', 'Error message')
|
||||
))
|
||||
});
|
||||
});
|
||||
|
@@ -3,7 +3,15 @@ import { HttpHeaders } from '@angular/common/http';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
import { Observable, of as observableOf, Subscription, timer as observableTimer } from 'rxjs';
|
||||
import { catchError, distinctUntilChanged, filter, find, first, map, startWith } from 'rxjs/operators';
|
||||
import {
|
||||
catchError,
|
||||
distinctUntilChanged,
|
||||
filter,
|
||||
find,
|
||||
first,
|
||||
map,
|
||||
startWith
|
||||
} from 'rxjs/operators';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
|
||||
@@ -43,6 +51,11 @@ import { WorkspaceitemSectionsObject } from '../core/submission/models/workspace
|
||||
import { RemoteData } from '../core/data/remote-data';
|
||||
import { ErrorResponse } from '../core/cache/response.models';
|
||||
import { RemoteDataError } from '../core/data/remote-data-error';
|
||||
import {
|
||||
createFailedRemoteDataObject$,
|
||||
createSuccessfulRemoteDataObject,
|
||||
createSuccessfulRemoteDataObject$
|
||||
} from '../shared/testing/utils';
|
||||
|
||||
/**
|
||||
* A service that provides methods used in submission process.
|
||||
@@ -495,20 +508,12 @@ export class SubmissionService {
|
||||
retrieveSubmission(submissionId): Observable<RemoteData<SubmissionObject>> {
|
||||
return this.restService.getDataById(this.getSubmissionObjectLinkName(), submissionId).pipe(
|
||||
find((submissionObjects: SubmissionObject[]) => isNotUndefined(submissionObjects)),
|
||||
map((submissionObjects: SubmissionObject[]) => new RemoteData(
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
null,
|
||||
map((submissionObjects: SubmissionObject[]) => createSuccessfulRemoteDataObject(
|
||||
submissionObjects[0])),
|
||||
catchError((errorResponse: ErrorResponse) => {
|
||||
return observableOf(new RemoteData(
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
new RemoteDataError(errorResponse.statusCode, errorResponse.statusText, errorResponse.errorMessage),
|
||||
null
|
||||
))
|
||||
return createFailedRemoteDataObject$(null,
|
||||
new RemoteDataError(errorResponse.statusCode, errorResponse.statusText, errorResponse.errorMessage)
|
||||
)
|
||||
})
|
||||
);
|
||||
}
|
||||
|
Reference in New Issue
Block a user