mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-17 15:03:07 +00:00
79219: Remove -e option from MetadataImportPageComponent
This commit is contained in:
@@ -6,10 +6,7 @@ import { By } from '@angular/platform-browser';
|
|||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
import { RouterTestingModule } from '@angular/router/testing';
|
import { RouterTestingModule } from '@angular/router/testing';
|
||||||
import { TranslateModule } from '@ngx-translate/core';
|
import { TranslateModule } from '@ngx-translate/core';
|
||||||
import { of as observableOf } from 'rxjs';
|
|
||||||
import { AuthService } from '../../core/auth/auth.service';
|
|
||||||
import { METADATA_IMPORT_SCRIPT_NAME, ScriptDataService } from '../../core/data/processes/script-data.service';
|
import { METADATA_IMPORT_SCRIPT_NAME, ScriptDataService } from '../../core/data/processes/script-data.service';
|
||||||
import { EPerson } from '../../core/eperson/models/eperson.model';
|
|
||||||
import { ProcessParameter } from '../../process-page/processes/process-parameter.model';
|
import { ProcessParameter } from '../../process-page/processes/process-parameter.model';
|
||||||
import { NotificationsService } from '../../shared/notifications/notifications.service';
|
import { NotificationsService } from '../../shared/notifications/notifications.service';
|
||||||
import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub';
|
import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub';
|
||||||
@@ -22,12 +19,9 @@ describe('MetadataImportPageComponent', () => {
|
|||||||
let comp: MetadataImportPageComponent;
|
let comp: MetadataImportPageComponent;
|
||||||
let fixture: ComponentFixture<MetadataImportPageComponent>;
|
let fixture: ComponentFixture<MetadataImportPageComponent>;
|
||||||
|
|
||||||
let user;
|
|
||||||
|
|
||||||
let notificationService: NotificationsServiceStub;
|
let notificationService: NotificationsServiceStub;
|
||||||
let scriptService: any;
|
let scriptService: any;
|
||||||
let router;
|
let router;
|
||||||
let authService;
|
|
||||||
let locationStub;
|
let locationStub;
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
@@ -37,13 +31,6 @@ describe('MetadataImportPageComponent', () => {
|
|||||||
invoke: createSuccessfulRemoteDataObject$({ processId: '45' })
|
invoke: createSuccessfulRemoteDataObject$({ processId: '45' })
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
user = Object.assign(new EPerson(), {
|
|
||||||
id: 'userId',
|
|
||||||
email: 'user@test.com'
|
|
||||||
});
|
|
||||||
authService = jasmine.createSpyObj('authService', {
|
|
||||||
getAuthenticatedUserFromStore: observableOf(user)
|
|
||||||
});
|
|
||||||
router = jasmine.createSpyObj('router', {
|
router = jasmine.createSpyObj('router', {
|
||||||
navigateByUrl: jasmine.createSpy('navigateByUrl')
|
navigateByUrl: jasmine.createSpy('navigateByUrl')
|
||||||
});
|
});
|
||||||
@@ -65,7 +52,6 @@ describe('MetadataImportPageComponent', () => {
|
|||||||
{ provide: NotificationsService, useValue: notificationService },
|
{ provide: NotificationsService, useValue: notificationService },
|
||||||
{ provide: ScriptDataService, useValue: scriptService },
|
{ provide: ScriptDataService, useValue: scriptService },
|
||||||
{ provide: Router, useValue: router },
|
{ provide: Router, useValue: router },
|
||||||
{ provide: AuthService, useValue: authService },
|
|
||||||
{ provide: Location, useValue: locationStub },
|
{ provide: Location, useValue: locationStub },
|
||||||
],
|
],
|
||||||
schemas: [NO_ERRORS_SCHEMA]
|
schemas: [NO_ERRORS_SCHEMA]
|
||||||
@@ -107,9 +93,8 @@ describe('MetadataImportPageComponent', () => {
|
|||||||
proceed.click();
|
proceed.click();
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
}));
|
}));
|
||||||
it('metadata-import script is invoked with its -e currentUserEmail, -f fileName and the mockFile', () => {
|
it('metadata-import script is invoked with -f fileName and the mockFile', () => {
|
||||||
const parameterValues: ProcessParameter[] = [
|
const parameterValues: ProcessParameter[] = [
|
||||||
Object.assign(new ProcessParameter(), { name: '-e', value: user.email }),
|
|
||||||
Object.assign(new ProcessParameter(), { name: '-f', value: 'filename.txt' }),
|
Object.assign(new ProcessParameter(), { name: '-f', value: 'filename.txt' }),
|
||||||
];
|
];
|
||||||
expect(scriptService.invoke).toHaveBeenCalledWith(METADATA_IMPORT_SCRIPT_NAME, parameterValues, [fileMock]);
|
expect(scriptService.invoke).toHaveBeenCalledWith(METADATA_IMPORT_SCRIPT_NAME, parameterValues, [fileMock]);
|
||||||
|
@@ -23,20 +23,14 @@ import { getProcessDetailRoute } from '../../process-page/process-page-routing.p
|
|||||||
/**
|
/**
|
||||||
* Component that represents a metadata import page for administrators
|
* Component that represents a metadata import page for administrators
|
||||||
*/
|
*/
|
||||||
export class MetadataImportPageComponent implements OnInit {
|
export class MetadataImportPageComponent {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The current value of the file
|
* The current value of the file
|
||||||
*/
|
*/
|
||||||
fileObject: File;
|
fileObject: File;
|
||||||
|
|
||||||
/**
|
public constructor(private location: Location,
|
||||||
* The authenticated user's email
|
|
||||||
*/
|
|
||||||
private currentUserEmail$: Observable<string>;
|
|
||||||
|
|
||||||
public constructor(protected authService: AuthService,
|
|
||||||
private location: Location,
|
|
||||||
protected translate: TranslateService,
|
protected translate: TranslateService,
|
||||||
protected notificationsService: NotificationsService,
|
protected notificationsService: NotificationsService,
|
||||||
private scriptDataService: ScriptDataService,
|
private scriptDataService: ScriptDataService,
|
||||||
@@ -51,15 +45,6 @@ export class MetadataImportPageComponent implements OnInit {
|
|||||||
this.fileObject = file;
|
this.fileObject = file;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Method provided by Angular. Invoked after the constructor.
|
|
||||||
*/
|
|
||||||
ngOnInit() {
|
|
||||||
this.currentUserEmail$ = this.authService.getAuthenticatedUserFromStore().pipe(
|
|
||||||
map((user: EPerson) => user.email)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When return button is pressed go to previous location
|
* When return button is pressed go to previous location
|
||||||
*/
|
*/
|
||||||
@@ -68,22 +53,17 @@ export class MetadataImportPageComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts import-metadata script with -e currentUserEmail -f fileName (and the selected file)
|
* Starts import-metadata script with -f fileName (and the selected file)
|
||||||
*/
|
*/
|
||||||
public importMetadata() {
|
public importMetadata() {
|
||||||
if (this.fileObject == null) {
|
if (this.fileObject == null) {
|
||||||
this.notificationsService.error(this.translate.get('admin.metadata-import.page.error.addFile'));
|
this.notificationsService.error(this.translate.get('admin.metadata-import.page.error.addFile'));
|
||||||
} else {
|
} else {
|
||||||
this.currentUserEmail$.pipe(
|
const parameterValues: ProcessParameter[] = [
|
||||||
switchMap((email: string) => {
|
Object.assign(new ProcessParameter(), { name: '-f', value: this.fileObject.name }),
|
||||||
if (isNotEmpty(email)) {
|
];
|
||||||
const parameterValues: ProcessParameter[] = [
|
|
||||||
Object.assign(new ProcessParameter(), { name: '-e', value: email }),
|
this.scriptDataService.invoke(METADATA_IMPORT_SCRIPT_NAME, parameterValues, [this.fileObject]).pipe(
|
||||||
Object.assign(new ProcessParameter(), { name: '-f', value: this.fileObject.name }),
|
|
||||||
];
|
|
||||||
return this.scriptDataService.invoke(METADATA_IMPORT_SCRIPT_NAME, parameterValues, [this.fileObject]);
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
getFirstCompletedRemoteData(),
|
getFirstCompletedRemoteData(),
|
||||||
).subscribe((rd: RemoteData<Process>) => {
|
).subscribe((rd: RemoteData<Process>) => {
|
||||||
if (rd.hasSucceeded) {
|
if (rd.hasSucceeded) {
|
||||||
|
Reference in New Issue
Block a user