mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
fixed remaining issues and tests
This commit is contained in:
@@ -295,8 +295,7 @@ export class SearchService implements OnDestroy {
|
||||
const scopeObject: Observable<RemoteData<DSpaceObject>> = this.dspaceObjectService.findById(scopeId).pipe(getSucceededRemoteData());
|
||||
const scopeList: Observable<DSpaceObject[]> = scopeObject.pipe(
|
||||
switchMap((dsoRD: RemoteData<DSpaceObject>) => {
|
||||
console.log((dsoRD.payload as any).type);
|
||||
if ((dsoRD.payload as any).type === Community.type) {
|
||||
if ((dsoRD.payload as any).type === Community.type.value) {
|
||||
const community: Community = dsoRD.payload as Community;
|
||||
return observableCombineLatest(community.subcommunities, community.collections).pipe(
|
||||
map(([subCommunities, collections]) => {
|
||||
|
@@ -8,8 +8,8 @@ import { Store } from '@ngrx/store';
|
||||
import { CoreState } from '../core.reducers';
|
||||
import { PaginatedList } from '../data/paginated-list';
|
||||
import { PageInfo } from '../shared/page-info.model';
|
||||
import { NormalizedSubmissionDefinitionsModel } from './models/normalized-config-submission-definitions.model';
|
||||
import { NormalizedSubmissionSectionModel } from './models/normalized-config-submission-section.model';
|
||||
import { NormalizedSubmissionDefinitionModel } from './models/normalized-config-submission-definition.model';
|
||||
|
||||
describe('ConfigResponseParsingService', () => {
|
||||
let service: ConfigResponseParsingService;
|
||||
@@ -173,7 +173,7 @@ describe('ConfigResponseParsingService', () => {
|
||||
self: 'https://rest.api/config/submissiondefinitions/traditional/sections'
|
||||
});
|
||||
const definitions =
|
||||
Object.assign(new NormalizedSubmissionDefinitionsModel(), {
|
||||
Object.assign(new NormalizedSubmissionDefinitionModel(), {
|
||||
isDefault: true,
|
||||
name: 'traditional',
|
||||
type: 'submissiondefinition',
|
||||
|
@@ -42,7 +42,7 @@ export class IntegrationResponseParsingService extends BaseResponseParsingServic
|
||||
protected processResponse(data: PaginatedList<IntegrationModel>): any {
|
||||
const returnList = Array.of();
|
||||
data.page.forEach((item, index) => {
|
||||
if (item.type === AuthorityValue.type) {
|
||||
if (item.type === AuthorityValue.type.value) {
|
||||
data.page[index] = Object.assign(new AuthorityValue(), item);
|
||||
}
|
||||
});
|
||||
|
@@ -5,10 +5,8 @@ import { DSOSelectorComponent } from './dso-selector.component';
|
||||
import { SearchService } from '../../../+search-page/search-service/search.service';
|
||||
import { DSpaceObjectType } from '../../../core/shared/dspace-object-type.model';
|
||||
import { PaginatedSearchOptions } from '../../../+search-page/paginated-search-options.model';
|
||||
import { RemoteData } from '../../../core/data/remote-data';
|
||||
import { ItemSearchResult } from '../../object-collection/shared/item-search-result.model';
|
||||
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';
|
||||
@@ -51,7 +49,7 @@ describe('DSOSelectorComponent', () => {
|
||||
component = fixture.componentInstance;
|
||||
debugElement = fixture.debugElement;
|
||||
component.currentDSOId = currentDSOId;
|
||||
component.value = type;
|
||||
component.type = type;
|
||||
|
||||
fixture.detectChanges();
|
||||
});
|
||||
@@ -69,6 +67,4 @@ describe('DSOSelectorComponent', () => {
|
||||
|
||||
expect(searchService.search).toHaveBeenCalledWith(searchOptions);
|
||||
});
|
||||
|
||||
})
|
||||
;
|
||||
});
|
||||
|
@@ -11,13 +11,13 @@ import { MockTranslateLoader } from '../../mocks/mock-translate-loader';
|
||||
import { NotificationsService } from '../../notifications/notifications.service';
|
||||
import { NotificationsServiceStub } from '../../testing/notifications-service-stub';
|
||||
import { RouterStub } from '../../testing/router-stub';
|
||||
import { RemoteData } from '../../../core/data/remote-data';
|
||||
import { Item } from '../../../core/shared/item.model';
|
||||
import { ClaimedTaskDataService } from '../../../core/tasks/claimed-task-data.service';
|
||||
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';
|
||||
import { CoreModule } from '../../../core/core.module';
|
||||
|
||||
let component: ClaimedTaskActionsComponent;
|
||||
let fixture: ComponentFixture<ClaimedTaskActionsComponent>;
|
||||
@@ -26,7 +26,7 @@ let mockObject: ClaimedTask;
|
||||
let notificationsServiceStub: NotificationsServiceStub;
|
||||
let router: RouterStub;
|
||||
|
||||
const mockDataService = jasmine.createSpyObj('PoolTaskDataService', {
|
||||
const mockDataService = jasmine.createSpyObj('ClaimedTaskDataService', {
|
||||
approveTask: jasmine.createSpy('approveTask'),
|
||||
rejectTask: jasmine.createSpy('rejectTask'),
|
||||
returnToPoolTask: jasmine.createSpy('returnToPoolTask'),
|
||||
@@ -66,7 +66,7 @@ const workflowitem = Object.assign(new WorkflowItem(), { item: observableOf(rdIt
|
||||
const rdWorkflowitem = createSuccessfulRemoteDataObject(workflowitem);
|
||||
mockObject = Object.assign(new ClaimedTask(), { workflowitem: observableOf(rdWorkflowitem), id: '1234' });
|
||||
|
||||
fdescribe('ClaimedTaskActionsComponent', () => {
|
||||
describe('ClaimedTaskActionsComponent', () => {
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
|
@@ -12,7 +12,6 @@ import { isNotUndefined } from '../../empty.util';
|
||||
import { WorkflowItem } from '../../../core/submission/models/workflowitem.model';
|
||||
import { RemoteData } from '../../../core/data/remote-data';
|
||||
import { MyDSpaceActionsComponent } from '../mydspace-actions';
|
||||
import { ResourceType } from '../../../core/shared/resource-type';
|
||||
import { NotificationsService } from '../../notifications/notifications.service';
|
||||
|
||||
/**
|
||||
|
@@ -0,0 +1,41 @@
|
||||
import { DataService } from '../../core/data/data.service';
|
||||
import { ResourceType } from '../../core/shared/resource-type';
|
||||
import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service';
|
||||
import { ClaimedTaskDataService } from '../../core/tasks/claimed-task-data.service';
|
||||
import { PoolTaskDataService } from '../../core/tasks/pool-task-data.service';
|
||||
import { WorkflowItemDataService } from '../../core/submission/workflowitem-data.service';
|
||||
import { CacheableObject } from '../../core/cache/object-cache.reducer';
|
||||
import { ItemDataService } from '../../core/data/item-data.service';
|
||||
import { Item } from '../../core/shared/item.model';
|
||||
import { PoolTask } from '../../core/tasks/models/pool-task-object.model';
|
||||
import { ClaimedTask } from '../../core/tasks/models/claimed-task-object.model';
|
||||
import { WorkspaceItem } from '../../core/submission/models/workspaceitem.model';
|
||||
import { WorkflowItem } from '../../core/submission/models/workflowitem.model';
|
||||
|
||||
/**
|
||||
* Class to return DataService for given ResourceType
|
||||
*/
|
||||
export class MydspaceActionsServiceFactory<T extends CacheableObject, TService extends DataService<T>> {
|
||||
public getConstructor(type: ResourceType): TService {
|
||||
switch (type) {
|
||||
case Item.type: {
|
||||
return ItemDataService as any;
|
||||
}
|
||||
case WorkspaceItem.type: {
|
||||
return WorkspaceitemDataService as any;
|
||||
}
|
||||
case WorkflowItem.type: {
|
||||
return WorkflowItemDataService as any;
|
||||
}
|
||||
case ClaimedTask.type: {
|
||||
return ClaimedTaskDataService as any;
|
||||
}
|
||||
case PoolTask.type: {
|
||||
return PoolTaskDataService as any;
|
||||
}
|
||||
default: {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -3,6 +3,7 @@ import { Injector, Input } from '@angular/core';
|
||||
|
||||
import { find } from 'rxjs/operators';
|
||||
|
||||
import { MydspaceActionsServiceFactory } from './mydspace-actions-service.factory';
|
||||
import { RemoteData } from '../../core/data/remote-data';
|
||||
import { DataService } from '../../core/data/data.service';
|
||||
import { DSpaceObject } from '../../core/shared/dspace-object.model';
|
||||
@@ -10,7 +11,6 @@ import { ResourceType } from '../../core/shared/resource-type';
|
||||
import { NotificationOptions } from '../notifications/models/notification-options.model';
|
||||
import { NotificationsService } from '../notifications/notifications.service';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { getMapsToType } from '../../core/cache/builders/build-decorators';
|
||||
|
||||
/**
|
||||
* Abstract class for all different representations of mydspace actions
|
||||
@@ -42,7 +42,8 @@ export abstract class MyDSpaceActionsComponent<T extends DSpaceObject, TService
|
||||
protected router: Router,
|
||||
protected notificationsService: NotificationsService,
|
||||
protected translate: TranslateService) {
|
||||
this.objectDataService = injector.get(getMapsToType(objectType));
|
||||
const factory = new MydspaceActionsServiceFactory<T, TService>();
|
||||
this.objectDataService = injector.get(factory.getConstructor(objectType));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -11,7 +11,6 @@ import { MockTranslateLoader } from '../../mocks/mock-translate-loader';
|
||||
import { NotificationsService } from '../../notifications/notifications.service';
|
||||
import { NotificationsServiceStub } from '../../testing/notifications-service-stub';
|
||||
import { RouterStub } from '../../testing/router-stub';
|
||||
import { RemoteData } from '../../../core/data/remote-data';
|
||||
import { Item } from '../../../core/shared/item.model';
|
||||
import { PoolTaskDataService } from '../../../core/tasks/pool-task-data.service';
|
||||
import { PoolTaskActionsComponent } from './pool-task-actions.component';
|
||||
|
@@ -12,7 +12,6 @@ import { PoolTask } from '../../../core/tasks/models/pool-task-object.model';
|
||||
import { PoolTaskDataService } from '../../../core/tasks/pool-task-data.service';
|
||||
import { isNotUndefined } from '../../empty.util';
|
||||
import { MyDSpaceActionsComponent } from '../mydspace-actions';
|
||||
import { ResourceType } from '../../../core/shared/resource-type';
|
||||
import { NotificationsService } from '../../notifications/notifications.service';
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user