1
0

97742: Post merge test & build fixes

This commit is contained in:
Kristof De Langhe
2023-01-04 17:51:34 +01:00
parent 82e604650e
commit 124469209a
9 changed files with 26 additions and 72 deletions

View File

@@ -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]

View File

@@ -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) {
} }

View File

@@ -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,
], ],

View File

@@ -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

View File

@@ -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`);
}
}

View File

@@ -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 {
}

View File

@@ -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,