diff --git a/frontend/app-development/features/dataModelling/SchemaEditorWithToolbar/TopToolbar/utils/validationUtils.test.ts b/frontend/app-development/features/dataModelling/SchemaEditorWithToolbar/TopToolbar/utils/validationUtils.test.ts index 658a8330d1b..ce2c8d2cb55 100644 --- a/frontend/app-development/features/dataModelling/SchemaEditorWithToolbar/TopToolbar/utils/validationUtils.test.ts +++ b/frontend/app-development/features/dataModelling/SchemaEditorWithToolbar/TopToolbar/utils/validationUtils.test.ts @@ -1,5 +1,5 @@ import { mockAppMetadata, mockDataTypeId } from '../../../../../test/applicationMetadataMock'; -import { extractDataTypeNamesFromAppMetadata } from './validationUtils'; +import { extractDataTypeNamesFromAppMetadata, findFileNameError } from './validationUtils'; describe('extractDataTypeNamesFromAppMetadata', () => { it('should extract data type names when application metadata is provided', () => { @@ -21,3 +21,23 @@ describe('extractDataTypeNamesFromAppMetadata', () => { expect(dataTypeNames).toEqual([]); }); }); + +describe('findFileNameError', () => { + it('should validate name as invalid if name does not match regEx', () => { + const fileName = 'æ'; + const validationResult = findFileNameError(fileName, mockAppMetadata); + expect(validationResult).toEqual('invalidFileName'); + }); + + it('should validate name as invalid if name exists in appMetadata', () => { + const fileName = mockAppMetadata.dataTypes[0].id; + const validationResult = findFileNameError(fileName, mockAppMetadata); + expect(validationResult).toEqual('fileExists'); + }); + + it('should validate name as valid if appMetadata is undefined', () => { + const fileName = 'fileName'; + const validationResult = findFileNameError(fileName, undefined); + expect(validationResult).toEqual(null); + }); +}); diff --git a/frontend/app-development/features/dataModelling/SchemaEditorWithToolbar/TopToolbar/utils/validationUtils.ts b/frontend/app-development/features/dataModelling/SchemaEditorWithToolbar/TopToolbar/utils/validationUtils.ts index d65112503a6..d47438c321d 100644 --- a/frontend/app-development/features/dataModelling/SchemaEditorWithToolbar/TopToolbar/utils/validationUtils.ts +++ b/frontend/app-development/features/dataModelling/SchemaEditorWithToolbar/TopToolbar/utils/validationUtils.ts @@ -46,7 +46,7 @@ const isNameFormatValid = (fileNameWithoutExtension: string): boolean => { const doesFileExistInMetadata = ( appMetadata: ApplicationMetadata, fileNameWithoutExtension: string, -): boolean => appMetadata.dataTypes?.some((dataType) => dataType.id === fileNameWithoutExtension); +): boolean => appMetadata?.dataTypes?.some((dataType) => dataType.id === fileNameWithoutExtension); export const extractDataTypeNamesFromAppMetadata = ( appMetadata?: ApplicationMetadata,