Fix tests

This commit is contained in:
Giuseppe Digilio
2021-05-17 19:28:01 +02:00
parent 4d12236930
commit ac7c038703
14 changed files with 340 additions and 105 deletions

View File

@@ -17,7 +17,9 @@ export function getMockFormService(
resetForm: {},
validateAllFormFields: jasmine.createSpy('validateAllFormFields'),
isValid: jasmine.createSpy('isValid'),
isFormInitialized: observableOf(true)
isFormInitialized: observableOf(true),
addError: jasmine.createSpy('addError'),
removeError: jasmine.createSpy('removeError'),
});
}

View File

@@ -60,7 +60,7 @@ export const mockSectionsErrors = [
}
];
export const mockSectionsErrorsTwo = [
export const mockSectionsErrorsTouchedField = [
{
message: 'error.validation.required',
paths: [
@@ -1020,7 +1020,127 @@ export const mockSubmissionState: SubmissionObjectState = Object.assign({}, {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
isLoading: false,
isValid: false,
removePending: false
} as any,
'collection': {
config: '',
mandatory: true,
sectionType: 'collection',
visibility: {
main: 'HIDDEN',
other: 'HIDDEN'
},
collapsed: false,
enabled: true,
data: {},
errorsToShow: [],
isLoading: false,
isValid: false,
removePending: false
} as any,
'traditionalpageone': {
header: 'submit.progressbar.describe.stepone',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpageone',
mandatory: true,
sectionType: 'submission-form',
collapsed: false,
enabled: true,
data: {},
errorsToShow: [],
formId: '2_traditionalpageone',
isLoading: false,
isValid: false,
removePending: false
} as any,
'traditionalpagetwo': {
header: 'submit.progressbar.describe.steptwo',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpagetwo',
mandatory: false,
sectionType: 'submission-form',
collapsed: false,
enabled: false,
data: {},
errorsToShow: [],
isLoading: false,
isValid: false,
removePending: false
} as any,
'detect-duplicate': {
header: 'submit.progressbar.detect-duplicate',
config: '',
mandatory: true,
sectionType: 'detect-duplicate',
collapsed: false,
enabled: true,
data: {
matches: {}
},
errorsToShow: [],
isLoading: false,
isValid: false,
removePending: false
} as any,
'upload': {
header: 'submit.progressbar.upload',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionuploads/upload',
mandatory: true,
sectionType: 'upload',
collapsed: false,
enabled: true,
data: {
files: []
},
errorsToShow: [],
isLoading: false,
isValid: false,
removePending: false
} as any,
'license': {
header: 'submit.progressbar.license',
config: '',
mandatory: true,
sectionType: 'license',
visibility: {
main: null,
other: 'READONLY'
},
collapsed: false,
enabled: true,
data: {},
errorsToShow: [],
isLoading: false,
isValid: false,
removePending: false
} as any
},
isLoading: false,
savePending: false,
depositPending: false
}
});
export const mockSubmissionStateWithDuplicate: SubmissionObjectState = Object.assign({}, {
826: {
collection: mockSubmissionCollectionId,
definition: 'traditional',
selfUrl: mockSubmissionSelfUrl,
activeSection: null,
sections: {
'extraction': {
config: '',
mandatory: true,
sectionType: 'utils',
visibility: {
main: 'HIDDEN',
other: 'HIDDEN'
},
collapsed: false,
enabled: true,
data: {},
errorsToShow: [],
isLoading: false,
isValid: false
} as any,
@@ -1035,7 +1155,7 @@ export const mockSubmissionState: SubmissionObjectState = Object.assign({}, {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
isLoading: false,
isValid: false
} as any,
@@ -1047,7 +1167,7 @@ export const mockSubmissionState: SubmissionObjectState = Object.assign({}, {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
formId: '2_traditionalpageone',
isLoading: false,
isValid: false
@@ -1060,7 +1180,7 @@ export const mockSubmissionState: SubmissionObjectState = Object.assign({}, {
collapsed: false,
enabled: false,
data: {},
errors: [],
errorsToShow: [],
isLoading: false,
isValid: false
} as any,
@@ -1074,7 +1194,7 @@ export const mockSubmissionState: SubmissionObjectState = Object.assign({}, {
data: {
files: []
},
errors: [],
errorsToShow: [],
isLoading: false,
isValid: false
} as any,
@@ -1090,7 +1210,7 @@ export const mockSubmissionState: SubmissionObjectState = Object.assign({}, {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
isLoading: false,
isValid: false
} as any
@@ -1119,7 +1239,7 @@ export const mockSubmissionStateWithoutUpload: SubmissionObjectState = Object.as
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
isLoading: false,
isValid: false
} as any,
@@ -1134,7 +1254,7 @@ export const mockSubmissionStateWithoutUpload: SubmissionObjectState = Object.as
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
isLoading: false,
isValid: false
} as any,
@@ -1146,7 +1266,7 @@ export const mockSubmissionStateWithoutUpload: SubmissionObjectState = Object.as
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
formId: '2_traditionalpageone',
isLoading: false,
isValid: false
@@ -1159,7 +1279,7 @@ export const mockSubmissionStateWithoutUpload: SubmissionObjectState = Object.as
collapsed: false,
enabled: false,
data: {},
errors: [],
errorsToShow: [],
isLoading: false,
isValid: false
} as any,
@@ -1175,7 +1295,7 @@ export const mockSubmissionStateWithoutUpload: SubmissionObjectState = Object.as
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
isLoading: false,
isValid: false
} as any
@@ -1198,7 +1318,7 @@ export const mockSectionsState = Object.assign({}, {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
isLoading: false,
isValid: false
} as any,
@@ -1213,7 +1333,7 @@ export const mockSectionsState = Object.assign({}, {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
isLoading: false,
isValid: false
} as any,
@@ -1225,7 +1345,7 @@ export const mockSectionsState = Object.assign({}, {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
isLoading: false,
isValid: false
} as any,
@@ -1237,7 +1357,7 @@ export const mockSectionsState = Object.assign({}, {
collapsed: false,
enabled: false,
data: {},
errors: [],
errorsToShow: [],
isLoading: false,
isValid: false
} as any,
@@ -1249,7 +1369,7 @@ export const mockSectionsState = Object.assign({}, {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
isLoading: false,
isValid: false
} as any,
@@ -1265,7 +1385,7 @@ export const mockSectionsState = Object.assign({}, {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
isLoading: false,
isValid: false
} as any

View File

@@ -16,4 +16,6 @@ export class SectionsServiceStub {
setSectionError = jasmine.createSpy('setSectionError');
setSectionStatus = jasmine.createSpy('setSectionStatus');
computeSectionConfiguredMetadata = jasmine.createSpy('computeSectionConfiguredMetadata');
getShownSectionErrors = jasmine.createSpy('getShownSectionErrors');
getSectionServerErrors = jasmine.createSpy('getSectionServerErrors');
}

View File

@@ -126,6 +126,7 @@ describe('SubmissionFormComponent Component', () => {
comp.submissionDefinition = submissionDefinition;
comp.selfUrl = selfUrl;
comp.sections = sectionsData;
comp.submissionErrors = null;
comp.item = new Item();
submissionServiceStub.getSubmissionObject.and.returnValue(observableOf(submissionState));

View File

@@ -1,5 +1,5 @@
import { ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { waitForAsync, ComponentFixture, inject, TestBed } from '@angular/core/testing';
import { ComponentFixture, inject, TestBed, waitForAsync } from '@angular/core/testing';
import { of as observableOf } from 'rxjs';
import { TranslateModule, TranslateService } from '@ngx-translate/core';
@@ -162,6 +162,7 @@ describe('SubmissionUploadFilesComponent Component', () => {
submissionId,
sectionId,
mockSectionsData[sectionId],
expectedErrors[sectionId],
expectedErrors[sectionId]
);
});
@@ -188,6 +189,7 @@ describe('SubmissionUploadFilesComponent Component', () => {
submissionId,
sectionId,
mockSectionsData[sectionId],
expectedErrors[sectionId],
expectedErrors[sectionId]
);
});

View File

@@ -28,7 +28,7 @@ import {
mockSectionsData,
mockSectionsDataTwo,
mockSectionsErrors,
mockSectionsErrorsTwo,
mockSectionsErrorsTouchedField,
mockSubmissionCollectionId,
mockSubmissionDefinition,
mockSubmissionDefinitionResponse,
@@ -358,18 +358,21 @@ describe('SubmissionObjectEffects test suite', () => {
submissionId,
'traditionalpageone',
mockSectionsData.traditionalpageone as any,
errorsList.traditionalpageone || [],
errorsList.traditionalpageone || []
),
c: new UpdateSectionDataAction(
submissionId,
'license',
mockSectionsData.license as any,
errorsList.license || [],
errorsList.license || []
),
d: new UpdateSectionDataAction(
submissionId,
'upload',
mockSectionsData.upload as any,
errorsList.upload || [],
errorsList.upload || []
),
});
@@ -408,25 +411,29 @@ describe('SubmissionObjectEffects test suite', () => {
}
});
const errorsList = parseSectionErrors(mockSectionsErrorsTwo);
const errorsToShowList = parseSectionErrors(mockSectionsErrorsTouchedField);
const serverValidationErrorsList = parseSectionErrors(mockSectionsErrors);
const expected = cold('--(bcd)-', {
b: new UpdateSectionDataAction(
submissionId,
'traditionalpageone',
mockSectionsData.traditionalpageone as any,
errorsList.traditionalpageone
errorsToShowList.traditionalpageone,
serverValidationErrorsList.traditionalpageone
),
c: new UpdateSectionDataAction(
submissionId,
'license',
mockSectionsData.license as any,
errorsList.license || []
errorsToShowList.license || [],
serverValidationErrorsList.license || []
),
d: new UpdateSectionDataAction(
submissionId,
'upload',
mockSectionsData.upload as any,
errorsList.upload || []
errorsToShowList.upload || [],
serverValidationErrorsList.upload || []
),
});
@@ -459,18 +466,21 @@ describe('SubmissionObjectEffects test suite', () => {
submissionId,
'traditionalpageone',
mockSectionsData.traditionalpageone as any,
[],
[]
),
c: new UpdateSectionDataAction(
submissionId,
'license',
mockSectionsData.license as any,
[],
[]
),
d: new UpdateSectionDataAction(
submissionId,
'upload',
mockSectionsData.upload as any,
[],
[]
),
});
@@ -506,18 +516,21 @@ describe('SubmissionObjectEffects test suite', () => {
submissionId,
'traditionalpageone',
mockSectionsData.traditionalpageone as any,
errorsList.traditionalpageone || [],
errorsList.traditionalpageone || []
),
c: new UpdateSectionDataAction(
submissionId,
'license',
mockSectionsData.license as any,
errorsList.license || [],
errorsList.license || []
),
d: new UpdateSectionDataAction(
submissionId,
'upload',
mockSectionsData.upload as any,
errorsList.upload || [],
errorsList.upload || []
),
});
@@ -553,24 +566,28 @@ describe('SubmissionObjectEffects test suite', () => {
submissionId,
'traditionalpageone',
mockSectionsDataTwo.traditionalpageone as any,
errorsList.traditionalpageone || [],
errorsList.traditionalpageone || []
),
c: new UpdateSectionDataAction(
submissionId,
'traditionalpagetwo',
mockSectionsDataTwo.traditionalpagetwo as any,
errorsList.traditionalpagetwo || [],
errorsList.traditionalpagetwo || []
),
d: new UpdateSectionDataAction(
submissionId,
'license',
mockSectionsDataTwo.license as any,
errorsList.license || [],
errorsList.license || []
),
e: new UpdateSectionDataAction(
submissionId,
'upload',
mockSectionsDataTwo.upload as any,
errorsList.upload || [],
errorsList.upload || []
),
});
@@ -610,18 +627,21 @@ describe('SubmissionObjectEffects test suite', () => {
submissionId,
'traditionalpageone',
mockSectionsData.traditionalpageone as any,
[]
[],
errorsList.traditionalpageone
),
c: new UpdateSectionDataAction(
submissionId,
'license',
mockSectionsData.license as any,
errorsList.license || [],
errorsList.license || []
),
d: new UpdateSectionDataAction(
submissionId,
'upload',
mockSectionsData.upload as any,
errorsList.upload || [],
errorsList.upload || []
),
});
@@ -655,18 +675,21 @@ describe('SubmissionObjectEffects test suite', () => {
submissionId,
'traditionalpageone',
mockSectionsData.traditionalpageone as any,
[],
[]
),
c: new UpdateSectionDataAction(
submissionId,
'license',
mockSectionsData.license as any,
[],
[]
),
d: new UpdateSectionDataAction(
submissionId,
'upload',
mockSectionsData.upload as any,
[],
[]
),
});
@@ -696,26 +719,28 @@ describe('SubmissionObjectEffects test suite', () => {
}
});
const errorsList = parseSectionErrors(mockSectionsErrors);
console.log(errorsList);
const serverValidationErrorsList = parseSectionErrors(mockSectionsErrors);
const expected = cold('--(bcd)-', {
b: new UpdateSectionDataAction(
submissionId,
'traditionalpageone',
mockSectionsData.traditionalpageone as any,
[]
[],
serverValidationErrorsList.traditionalpageone
),
c: new UpdateSectionDataAction(
submissionId,
'license',
mockSectionsData.license as any,
errorsList.license || []
serverValidationErrorsList.license || [],
serverValidationErrorsList.license || []
),
d: new UpdateSectionDataAction(
submissionId,
'upload',
mockSectionsData.upload as any,
errorsList.upload || []
serverValidationErrorsList.upload || [],
serverValidationErrorsList.upload || []
),
});
@@ -750,24 +775,28 @@ describe('SubmissionObjectEffects test suite', () => {
submissionId,
'traditionalpageone',
mockSectionsDataTwo.traditionalpageone as any,
[]
[],
errorsList.traditionalpageone
),
c: new UpdateSectionDataAction(
submissionId,
'traditionalpagetwo',
mockSectionsDataTwo.traditionalpagetwo as any,
errorsList.traditionalpagetwo || [],
errorsList.traditionalpagetwo || []
),
d: new UpdateSectionDataAction(
submissionId,
'license',
mockSectionsDataTwo.license as any,
errorsList.license || [],
errorsList.license || []
),
e: new UpdateSectionDataAction(
submissionId,
'upload',
mockSectionsDataTwo.upload as any,
errorsList.upload || [],
errorsList.upload || []
),
});
@@ -880,18 +909,21 @@ describe('SubmissionObjectEffects test suite', () => {
submissionId,
'traditionalpageone',
mockSectionsData.traditionalpageone as any,
errorsList.traditionalpageone || [],
errorsList.traditionalpageone || []
),
new UpdateSectionDataAction(
submissionId,
'license',
mockSectionsData.license as any,
errorsList.license || [],
errorsList.license || []
),
new UpdateSectionDataAction(
submissionId,
'upload',
mockSectionsData.upload as any,
errorsList.upload || [],
errorsList.upload || []
)
]

View File

@@ -238,9 +238,10 @@ describe('submissionReducer test suite', () => {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
isValid: true
} as any;
let action: any = new InitSubmissionFormAction(collectionId, submissionId, selfUrl, submissionDefinition, {}, new Item(), null);

View File

@@ -27,7 +27,8 @@ describe('SubmissionSectionCcLicensesComponent', () => {
config: 'test config',
mandatory: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
header: 'test header',
id: 'test section id',
sectionType: SectionsType.SubmissionForm

View File

@@ -22,11 +22,12 @@ const sectionState = {
header: 'submit.progressbar.describe.stepone',
config: 'https://rest.api/dspace-spring-rest/api/config/submissionforms/traditionalpageone',
mandatory: true,
sectionType: 'submission-form',
sectionType: SectionsType.SubmissionForm,
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
} as any;
@@ -35,7 +36,8 @@ const sectionObject: SectionDataObject = {
config: 'https://dspace7.4science.it/or2018/api/config/submissionforms/traditionalpageone',
mandatory: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
header: 'submit.progressbar.describe.stepone',
id: 'traditionalpageone',
sectionType: SectionsType.SubmissionForm
@@ -56,6 +58,7 @@ describe('SubmissionSectionContainerComponent test suite', () => {
function init() {
sectionsServiceStub.isSectionValid.and.returnValue(observableOf(true));
sectionsServiceStub.getSectionState.and.returnValue(observableOf(sectionState));
sectionsServiceStub.getShownSectionErrors.and.returnValue(observableOf([]));
submissionServiceStub.getActiveSectionId.and.returnValue(observableOf('traditionalpageone'));
}

View File

@@ -44,6 +44,7 @@ import { SubmissionObjectDataService } from '../../../core/submission/submission
import { ObjectCacheService } from '../../../core/cache/object-cache.service';
import { RequestService } from '../../../core/data/request.service';
import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils';
import { cold } from 'jasmine-marbles';
function getMockSubmissionFormsConfigService(): SubmissionFormsConfigService {
return jasmine.createSpyObj('FormOperationsService', {
@@ -59,7 +60,8 @@ const sectionObject: SectionDataObject = {
config: 'https://dspace7.4science.it/or2018/api/config/submissionforms/traditionalpageone',
mandatory: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
header: 'submit.progressbar.describe.stepone',
id: 'traditionalpageone',
sectionType: SectionsType.SubmissionForm
@@ -200,6 +202,7 @@ describe('SubmissionSectionformComponent test suite', () => {
formService.isValid.and.returnValue(observableOf(true));
formConfigService.findByHref.and.returnValue(observableOf(testFormConfiguration));
sectionsServiceStub.getSectionData.and.returnValue(observableOf(sectionData));
sectionsServiceStub.getSectionServerErrors.and.returnValue(observableOf([]));
const html = `
<ds-submission-section-form></ds-submission-section-form>`;
@@ -246,6 +249,7 @@ describe('SubmissionSectionformComponent test suite', () => {
formService.isValid.and.returnValue(observableOf(true));
formConfigService.findByHref.and.returnValue(createSuccessfulRemoteDataObject$(testFormConfiguration));
sectionsServiceStub.getSectionData.and.returnValue(observableOf(sectionData));
sectionsServiceStub.getSectionServerErrors.and.returnValue(observableOf([]));
spyOn(comp, 'initForm');
spyOn(comp, 'subscriptions');
@@ -253,7 +257,7 @@ describe('SubmissionSectionformComponent test suite', () => {
fixture.detectChanges();
expect(compAsAny.formConfig).toEqual(testFormConfiguration);
expect(comp.sectionData.errors).toEqual([]);
expect(comp.sectionData.errorsToShow).toEqual([]);
expect(comp.sectionData.data).toEqual(sectionData);
expect(comp.isLoading).toBeFalsy();
expect(comp.initForm).toHaveBeenCalledWith(sectionData);
@@ -322,7 +326,7 @@ describe('SubmissionSectionformComponent test suite', () => {
};
const sectionError = [];
comp.sectionData.data = {};
comp.sectionData.errors = [];
comp.sectionData.errorsToShow = [];
compAsAny.formData = {};
compAsAny.sectionMetadata = ['dc.title'];
@@ -342,7 +346,7 @@ describe('SubmissionSectionformComponent test suite', () => {
'dc.title': [new FormFieldMetadataValueObject('test')]
};
comp.sectionData.data = {};
comp.sectionData.errors = [];
comp.sectionData.errorsToShow = [];
compAsAny.formData = sectionData;
compAsAny.sectionMetadata = ['dc.title'];
@@ -368,7 +372,8 @@ describe('SubmissionSectionformComponent test suite', () => {
it('should check for error', () => {
comp.isUpdating = false;
comp.formId = 'test';
comp.sectionData.errors = [];
comp.sectionData.errorsToShow = [];
comp.sectionData.serverValidationErrors = [];
comp.checksForErrors(parsedSectionErrors);
@@ -379,7 +384,37 @@ describe('SubmissionSectionformComponent test suite', () => {
parsedSectionErrors,
[]
);
expect(comp.sectionData.errors).toEqual(parsedSectionErrors);
expect(comp.sectionData.errorsToShow).toEqual(parsedSectionErrors);
});
it('should return a valid status when form is valid and there are no server validation errors', () => {
formService.isValid.and.returnValue(observableOf(true));
sectionsServiceStub.getSectionServerErrors.and.returnValue(observableOf([]));
const expected = cold('(b|)', {
b: true
});
expect(compAsAny.getSectionStatus()).toBeObservable(expected);
});
it('should return an invalid status when form is valid and there are server validation errors', () => {
formService.isValid.and.returnValue(observableOf(true));
sectionsServiceStub.getSectionServerErrors.and.returnValue(observableOf(parsedSectionErrors));
const expected = cold('(b|)', {
b: false
});
expect(compAsAny.getSectionStatus()).toBeObservable(expected);
});
it('should return an invalid status when form is not valid and there are no server validation errors', () => {
formService.isValid.and.returnValue(observableOf(false));
sectionsServiceStub.getSectionServerErrors.and.returnValue(observableOf([]));
const expected = cold('(b|)', {
b: false
});
expect(compAsAny.getSectionStatus()).toBeObservable(expected);
});
it('should subscribe to state properly', () => {
@@ -392,7 +427,7 @@ describe('SubmissionSectionformComponent test suite', () => {
};
const sectionState = {
data: sectionData,
errors: parsedSectionErrors
errorsToShow: parsedSectionErrors
};
formService.getFormData.and.returnValue(observableOf(formData));
@@ -402,7 +437,7 @@ describe('SubmissionSectionformComponent test suite', () => {
expect(compAsAny.subs.length).toBe(2);
expect(compAsAny.formData).toEqual(formData);
expect(comp.updateForm).toHaveBeenCalledWith(sectionState.data, sectionState.errors);
expect(comp.updateForm).toHaveBeenCalledWith(sectionState.data, sectionState.errorsToShow);
});

View File

@@ -70,7 +70,8 @@ const sectionObject: SectionDataObject = {
acceptanceDate: null,
granted: false
},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
header: 'submit.progressbar.describe.license',
id: 'license',
sectionType: SectionsType.License

View File

@@ -28,13 +28,15 @@ import {
SectionStatusChangeAction,
UpdateSectionDataAction
} from '../objects/submission-objects.actions';
import { FormAddError, FormClearErrorsAction, FormRemoveErrorAction } from '../../shared/form/form.actions';
import { FormClearErrorsAction } from '../../shared/form/form.actions';
import parseSectionErrors from '../utils/parseSectionErrors';
import { SubmissionScopeType } from '../../core/submission/submission-scope-type';
import { SubmissionSectionError } from '../objects/submission-objects.reducer';
import { getMockScrollToService } from '../../shared/mocks/scroll-to-service.mock';
import { storeModuleConfig } from '../../app.reducer';
import { SectionsType } from './sections-type';
import { FormService } from '../../shared/form/form.service';
import { getMockFormService } from '../../shared/mocks/form-service.mock';
describe('SectionsService test suite', () => {
let notificationsServiceStub: NotificationsServiceStub;
@@ -57,6 +59,8 @@ describe('SectionsService test suite', () => {
select: jasmine.createSpy('select')
});
const formService: any = getMockFormService();
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
imports: [
@@ -74,6 +78,7 @@ describe('SectionsService test suite', () => {
{ provide: SubmissionService, useClass: SubmissionServiceStub },
{ provide: TranslateService, useValue: getMockTranslateService() },
{ provide: Store, useValue: store },
{ provide: FormService, useValue: formService },
SectionsService
]
}).compileComponents();
@@ -98,22 +103,23 @@ describe('SectionsService test suite', () => {
it('should dispatch a new FormAddError for each section\'s error', () => {
service.checkSectionErrors(submissionId, sectionId, formId, sectionErrors[sectionId]);
expect(store.dispatch).toHaveBeenCalledWith(new FormAddError(
expect(formService.addError).toHaveBeenCalledWith(
formId,
'dc_contributor_author',
'dc.contributor.author',
0,
'error.validation.required'));
'error.validation.required');
expect(store.dispatch).toHaveBeenCalledWith(new FormAddError(
expect(formService.addError).toHaveBeenCalledWith(
formId,
'dc_title',
'dc.title',
0,
'error.validation.required'));
'error.validation.required');
expect(store.dispatch).toHaveBeenCalledWith(new FormAddError(formId,
'dc_date_issued',
expect(formService.addError).toHaveBeenCalledWith(
formId,
'dc.date.issued',
0,
'error.validation.required'));
'error.validation.required');
});
it('should dispatch a new FormRemoveErrorAction for each section\'s error that no longer exists', () => {
@@ -123,21 +129,21 @@ describe('SectionsService test suite', () => {
service.checkSectionErrors(submissionId, sectionId, formId, currentErrors, prevErrors);
expect(store.dispatch).toHaveBeenCalledWith(new FormAddError(
expect(formService.addError).toHaveBeenCalledWith(
formId,
'dc_contributor_author',
'dc.contributor.author',
0,
'error.validation.required'));
'error.validation.required');
expect(store.dispatch).toHaveBeenCalledWith(new FormAddError(
expect(formService.addError).toHaveBeenCalledWith(
formId,
'dc_title',
'dc.title',
0,
'error.validation.required'));
expect(store.dispatch).toHaveBeenCalledWith(new FormRemoveErrorAction(
'error.validation.required');
expect(formService.removeError).toHaveBeenCalledWith(
formId,
'dc_date_issued',
0));
'dc.date.issued',
0);
});
});
@@ -385,7 +391,7 @@ describe('SectionsService test suite', () => {
scheduler.schedule(() => service.updateSectionData(submissionId, sectionId, data, []));
scheduler.flush();
expect(store.dispatch).toHaveBeenCalledWith(new UpdateSectionDataAction(submissionId, sectionId, data, []));
expect(store.dispatch).toHaveBeenCalledWith(new UpdateSectionDataAction(submissionId, sectionId, data, [], []));
});
it('should dispatch a new UpdateSectionDataAction and display a new notification when section is not enabled', () => {
@@ -397,7 +403,7 @@ describe('SectionsService test suite', () => {
scheduler.schedule(() => service.updateSectionData(submissionId, sectionId, data, []));
scheduler.flush();
expect(store.dispatch).toHaveBeenCalledWith(new UpdateSectionDataAction(submissionId, sectionId, data, []));
expect(store.dispatch).toHaveBeenCalledWith(new UpdateSectionDataAction(submissionId, sectionId, data, [], []));
});
});

View File

@@ -98,7 +98,8 @@ describe('SubmissionSectionUploadComponent test suite', () => {
data: {
files: []
},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
header: 'submit.progressbar.describe.upload',
id: 'upload-id',
sectionType: SectionsType.Upload

View File

@@ -1,5 +1,5 @@
import { StoreModule } from '@ngrx/store';
import { waitForAsync, fakeAsync, flush, TestBed, tick } from '@angular/core/testing';
import { fakeAsync, flush, TestBed, tick, waitForAsync } from '@angular/core/testing';
import { ActivatedRoute, Router } from '@angular/router';
import { HttpHeaders } from '@angular/common/http';
@@ -32,9 +32,7 @@ import {
SaveSubmissionSectionFormAction,
SetActiveSectionAction
} from './objects/submission-objects.actions';
import {
createFailedRemoteDataObject,
} from '../shared/remote-data.utils';
import { createFailedRemoteDataObject, } from '../shared/remote-data.utils';
import { getMockSearchService } from '../shared/mocks/search-service.mock';
import { getMockRequestService } from '../shared/mocks/request.service.mock';
import { RequestService } from '../core/data/request.service';
@@ -68,7 +66,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
},
@@ -83,7 +82,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
},
@@ -95,7 +95,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
},
@@ -107,7 +108,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: false,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
},
@@ -119,7 +121,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: true
},
@@ -131,7 +134,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: false,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
},
@@ -143,7 +147,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: false,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
},
@@ -155,7 +160,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: false,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
},
@@ -167,7 +173,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
},
@@ -183,7 +190,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
}
@@ -213,7 +221,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
},
@@ -228,7 +237,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
},
@@ -240,7 +250,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: true
},
@@ -252,7 +263,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: false,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
},
@@ -264,7 +276,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: true
},
@@ -276,7 +289,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: false,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
},
@@ -288,7 +302,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: false,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
},
@@ -300,7 +315,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: false,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
},
@@ -312,7 +328,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: true
},
@@ -328,7 +345,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: true
}
@@ -452,7 +470,7 @@ describe('SubmissionService test suite', () => {
submissionDefinition,
{},
new Item(),
[]
null
);
const expected = new InitSubmissionFormAction(
collectionId,
@@ -461,7 +479,7 @@ describe('SubmissionService test suite', () => {
submissionDefinition,
{},
new Item(),
[]);
null);
expect((service as any).store.dispatch).toHaveBeenCalledWith(expected);
});
@@ -564,7 +582,8 @@ describe('SubmissionService test suite', () => {
mandatory: true,
sectionType: 'submission-form',
data: {},
errors: []
errorsToShow: [],
serverValidationErrors: []
},
{
header: 'submit.progressbar.describe.indexing',
@@ -573,7 +592,8 @@ describe('SubmissionService test suite', () => {
mandatory: false,
sectionType: 'submission-form',
data: {},
errors: []
errorsToShow: [],
serverValidationErrors: []
},
{
header: 'submit.progressbar.describe.publicationchannel',
@@ -582,7 +602,8 @@ describe('SubmissionService test suite', () => {
mandatory: true,
sectionType: 'submission-form',
data: {},
errors: []
errorsToShow: [],
serverValidationErrors: []
},
{
header: 'submit.progressbar.describe.acknowledgement',
@@ -591,7 +612,8 @@ describe('SubmissionService test suite', () => {
mandatory: false,
sectionType: 'submission-form',
data: {},
errors: []
errorsToShow: [],
serverValidationErrors: []
},
{
header: 'submit.progressbar.describe.identifiers',
@@ -600,7 +622,8 @@ describe('SubmissionService test suite', () => {
mandatory: false,
sectionType: 'submission-form',
data: {},
errors: []
errorsToShow: [],
serverValidationErrors: []
},
{
header: 'submit.progressbar.describe.references',
@@ -609,7 +632,8 @@ describe('SubmissionService test suite', () => {
mandatory: false,
sectionType: 'submission-form',
data: {},
errors: []
errorsToShow: [],
serverValidationErrors: []
},
{
header: 'submit.progressbar.upload',
@@ -618,7 +642,8 @@ describe('SubmissionService test suite', () => {
mandatory: true,
sectionType: 'upload',
data: {},
errors: []
errorsToShow: [],
serverValidationErrors: []
},
{
header: 'submit.progressbar.license',
@@ -627,7 +652,8 @@ describe('SubmissionService test suite', () => {
mandatory: true,
sectionType: 'license',
data: {},
errors: []
errorsToShow: [],
serverValidationErrors: []
}
]
});
@@ -781,7 +807,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
};
@@ -795,7 +822,8 @@ describe('SubmissionService test suite', () => {
collapsed: false,
enabled: true,
data: {},
errors: [],
errorsToShow: [],
serverValidationErrors: [],
isLoading: false,
isValid: false
};