TSK-1678: Show error when saving empty WorkbasketAccessItem

This commit is contained in:
Sofie Hofmann 2021-07-29 10:17:00 +02:00
parent 98f2a2f024
commit 523b610813
7 changed files with 11 additions and 19 deletions

View File

@ -90,7 +90,7 @@ const formsValidatorServiceSpy: Partial<FormsValidatorService> = {
}; };
const notificationServiceSpy: Partial<NotificationService> = { const notificationServiceSpy: Partial<NotificationService> = {
showWarning: jest.fn().mockReturnValue(of()), showError: jest.fn().mockReturnValue(of()),
showSuccess: jest.fn().mockReturnValue(of()), showSuccess: jest.fn().mockReturnValue(of()),
showDialog: jest.fn().mockReturnValue(of()) showDialog: jest.fn().mockReturnValue(of())
}; };
@ -157,9 +157,9 @@ describe('ClassificationDetailsComponent', () => {
it('should show warning when onCopy() is called and isCreatingNewClassification is true', () => { it('should show warning when onCopy() is called and isCreatingNewClassification is true', () => {
component.isCreatingNewClassification = true; component.isCreatingNewClassification = true;
const notificationService = TestBed.inject(NotificationService); const notificationService = TestBed.inject(NotificationService);
const showWarningSpy = jest.spyOn(notificationService, 'showWarning'); const showErrorSpy = jest.spyOn(notificationService, 'showError');
component.onCopy(); component.onCopy();
expect(showWarningSpy).toHaveBeenCalled(); expect(showErrorSpy).toHaveBeenCalled();
}); });
it('should dispatch action when onCopy() is called and isCreatingNewClassification is false', async () => { it('should dispatch action when onCopy() is called and isCreatingNewClassification is false', async () => {

View File

@ -126,7 +126,7 @@ export class ClassificationDetailsComponent implements OnInit, OnDestroy {
onCopy() { onCopy() {
if (this.isCreatingNewClassification) { if (this.isCreatingNewClassification) {
this.notificationsService.showWarning('CLASSIFICATION_COPY_NOT_CREATED'); this.notificationsService.showError('CLASSIFICATION_COPY_NOT_CREATED');
} else { } else {
this.store.dispatch(new CopyClassification()); this.store.dispatch(new CopyClassification());
} }

View File

@ -53,9 +53,9 @@ export class FormsValidatorService {
const responseOwner = new ResponseOwner(values[1]); const responseOwner = new ResponseOwner(values[1]);
if (!(values[0] && responseOwner.valid)) { if (!(values[0] && responseOwner.valid)) {
if (!responseOwner.valid) { if (!responseOwner.valid) {
this.notificationsService.showWarning('OWNER_NOT_VALID', { owner: responseOwner.field }); this.notificationsService.showError('OWNER_NOT_VALID', { owner: responseOwner.field });
} else { } else {
this.notificationsService.showWarning('EMPTY_FIELDS'); this.notificationsService.showError('EMPTY_FIELDS');
} }
} }
return values[0] && responseOwner.valid; return values[0] && responseOwner.valid;
@ -84,7 +84,7 @@ export class FormsValidatorService {
result = result && responseOwner.valid; result = result && responseOwner.valid;
}); });
if (!result) { if (!result) {
this.notificationsService.showWarning('OWNER_NOT_VALID', { this.notificationsService.showError('OWNER_NOT_VALID', {
owner: responseOwner ? responseOwner.field : 'owner' owner: responseOwner ? responseOwner.field : 'owner'
}); });
} }

View File

@ -40,10 +40,6 @@ export class NotificationService {
); );
} }
showWarning(warningKey: string, messageVariables: object = {}) {
this.toastService.warning(this.obtainMessageService.getMessage(warningKey, messageVariables, messageTypes.WARNING));
}
showInformation(informationKey: string, messageVariables: object = {}) { showInformation(informationKey: string, messageVariables: object = {}) {
this.toastService.show( this.toastService.show(
` `

View File

@ -19,12 +19,15 @@ export const messageByErrorCode = {
'The service level has to be a positive ISO-8601 duration format and only whole days are supported. ' + 'The service level has to be a positive ISO-8601 duration format and only whole days are supported. ' +
"The format must be 'PnD'.", "The format must be 'PnD'.",
INVALID_ARGUMENT: 'A method was called with an invalid argument.', INVALID_ARGUMENT: 'A method was called with an invalid argument.',
EMPTY_FIELDS: 'There are empty fields which are required',
OWNER_NOT_VALID: 'The {owner} introduced is not valid',
CLASSIFICATION_IN_USE: CLASSIFICATION_IN_USE:
'Classification with key {classificationKey} in domain {domain} cannot be deleted since there are Tasks associated with this Classification.', 'Classification with key {classificationKey} in domain {domain} cannot be deleted since there are Tasks associated with this Classification.',
CLASSIFICATION_ALREADY_EXISTS: CLASSIFICATION_ALREADY_EXISTS:
'Classification with key {classificationKey} cannot be saved since a Classification with the same key already exists in domain {domain}', 'Classification with key {classificationKey} cannot be saved since a Classification with the same key already exists in domain {domain}',
CLASSIFICATION_WITH_ID_NOT_FOUND: 'Classification with id {classificationId} cannot be found', CLASSIFICATION_WITH_ID_NOT_FOUND: 'Classification with id {classificationId} cannot be found',
CLASSIFICATION_COPY_NOT_CREATED: 'Cannot copy a not created Classification',
WORKBASKET_WITH_ID_NOT_FOUND: 'Workbasket with id {workbasketId} cannot be found', WORKBASKET_WITH_ID_NOT_FOUND: 'Workbasket with id {workbasketId} cannot be found',
WORKBASKET_WITH_KEY_NOT_FOUND: 'Workbasket with key {workbasketKey} cannot be found in domain {domain}', WORKBASKET_WITH_KEY_NOT_FOUND: 'Workbasket with key {workbasketKey} cannot be found in domain {domain}',
@ -85,12 +88,6 @@ export const messageByErrorCode = {
TASK_RESTORE: 'Task restored' TASK_RESTORE: 'Task restored'
}, },
[messageTypes.WARNING]: {
CLASSIFICATION_COPY_NOT_CREATED: 'Cannot copy a not created Classification',
EMPTY_FIELDS: 'There are empty fields which are required',
OWNER_NOT_VALID: 'The {owner} introduced is not valid'
},
[messageTypes.INFORMATION]: { [messageTypes.INFORMATION]: {
EMPTY_WORKBASKET: 'Selected Workbasket is empty' EMPTY_WORKBASKET: 'Selected Workbasket is empty'
}, },

View File

@ -1,7 +1,6 @@
export enum messageTypes { export enum messageTypes {
ERROR, ERROR,
SUCCESS, SUCCESS,
WARNING,
INFORMATION, INFORMATION,
DIALOG DIALOG
} }