diff --git a/alfa-client/libs/tech-shared/src/lib/validation/tech.validation.util.spec.ts b/alfa-client/libs/tech-shared/src/lib/validation/tech.validation.util.spec.ts index 140ac187955823972d474bcd90c568133b99bde7..dc9b252a76c61cb862874c627c32fd14af236af2 100644 --- a/alfa-client/libs/tech-shared/src/lib/validation/tech.validation.util.spec.ts +++ b/alfa-client/libs/tech-shared/src/lib/validation/tech.validation.util.spec.ts @@ -21,23 +21,11 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -import { - AbstractControl, - FormControl, - FormGroup, - UntypedFormControl, - UntypedFormGroup, -} from '@angular/forms'; -import { createInvalidParam, createIssue } from '../../../test/error'; +import { AbstractControl, FormControl, FormGroup, UntypedFormControl, UntypedFormGroup } from '@angular/forms'; +import { createInvalidParam, createIssue, createProblemDetail } from '../../../test/error'; import { InvalidParam, Issue } from '../tech.model'; -import { - getControlForInvalidParam, - getControlForIssue, - getFieldPath, - getMessageForIssue, - setInvalidParamValidationError, - setIssueValidationError, -} from './tech.validation.util'; +import { ValidationMessageCode } from './tech.validation.messages'; +import { getControlForInvalidParam, getControlForIssue, getFieldPath, getMessageForIssue, getMessageReason, setInvalidParamValidationError, setIssueValidationError } from './tech.validation.util'; describe('ValidationUtils', () => { const baseField1Control: FormControl = new UntypedFormControl(); @@ -270,4 +258,22 @@ describe('ValidationUtils', () => { expect(result).toBe(fieldPath); }); }); + + describe('getMessageReason', () => { + it('should return reason', () => { + const problemDetail = createProblemDetail(); + + const reason: ValidationMessageCode = getMessageReason(problemDetail); + + expect(reason).toEqual(problemDetail.invalidParams[0].reason); + }); + + it('should return null', () => { + const problemDetail = createProblemDetail([{ ...createInvalidParam(), reason: null }]); + + const reason: ValidationMessageCode = getMessageReason(problemDetail); + + expect(reason).toBeNull(); + }); + }); }); diff --git a/alfa-client/libs/tech-shared/src/lib/validation/tech.validation.util.ts b/alfa-client/libs/tech-shared/src/lib/validation/tech.validation.util.ts index 5968495a95e781a0815dd5270f4732d353dea8ee..d562a4543baec28671348cd0ef81402c055b154d 100644 --- a/alfa-client/libs/tech-shared/src/lib/validation/tech.validation.util.ts +++ b/alfa-client/libs/tech-shared/src/lib/validation/tech.validation.util.ts @@ -76,7 +76,7 @@ export function isValidationFieldFileSizeExceedError(error: ProblemDetail): bool return getMessageReason(error) === ValidationMessageCode.FIELD_FILE_SIZE_EXCEEDED; } -export function getMessageReason(problemDetail: ProblemDetail): string { +export function getMessageReason(problemDetail: ProblemDetail): ValidationMessageCode | null { return problemDetail.invalidParams[0].reason ?? null; }