forked from hazza/dspace-angular
97742: Post merge test & build fixes
This commit is contained in:
@@ -4,7 +4,7 @@ import { VarDirective } from '../../../shared/utils/var.directive';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { RelationshipService } from '../../../core/data/relationship.service';
|
||||
import { RelationshipDataService } from '../../../core/data/relationship-data.service';
|
||||
import { DSONameService } from '../../../core/breadcrumbs/dso-name.service';
|
||||
import { of } from 'rxjs/internal/observable/of';
|
||||
import { ItemMetadataRepresentation } from '../../../core/shared/metadata-representation/item/item-metadata-representation.model';
|
||||
@@ -22,7 +22,7 @@ describe('DsoEditMetadataValueComponent', () => {
|
||||
let component: DsoEditMetadataValueComponent;
|
||||
let fixture: ComponentFixture<DsoEditMetadataValueComponent>;
|
||||
|
||||
let relationshipService: RelationshipService;
|
||||
let relationshipService: RelationshipDataService;
|
||||
let dsoNameService: DSONameService;
|
||||
|
||||
let editMetadataValue: DsoEditMetadataValue;
|
||||
@@ -52,7 +52,7 @@ describe('DsoEditMetadataValueComponent', () => {
|
||||
declarations: [DsoEditMetadataValueComponent, VarDirective],
|
||||
imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([])],
|
||||
providers: [
|
||||
{ provide: RelationshipService, useValue: relationshipService },
|
||||
{ provide: RelationshipDataService, useValue: relationshipService },
|
||||
{ provide: DSONameService, useValue: dsoNameService },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA]
|
||||
|
@@ -5,7 +5,7 @@ import {
|
||||
MetadataRepresentation,
|
||||
MetadataRepresentationType
|
||||
} from '../../../core/shared/metadata-representation/metadata-representation.model';
|
||||
import { RelationshipService } from '../../../core/data/relationship.service';
|
||||
import { RelationshipDataService } from '../../../core/data/relationship-data.service';
|
||||
import { DSpaceObject } from '../../../core/shared/dspace-object.model';
|
||||
import { ItemMetadataRepresentation } from '../../../core/shared/metadata-representation/item/item-metadata-representation.model';
|
||||
import { map } from 'rxjs/operators';
|
||||
@@ -97,7 +97,7 @@ export class DsoEditMetadataValueComponent implements OnInit {
|
||||
*/
|
||||
mdRepresentationName$: Observable<string | null>;
|
||||
|
||||
constructor(protected relationshipService: RelationshipService,
|
||||
constructor(protected relationshipService: RelationshipDataService,
|
||||
protected dsoNameService: DSONameService) {
|
||||
}
|
||||
|
||||
|
@@ -3,22 +3,32 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { VarDirective } from '../../shared/utils/var.directive';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { DebugElement, Injectable, NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
import { DSpaceObject } from '../../core/shared/dspace-object.model';
|
||||
import { Item } from '../../core/shared/item.model';
|
||||
import { ItemDataService } from '../../core/data/item-data.service';
|
||||
import { MetadataValue } from '../../core/shared/metadata.models';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { NotificationsService } from '../../shared/notifications/notifications.service';
|
||||
import { ArrayMoveChangeAnalyzer } from '../../core/data/array-move-change-analyzer.service';
|
||||
import { ITEM } from '../../core/shared/item.resource-type';
|
||||
import { DATA_SERVICE_FACTORY } from '../../core/data/base/data-service.decorator';
|
||||
import { Operation } from 'fast-json-patch';
|
||||
import { RemoteData } from '../../core/data/remote-data';
|
||||
import { Observable } from 'rxjs/internal/Observable';
|
||||
|
||||
const ADD_BTN = 'add';
|
||||
const REINSTATE_BTN = 'reinstate';
|
||||
const SAVE_BTN = 'save';
|
||||
const DISCARD_BTN = 'discard';
|
||||
|
||||
@Injectable()
|
||||
class TestDataService {
|
||||
patch(object: Item, operations: Operation[]): Observable<RemoteData<Item>> {
|
||||
return createSuccessfulRemoteDataObject$(object);
|
||||
}
|
||||
}
|
||||
|
||||
describe('DsoEditMetadataComponent', () => {
|
||||
let component: DsoEditMetadataComponent;
|
||||
let fixture: ComponentFixture<DsoEditMetadataComponent>;
|
||||
@@ -26,8 +36,6 @@ describe('DsoEditMetadataComponent', () => {
|
||||
let notificationsService: NotificationsService;
|
||||
|
||||
let dso: DSpaceObject;
|
||||
let updatedDso: DSpaceObject;
|
||||
let dataService: ItemDataService;
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
dso = Object.assign(new Item(), {
|
||||
@@ -59,11 +67,6 @@ describe('DsoEditMetadataComponent', () => {
|
||||
],
|
||||
},
|
||||
});
|
||||
updatedDso = Object.assign(new Item(), dso);
|
||||
updatedDso.metadata['dc.title'][0].value = 'Updated Title';
|
||||
dataService = jasmine.createSpyObj('itemDataService', {
|
||||
patch: createSuccessfulRemoteDataObject$(updatedDso),
|
||||
});
|
||||
|
||||
notificationsService = jasmine.createSpyObj('notificationsService', ['error', 'success']);
|
||||
|
||||
@@ -71,7 +74,8 @@ describe('DsoEditMetadataComponent', () => {
|
||||
declarations: [DsoEditMetadataComponent, VarDirective],
|
||||
imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([])],
|
||||
providers: [
|
||||
{ provide: ItemDataService, useValue: dataService },
|
||||
TestDataService,
|
||||
{ provide: DATA_SERVICE_FACTORY, useValue: jasmine.createSpy('getDataServiceFor').and.returnValue(TestDataService) },
|
||||
{ provide: NotificationsService, useValue: notificationsService },
|
||||
ArrayMoveChangeAnalyzer,
|
||||
],
|
||||
|
@@ -1,4 +1,4 @@
|
||||
import { Component, Injector, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';
|
||||
import { Component, Inject, Injector, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';
|
||||
import { AlertType } from '../../shared/alert/aletr-type';
|
||||
import { DSpaceObject } from '../../core/shared/dspace-object.model';
|
||||
import { DsoEditMetadataForm } from './dso-edit-metadata-form';
|
||||
@@ -13,13 +13,15 @@ import {
|
||||
getFirstCompletedRemoteData,
|
||||
} from '../../core/shared/operators';
|
||||
import { UpdateDataService } from '../../core/data/update-data.service';
|
||||
import { getDataServiceFor } from '../../core/cache/builders/build-decorators';
|
||||
import { ResourceType } from '../../core/shared/resource-type';
|
||||
import { NotificationsService } from '../../shared/notifications/notifications.service';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { MetadataFieldSelectorComponent } from './metadata-field-selector/metadata-field-selector.component';
|
||||
import { Observable } from 'rxjs/internal/Observable';
|
||||
import { ArrayMoveChangeAnalyzer } from '../../core/data/array-move-change-analyzer.service';
|
||||
import { DATA_SERVICE_FACTORY } from '../../core/data/base/data-service.decorator';
|
||||
import { GenericConstructor } from '../../core/shared/generic-constructor';
|
||||
import { HALDataService } from '../../core/data/base/hal-data-service.interface';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-dso-edit-metadata',
|
||||
@@ -107,7 +109,8 @@ export class DsoEditMetadataComponent implements OnInit, OnDestroy {
|
||||
protected notificationsService: NotificationsService,
|
||||
protected translateService: TranslateService,
|
||||
protected parentInjector: Injector,
|
||||
protected arrayMoveChangeAnalyser: ArrayMoveChangeAnalyzer<number>) {
|
||||
protected arrayMoveChangeAnalyser: ArrayMoveChangeAnalyzer<number>,
|
||||
@Inject(DATA_SERVICE_FACTORY) protected getDataServiceFor: (resourceType: ResourceType) => GenericConstructor<HALDataService<any>>) {
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -144,7 +147,7 @@ export class DsoEditMetadataComponent implements OnInit, OnDestroy {
|
||||
type = this.dso.type;
|
||||
}
|
||||
if (hasNoValue(this.updateDataService)) {
|
||||
const provider = getDataServiceFor(type);
|
||||
const provider = this.getDataServiceFor(type);
|
||||
this.updateDataService = Injector.create({
|
||||
providers: [],
|
||||
parent: this.parentInjector
|
||||
|
@@ -1,34 +0,0 @@
|
||||
import { Component, Input } from '@angular/core';
|
||||
import { Item } from '../../../core/shared/item.model';
|
||||
import { UpdateDataService } from '../../../core/data/update-data.service';
|
||||
import { ItemMetadataComponent } from './item-metadata.component';
|
||||
import { ThemedComponent } from '../../../shared/theme-support/themed.component';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-themed-item-metadata',
|
||||
styleUrls: [],
|
||||
templateUrl: './../../../shared/theme-support/themed.component.html',
|
||||
})
|
||||
/**
|
||||
* Component for displaying an item's metadata edit page
|
||||
*/
|
||||
export class ThemedItemMetadataComponent extends ThemedComponent<ItemMetadataComponent> {
|
||||
|
||||
@Input() item: Item;
|
||||
|
||||
@Input() updateService: UpdateDataService<Item>;
|
||||
|
||||
protected inAndOutputNames: (keyof ItemMetadataComponent & keyof this)[] = ['item', 'updateService'];
|
||||
|
||||
protected getComponentName(): string {
|
||||
return 'ItemMetadataComponent';
|
||||
}
|
||||
|
||||
protected importThemedComponent(themeName: string): Promise<any> {
|
||||
return import(`../../../../themes/${themeName}/app/item-page/edit-item-page/item-metadata/item-metadata.component`);
|
||||
}
|
||||
|
||||
protected importUnthemedComponent(): Promise<any> {
|
||||
return import(`./item-metadata.component`);
|
||||
}
|
||||
}
|
@@ -1,17 +0,0 @@
|
||||
import { Component } from '@angular/core';
|
||||
import {
|
||||
ItemMetadataComponent as BaseComponent
|
||||
} from '../../../../../../app/item-page/edit-item-page/item-metadata/item-metadata.component';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-item-metadata',
|
||||
// styleUrls: ['./item-metadata.component.scss'],
|
||||
styleUrls: ['../../../../../../app/item-page/edit-item-page/item-metadata/item-metadata.component.scss'],
|
||||
// templateUrl: './item-metadata.component.html',
|
||||
templateUrl: '../../../../../../app/item-page/edit-item-page/item-metadata/item-metadata.component.html',
|
||||
})
|
||||
/**
|
||||
* Component for displaying an item's metadata edit page
|
||||
*/
|
||||
export class ItemMetadataComponent extends BaseComponent {
|
||||
}
|
@@ -94,7 +94,6 @@ import { AuthNavMenuComponent } from './app/shared/auth-nav-menu/auth-nav-menu.c
|
||||
import {
|
||||
ExpandableNavbarSectionComponent
|
||||
} from './app/navbar/expandable-navbar-section/expandable-navbar-section.component';
|
||||
import { ItemMetadataComponent } from './app/item-page/edit-item-page/item-metadata/item-metadata.component';
|
||||
import {
|
||||
EditItemTemplatePageComponent
|
||||
} from './app/collection-page/edit-item-template-page/edit-item-template-page.component';
|
||||
@@ -157,7 +156,6 @@ const DECLARATIONS = [
|
||||
ComcolPageHandleComponent,
|
||||
AuthNavMenuComponent,
|
||||
ExpandableNavbarSectionComponent,
|
||||
ItemMetadataComponent,
|
||||
EditItemTemplatePageComponent,
|
||||
LoadingComponent,
|
||||
SearchResultsComponent,
|
||||
|
Reference in New Issue
Block a user