Changes in order to keep server side validation errors into the submission form state

This commit is contained in:
Giuseppe Digilio
2021-05-14 19:23:03 +02:00
parent 0724692d40
commit 44d2310cdb
20 changed files with 265 additions and 131 deletions

View File

@@ -28,7 +28,8 @@ import {
SaveSubmissionSectionFormAction,
SaveSubmissionSectionFormErrorAction,
SaveSubmissionSectionFormSuccessAction,
SectionStatusChangeAction, SubmissionObjectAction,
SectionStatusChangeAction,
SubmissionObjectAction,
UpdateSectionDataAction
} from './submission-objects.actions';
import { SectionsType } from '../sections/sections-type';
@@ -68,7 +69,7 @@ describe('submissionReducer test suite', () => {
}
};
const action = new InitSubmissionFormAction(collectionId, submissionId, selfUrl, submissionDefinition, {}, new Item(), []);
const action = new InitSubmissionFormAction(collectionId, submissionId, selfUrl, submissionDefinition, {}, new Item(), null);
const newState = submissionObjectReducer({}, action);
expect(newState).toEqual(expectedState);
@@ -242,7 +243,7 @@ describe('submissionReducer test suite', () => {
isValid: false
} as any;
let action: any = new InitSubmissionFormAction(collectionId, submissionId, selfUrl, submissionDefinition, {}, new Item(), []);
let action: any = new InitSubmissionFormAction(collectionId, submissionId, selfUrl, submissionDefinition, {}, new Item(), null);
let newState = submissionObjectReducer({}, action);
action = new InitSectionAction(
@@ -329,7 +330,7 @@ describe('submissionReducer test suite', () => {
]
} as any;
const action = new UpdateSectionDataAction(submissionId, 'traditionalpageone', data, []);
const action = new UpdateSectionDataAction(submissionId, 'traditionalpageone', data, [], []);
const newState = submissionObjectReducer(initState, action);
expect(newState[826].sections.traditionalpageone.data).toEqual(data);
@@ -340,7 +341,7 @@ describe('submissionReducer test suite', () => {
} as any;
const metadata = ['dc.title', 'dc.contributor.author'];
const action = new UpdateSectionDataAction(submissionId, 'traditionalpageone', data, [], metadata);
const action = new UpdateSectionDataAction(submissionId, 'traditionalpageone', data, [], [], metadata);
const newState = submissionObjectReducer(initState, action);
expect(newState[826].sections.traditionalpageone.metadata).toEqual(metadata);
@@ -354,10 +355,10 @@ describe('submissionReducer test suite', () => {
}
];
const action = new UpdateSectionDataAction(submissionId, 'traditionalpageone', {}, errors);
const action = new UpdateSectionDataAction(submissionId, 'traditionalpageone', {}, errors, errors);
const newState = submissionObjectReducer(initState, action);
expect(newState[826].sections.traditionalpageone.errors).toEqual(errors);
expect(newState[826].sections.traditionalpageone.errorsToShow).toEqual(errors);
});
it('should remove all submission section errors properly', () => {
@@ -366,7 +367,7 @@ describe('submissionReducer test suite', () => {
newState = submissionObjectReducer(initState, action);
expect(newState[826].sections.traditionalpageone.errors).toEqual([]);
expect(newState[826].sections.traditionalpageone.errorsToShow).toEqual([]);
});
it('should add submission section error properly', () => {
@@ -378,7 +379,7 @@ describe('submissionReducer test suite', () => {
const action = new InertSectionErrorsAction(submissionId, 'traditionalpageone', error);
const newState = submissionObjectReducer(initState, action);
expect(newState[826].sections.traditionalpageone.errors).toEqual([error]);
expect(newState[826].sections.traditionalpageone.errorsToShow).toEqual([error]);
});
it('should remove specified submission section error/s properly', () => {
@@ -402,21 +403,21 @@ describe('submissionReducer test suite', () => {
message: 'error.validation.required'
}];
let action: any = new UpdateSectionDataAction(submissionId, 'traditionalpageone', {}, errors);
let action: any = new UpdateSectionDataAction(submissionId, 'traditionalpageone', {}, errors, errors);
let newState = submissionObjectReducer(initState, action);
action = new DeleteSectionErrorsAction(submissionId, 'traditionalpageone', error);
newState = submissionObjectReducer(newState, action);
expect(newState[826].sections.traditionalpageone.errors).toEqual(expectedErrors);
expect(newState[826].sections.traditionalpageone.errorsToShow).toEqual(expectedErrors);
action = new UpdateSectionDataAction(submissionId, 'traditionalpageone', {}, errors);
action = new UpdateSectionDataAction(submissionId, 'traditionalpageone', {}, errors, errors);
newState = submissionObjectReducer(initState, action);
action = new DeleteSectionErrorsAction(submissionId, 'traditionalpageone', errors);
newState = submissionObjectReducer(newState, action);
expect(newState[826].sections.traditionalpageone.errors).toEqual([]);
expect(newState[826].sections.traditionalpageone.errorsToShow).toEqual([]);
});
it('should add a new file', () => {