mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-08 18:44:14 +00:00
[CST-4884] Bitstream edit form moved inside modal (test WIP)
This commit is contained in:
@@ -30,15 +30,31 @@ import { FormService } from '../../../../../shared/form/form.service';
|
|||||||
import { getMockFormService } from '../../../../../shared/mocks/form-service.mock';
|
import { getMockFormService } from '../../../../../shared/mocks/form-service.mock';
|
||||||
import { Group } from '../../../../../core/eperson/models/group.model';
|
import { Group } from '../../../../../core/eperson/models/group.model';
|
||||||
import { createTestComponent } from '../../../../../shared/testing/utils.test';
|
import { createTestComponent } from '../../../../../shared/testing/utils.test';
|
||||||
|
import { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
||||||
|
import { JsonPatchOperationsBuilder } from '../../../../../core/json-patch/builder/json-patch-operations-builder';
|
||||||
|
import { SubmissionJsonPatchOperationsServiceStub } from '../../../../../shared/testing/submission-json-patch-operations-service.stub';
|
||||||
|
import { SubmissionJsonPatchOperationsService } from '../../../../../core/submission/submission-json-patch-operations.service';
|
||||||
|
import { SectionUploadService } from '../../section-upload.service';
|
||||||
|
import { getMockSectionUploadService } from '../../../../../shared/mocks/section-upload.service.mock';
|
||||||
|
import { FormFieldMetadataValueObject } from '../../../../../shared/form/builder/models/form-field-metadata-value.model';
|
||||||
|
|
||||||
describe('SubmissionSectionUploadFileEditComponent test suite', () => {
|
const jsonPatchOpBuilder: any = jasmine.createSpyObj('jsonPatchOpBuilder', {
|
||||||
|
add: jasmine.createSpy('add'),
|
||||||
|
replace: jasmine.createSpy('replace'),
|
||||||
|
remove: jasmine.createSpy('remove'),
|
||||||
|
});
|
||||||
|
|
||||||
|
fdescribe('SubmissionSectionUploadFileEditComponent test suite', () => {
|
||||||
|
|
||||||
let comp: SubmissionSectionUploadFileEditComponent;
|
let comp: SubmissionSectionUploadFileEditComponent;
|
||||||
let compAsAny: any;
|
let compAsAny: any;
|
||||||
let fixture: ComponentFixture<SubmissionSectionUploadFileEditComponent>;
|
let fixture: ComponentFixture<SubmissionSectionUploadFileEditComponent>;
|
||||||
let submissionServiceStub: SubmissionServiceStub;
|
let submissionServiceStub: SubmissionServiceStub;
|
||||||
let formbuilderService: any;
|
let formbuilderService: any;
|
||||||
|
let operationsBuilder: any;
|
||||||
|
let operationsService: any;
|
||||||
|
|
||||||
|
const submissionJsonPatchOperationsServiceStub = new SubmissionJsonPatchOperationsServiceStub();
|
||||||
const submissionId = mockSubmissionId;
|
const submissionId = mockSubmissionId;
|
||||||
const sectionId = 'upload';
|
const sectionId = 'upload';
|
||||||
const collectionId = mockSubmissionCollectionId;
|
const collectionId = mockSubmissionCollectionId;
|
||||||
@@ -66,9 +82,14 @@ describe('SubmissionSectionUploadFileEditComponent test suite', () => {
|
|||||||
providers: [
|
providers: [
|
||||||
{ provide: FormService, useValue: getMockFormService() },
|
{ provide: FormService, useValue: getMockFormService() },
|
||||||
{ provide: SubmissionService, useClass: SubmissionServiceStub },
|
{ provide: SubmissionService, useClass: SubmissionServiceStub },
|
||||||
|
{ provide: SubmissionJsonPatchOperationsService, useValue: submissionJsonPatchOperationsServiceStub },
|
||||||
|
{ provide: JsonPatchOperationsBuilder, useValue: jsonPatchOpBuilder },
|
||||||
|
{ provide: SectionUploadService, useValue: getMockSectionUploadService() },
|
||||||
FormBuilderService,
|
FormBuilderService,
|
||||||
ChangeDetectorRef,
|
ChangeDetectorRef,
|
||||||
SubmissionSectionUploadFileEditComponent
|
SubmissionSectionUploadFileEditComponent,
|
||||||
|
NgbModal,
|
||||||
|
NgbActiveModal,
|
||||||
],
|
],
|
||||||
schemas: [NO_ERRORS_SCHEMA]
|
schemas: [NO_ERRORS_SCHEMA]
|
||||||
}).compileComponents().then();
|
}).compileComponents().then();
|
||||||
@@ -114,6 +135,8 @@ describe('SubmissionSectionUploadFileEditComponent test suite', () => {
|
|||||||
compAsAny = comp;
|
compAsAny = comp;
|
||||||
submissionServiceStub = TestBed.inject(SubmissionService as any);
|
submissionServiceStub = TestBed.inject(SubmissionService as any);
|
||||||
formbuilderService = TestBed.inject(FormBuilderService);
|
formbuilderService = TestBed.inject(FormBuilderService);
|
||||||
|
operationsBuilder = TestBed.inject(JsonPatchOperationsBuilder);
|
||||||
|
operationsService = TestBed.inject(SubmissionJsonPatchOperationsService);
|
||||||
|
|
||||||
comp.submissionId = submissionId;
|
comp.submissionId = submissionId;
|
||||||
comp.collectionId = collectionId;
|
comp.collectionId = collectionId;
|
||||||
@@ -135,7 +158,7 @@ describe('SubmissionSectionUploadFileEditComponent test suite', () => {
|
|||||||
comp.fileData = fileData;
|
comp.fileData = fileData;
|
||||||
comp.formId = 'testFileForm';
|
comp.formId = 'testFileForm';
|
||||||
|
|
||||||
comp.ngOnChanges();
|
comp.ngOnInit();
|
||||||
|
|
||||||
expect(comp.formModel).toBeDefined();
|
expect(comp.formModel).toBeDefined();
|
||||||
expect(comp.formModel.length).toBe(2);
|
expect(comp.formModel.length).toBe(2);
|
||||||
@@ -165,7 +188,7 @@ describe('SubmissionSectionUploadFileEditComponent test suite', () => {
|
|||||||
comp.fileData = fileData;
|
comp.fileData = fileData;
|
||||||
comp.formId = 'testFileForm';
|
comp.formId = 'testFileForm';
|
||||||
|
|
||||||
comp.ngOnChanges();
|
comp.ngOnInit();
|
||||||
|
|
||||||
const model: DynamicSelectModel<string> = formbuilderService.findById('name', comp.formModel, 0);
|
const model: DynamicSelectModel<string> = formbuilderService.findById('name', comp.formModel, 0);
|
||||||
const formGroup = formbuilderService.createFormGroup(comp.formModel);
|
const formGroup = formbuilderService.createFormGroup(comp.formModel);
|
||||||
@@ -186,6 +209,18 @@ describe('SubmissionSectionUploadFileEditComponent test suite', () => {
|
|||||||
comp.setOptions(model, control);
|
comp.setOptions(model, control);
|
||||||
expect(formbuilderService.findById).toHaveBeenCalledWith('startDate', (model.parent as DynamicFormArrayGroupModel).group);
|
expect(formbuilderService.findById).toHaveBeenCalledWith('startDate', (model.parent as DynamicFormArrayGroupModel).group);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should retrieve Value From Field properly', () => {
|
||||||
|
let field;
|
||||||
|
expect(compAsAny.retrieveValueFromField(field)).toBeUndefined();
|
||||||
|
|
||||||
|
field = new FormFieldMetadataValueObject('test');
|
||||||
|
expect(compAsAny.retrieveValueFromField(field)).toBe('test');
|
||||||
|
|
||||||
|
field = [new FormFieldMetadataValueObject('test')];
|
||||||
|
expect(compAsAny.retrieveValueFromField(field)).toBe('test');
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@@ -172,11 +172,6 @@ export class SubmissionSectionUploadFileEditComponent implements OnInit {
|
|||||||
|
|
||||||
protected subscriptions: Subscription[] = [];
|
protected subscriptions: Subscription[] = [];
|
||||||
|
|
||||||
private static retrieveValueFromField(field: any) {
|
|
||||||
const temp = Array.isArray(field) ? field[0] : field;
|
|
||||||
return (temp) ? temp.value : undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize form model values
|
* Initialize form model values
|
||||||
*
|
*
|
||||||
@@ -295,6 +290,11 @@ export class SubmissionSectionUploadFileEditComponent implements OnInit {
|
|||||||
this.unsubscribeAll();
|
this.unsubscribeAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected retrieveValueFromField(field: any) {
|
||||||
|
const temp = Array.isArray(field) ? field[0] : field;
|
||||||
|
return (temp) ? temp.value : undefined;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize form model
|
* Initialize form model
|
||||||
*/
|
*/
|
||||||
@@ -418,20 +418,20 @@ export class SubmissionSectionUploadFileEditComponent implements OnInit {
|
|||||||
|
|
||||||
if (accessConditionOpt) {
|
if (accessConditionOpt) {
|
||||||
const currentAccessCondition = Object.assign({}, accessCondition);
|
const currentAccessCondition = Object.assign({}, accessCondition);
|
||||||
currentAccessCondition.name = SubmissionSectionUploadFileEditComponent.retrieveValueFromField(accessCondition.name);
|
currentAccessCondition.name = this.retrieveValueFromField(accessCondition.name);
|
||||||
|
|
||||||
/* When start and end date fields are deactivated, their values may be still present in formData,
|
/* When start and end date fields are deactivated, their values may be still present in formData,
|
||||||
therefore it is necessary to delete them if they're not allowed by the current access condition option. */
|
therefore it is necessary to delete them if they're not allowed by the current access condition option. */
|
||||||
if (!accessConditionOpt.hasStartDate) {
|
if (!accessConditionOpt.hasStartDate) {
|
||||||
delete currentAccessCondition.startDate;
|
delete currentAccessCondition.startDate;
|
||||||
} else if (accessCondition.startDate) {
|
} else if (accessCondition.startDate) {
|
||||||
const startDate = SubmissionSectionUploadFileEditComponent.retrieveValueFromField(accessCondition.startDate);
|
const startDate = this.retrieveValueFromField(accessCondition.startDate);
|
||||||
currentAccessCondition.startDate = dateToISOFormat(startDate);
|
currentAccessCondition.startDate = dateToISOFormat(startDate);
|
||||||
}
|
}
|
||||||
if (!accessConditionOpt.hasEndDate) {
|
if (!accessConditionOpt.hasEndDate) {
|
||||||
delete currentAccessCondition.endDate;
|
delete currentAccessCondition.endDate;
|
||||||
} else if (accessCondition.endDate) {
|
} else if (accessCondition.endDate) {
|
||||||
const endDate = SubmissionSectionUploadFileEditComponent.retrieveValueFromField(accessCondition.endDate);
|
const endDate = this.retrieveValueFromField(accessCondition.endDate);
|
||||||
currentAccessCondition.endDate = dateToISOFormat(endDate);
|
currentAccessCondition.endDate = dateToISOFormat(endDate);
|
||||||
}
|
}
|
||||||
accessConditionsToSave.push(currentAccessCondition);
|
accessConditionsToSave.push(currentAccessCondition);
|
||||||
|
@@ -48,7 +48,7 @@ const configMetadataFormMock = {
|
|||||||
}]
|
}]
|
||||||
};
|
};
|
||||||
|
|
||||||
describe('SubmissionSectionUploadFileComponent test suite', () => {
|
fdescribe('SubmissionSectionUploadFileComponent test suite', () => {
|
||||||
|
|
||||||
let comp: SubmissionSectionUploadFileComponent;
|
let comp: SubmissionSectionUploadFileComponent;
|
||||||
let compAsAny: any;
|
let compAsAny: any;
|
||||||
@@ -221,7 +221,7 @@ describe('SubmissionSectionUploadFileComponent test suite', () => {
|
|||||||
pathCombiner.subRootElement);
|
pathCombiner.subRootElement);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should save Bitstream File data properly when form is valid', fakeAsync(() => {
|
/*it('should save Bitstream File data properly when form is valid', fakeAsync(() => {
|
||||||
compAsAny.fileEditComp = TestBed.inject(SubmissionSectionUploadFileEditComponent);
|
compAsAny.fileEditComp = TestBed.inject(SubmissionSectionUploadFileEditComponent);
|
||||||
compAsAny.fileEditComp.formRef = {formGroup: null};
|
compAsAny.fileEditComp.formRef = {formGroup: null};
|
||||||
compAsAny.fileData = fileData;
|
compAsAny.fileData = fileData;
|
||||||
@@ -275,9 +275,9 @@ describe('SubmissionSectionUploadFileComponent test suite', () => {
|
|||||||
expect(comp.switchMode).toHaveBeenCalled();
|
expect(comp.switchMode).toHaveBeenCalled();
|
||||||
expect(uploadService.updateFileData).toHaveBeenCalledWith(submissionId, sectionId, mockUploadFiles[0].uuid, mockUploadFiles[0]);
|
expect(uploadService.updateFileData).toHaveBeenCalledWith(submissionId, sectionId, mockUploadFiles[0].uuid, mockUploadFiles[0]);
|
||||||
|
|
||||||
}));
|
}));*/
|
||||||
|
|
||||||
it('should not save Bitstream File data properly when form is not valid', fakeAsync(() => {
|
/*it('should not save Bitstream File data properly when form is not valid', fakeAsync(() => {
|
||||||
compAsAny.fileEditComp = TestBed.inject(SubmissionSectionUploadFileEditComponent);
|
compAsAny.fileEditComp = TestBed.inject(SubmissionSectionUploadFileEditComponent);
|
||||||
compAsAny.fileEditComp.formRef = {formGroup: null};
|
compAsAny.fileEditComp.formRef = {formGroup: null};
|
||||||
compAsAny.pathCombiner = pathCombiner;
|
compAsAny.pathCombiner = pathCombiner;
|
||||||
@@ -289,18 +289,7 @@ describe('SubmissionSectionUploadFileComponent test suite', () => {
|
|||||||
expect(comp.switchMode).not.toHaveBeenCalled();
|
expect(comp.switchMode).not.toHaveBeenCalled();
|
||||||
expect(uploadService.updateFileData).not.toHaveBeenCalled();
|
expect(uploadService.updateFileData).not.toHaveBeenCalled();
|
||||||
|
|
||||||
}));
|
}));*/
|
||||||
|
|
||||||
it('should retrieve Value From Field properly', () => {
|
|
||||||
let field;
|
|
||||||
expect(compAsAny.retrieveValueFromField(field)).toBeUndefined();
|
|
||||||
|
|
||||||
field = new FormFieldMetadataValueObject('test');
|
|
||||||
expect(compAsAny.retrieveValueFromField(field)).toBe('test');
|
|
||||||
|
|
||||||
field = [new FormFieldMetadataValueObject('test')];
|
|
||||||
expect(compAsAny.retrieveValueFromField(field)).toBe('test');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should switch read mode', () => {
|
it('should switch read mode', () => {
|
||||||
comp.readMode = false;
|
comp.readMode = false;
|
||||||
|
Reference in New Issue
Block a user