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 { TranslateModule } from '@ngx-translate/core';
|
||||||
import { RouterTestingModule } from '@angular/router/testing';
|
import { RouterTestingModule } from '@angular/router/testing';
|
||||||
import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core';
|
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 { DSONameService } from '../../../core/breadcrumbs/dso-name.service';
|
||||||
import { of } from 'rxjs/internal/observable/of';
|
import { of } from 'rxjs/internal/observable/of';
|
||||||
import { ItemMetadataRepresentation } from '../../../core/shared/metadata-representation/item/item-metadata-representation.model';
|
import { ItemMetadataRepresentation } from '../../../core/shared/metadata-representation/item/item-metadata-representation.model';
|
||||||
@@ -22,7 +22,7 @@ describe('DsoEditMetadataValueComponent', () => {
|
|||||||
let component: DsoEditMetadataValueComponent;
|
let component: DsoEditMetadataValueComponent;
|
||||||
let fixture: ComponentFixture<DsoEditMetadataValueComponent>;
|
let fixture: ComponentFixture<DsoEditMetadataValueComponent>;
|
||||||
|
|
||||||
let relationshipService: RelationshipService;
|
let relationshipService: RelationshipDataService;
|
||||||
let dsoNameService: DSONameService;
|
let dsoNameService: DSONameService;
|
||||||
|
|
||||||
let editMetadataValue: DsoEditMetadataValue;
|
let editMetadataValue: DsoEditMetadataValue;
|
||||||
@@ -52,7 +52,7 @@ describe('DsoEditMetadataValueComponent', () => {
|
|||||||
declarations: [DsoEditMetadataValueComponent, VarDirective],
|
declarations: [DsoEditMetadataValueComponent, VarDirective],
|
||||||
imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([])],
|
imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([])],
|
||||||
providers: [
|
providers: [
|
||||||
{ provide: RelationshipService, useValue: relationshipService },
|
{ provide: RelationshipDataService, useValue: relationshipService },
|
||||||
{ provide: DSONameService, useValue: dsoNameService },
|
{ provide: DSONameService, useValue: dsoNameService },
|
||||||
],
|
],
|
||||||
schemas: [NO_ERRORS_SCHEMA]
|
schemas: [NO_ERRORS_SCHEMA]
|
||||||
|
@@ -5,7 +5,7 @@ import {
|
|||||||
MetadataRepresentation,
|
MetadataRepresentation,
|
||||||
MetadataRepresentationType
|
MetadataRepresentationType
|
||||||
} from '../../../core/shared/metadata-representation/metadata-representation.model';
|
} 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 { DSpaceObject } from '../../../core/shared/dspace-object.model';
|
||||||
import { ItemMetadataRepresentation } from '../../../core/shared/metadata-representation/item/item-metadata-representation.model';
|
import { ItemMetadataRepresentation } from '../../../core/shared/metadata-representation/item/item-metadata-representation.model';
|
||||||
import { map } from 'rxjs/operators';
|
import { map } from 'rxjs/operators';
|
||||||
@@ -97,7 +97,7 @@ export class DsoEditMetadataValueComponent implements OnInit {
|
|||||||
*/
|
*/
|
||||||
mdRepresentationName$: Observable<string | null>;
|
mdRepresentationName$: Observable<string | null>;
|
||||||
|
|
||||||
constructor(protected relationshipService: RelationshipService,
|
constructor(protected relationshipService: RelationshipDataService,
|
||||||
protected dsoNameService: DSONameService) {
|
protected dsoNameService: DSONameService) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -3,22 +3,32 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
|||||||
import { VarDirective } from '../../shared/utils/var.directive';
|
import { VarDirective } from '../../shared/utils/var.directive';
|
||||||
import { TranslateModule } from '@ngx-translate/core';
|
import { TranslateModule } from '@ngx-translate/core';
|
||||||
import { RouterTestingModule } from '@angular/router/testing';
|
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 { DSpaceObject } from '../../core/shared/dspace-object.model';
|
||||||
import { Item } from '../../core/shared/item.model';
|
import { Item } from '../../core/shared/item.model';
|
||||||
import { ItemDataService } from '../../core/data/item-data.service';
|
|
||||||
import { MetadataValue } from '../../core/shared/metadata.models';
|
import { MetadataValue } from '../../core/shared/metadata.models';
|
||||||
import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
|
import { createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
|
||||||
import { By } from '@angular/platform-browser';
|
import { By } from '@angular/platform-browser';
|
||||||
import { NotificationsService } from '../../shared/notifications/notifications.service';
|
import { NotificationsService } from '../../shared/notifications/notifications.service';
|
||||||
import { ArrayMoveChangeAnalyzer } from '../../core/data/array-move-change-analyzer.service';
|
import { ArrayMoveChangeAnalyzer } from '../../core/data/array-move-change-analyzer.service';
|
||||||
import { ITEM } from '../../core/shared/item.resource-type';
|
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 ADD_BTN = 'add';
|
||||||
const REINSTATE_BTN = 'reinstate';
|
const REINSTATE_BTN = 'reinstate';
|
||||||
const SAVE_BTN = 'save';
|
const SAVE_BTN = 'save';
|
||||||
const DISCARD_BTN = 'discard';
|
const DISCARD_BTN = 'discard';
|
||||||
|
|
||||||
|
@Injectable()
|
||||||
|
class TestDataService {
|
||||||
|
patch(object: Item, operations: Operation[]): Observable<RemoteData<Item>> {
|
||||||
|
return createSuccessfulRemoteDataObject$(object);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
describe('DsoEditMetadataComponent', () => {
|
describe('DsoEditMetadataComponent', () => {
|
||||||
let component: DsoEditMetadataComponent;
|
let component: DsoEditMetadataComponent;
|
||||||
let fixture: ComponentFixture<DsoEditMetadataComponent>;
|
let fixture: ComponentFixture<DsoEditMetadataComponent>;
|
||||||
@@ -26,8 +36,6 @@ describe('DsoEditMetadataComponent', () => {
|
|||||||
let notificationsService: NotificationsService;
|
let notificationsService: NotificationsService;
|
||||||
|
|
||||||
let dso: DSpaceObject;
|
let dso: DSpaceObject;
|
||||||
let updatedDso: DSpaceObject;
|
|
||||||
let dataService: ItemDataService;
|
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
dso = Object.assign(new Item(), {
|
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']);
|
notificationsService = jasmine.createSpyObj('notificationsService', ['error', 'success']);
|
||||||
|
|
||||||
@@ -71,7 +74,8 @@ describe('DsoEditMetadataComponent', () => {
|
|||||||
declarations: [DsoEditMetadataComponent, VarDirective],
|
declarations: [DsoEditMetadataComponent, VarDirective],
|
||||||
imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([])],
|
imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([])],
|
||||||
providers: [
|
providers: [
|
||||||
{ provide: ItemDataService, useValue: dataService },
|
TestDataService,
|
||||||
|
{ provide: DATA_SERVICE_FACTORY, useValue: jasmine.createSpy('getDataServiceFor').and.returnValue(TestDataService) },
|
||||||
{ provide: NotificationsService, useValue: notificationsService },
|
{ provide: NotificationsService, useValue: notificationsService },
|
||||||
ArrayMoveChangeAnalyzer,
|
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 { AlertType } from '../../shared/alert/aletr-type';
|
||||||
import { DSpaceObject } from '../../core/shared/dspace-object.model';
|
import { DSpaceObject } from '../../core/shared/dspace-object.model';
|
||||||
import { DsoEditMetadataForm } from './dso-edit-metadata-form';
|
import { DsoEditMetadataForm } from './dso-edit-metadata-form';
|
||||||
@@ -13,13 +13,15 @@ import {
|
|||||||
getFirstCompletedRemoteData,
|
getFirstCompletedRemoteData,
|
||||||
} from '../../core/shared/operators';
|
} from '../../core/shared/operators';
|
||||||
import { UpdateDataService } from '../../core/data/update-data.service';
|
import { UpdateDataService } from '../../core/data/update-data.service';
|
||||||
import { getDataServiceFor } from '../../core/cache/builders/build-decorators';
|
|
||||||
import { ResourceType } from '../../core/shared/resource-type';
|
import { ResourceType } from '../../core/shared/resource-type';
|
||||||
import { NotificationsService } from '../../shared/notifications/notifications.service';
|
import { NotificationsService } from '../../shared/notifications/notifications.service';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import { MetadataFieldSelectorComponent } from './metadata-field-selector/metadata-field-selector.component';
|
import { MetadataFieldSelectorComponent } from './metadata-field-selector/metadata-field-selector.component';
|
||||||
import { Observable } from 'rxjs/internal/Observable';
|
import { Observable } from 'rxjs/internal/Observable';
|
||||||
import { ArrayMoveChangeAnalyzer } from '../../core/data/array-move-change-analyzer.service';
|
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({
|
@Component({
|
||||||
selector: 'ds-dso-edit-metadata',
|
selector: 'ds-dso-edit-metadata',
|
||||||
@@ -107,7 +109,8 @@ export class DsoEditMetadataComponent implements OnInit, OnDestroy {
|
|||||||
protected notificationsService: NotificationsService,
|
protected notificationsService: NotificationsService,
|
||||||
protected translateService: TranslateService,
|
protected translateService: TranslateService,
|
||||||
protected parentInjector: Injector,
|
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;
|
type = this.dso.type;
|
||||||
}
|
}
|
||||||
if (hasNoValue(this.updateDataService)) {
|
if (hasNoValue(this.updateDataService)) {
|
||||||
const provider = getDataServiceFor(type);
|
const provider = this.getDataServiceFor(type);
|
||||||
this.updateDataService = Injector.create({
|
this.updateDataService = Injector.create({
|
||||||
providers: [],
|
providers: [],
|
||||||
parent: this.parentInjector
|
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 {
|
import {
|
||||||
ExpandableNavbarSectionComponent
|
ExpandableNavbarSectionComponent
|
||||||
} from './app/navbar/expandable-navbar-section/expandable-navbar-section.component';
|
} 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 {
|
import {
|
||||||
EditItemTemplatePageComponent
|
EditItemTemplatePageComponent
|
||||||
} from './app/collection-page/edit-item-template-page/edit-item-template-page.component';
|
} from './app/collection-page/edit-item-template-page/edit-item-template-page.component';
|
||||||
@@ -157,7 +156,6 @@ const DECLARATIONS = [
|
|||||||
ComcolPageHandleComponent,
|
ComcolPageHandleComponent,
|
||||||
AuthNavMenuComponent,
|
AuthNavMenuComponent,
|
||||||
ExpandableNavbarSectionComponent,
|
ExpandableNavbarSectionComponent,
|
||||||
ItemMetadataComponent,
|
|
||||||
EditItemTemplatePageComponent,
|
EditItemTemplatePageComponent,
|
||||||
LoadingComponent,
|
LoadingComponent,
|
||||||
SearchResultsComponent,
|
SearchResultsComponent,
|
||||||
|
Reference in New Issue
Block a user