From 1fe6719286bb3ab6eb3fd331818491b8539c9bbe Mon Sep 17 00:00:00 2001 From: crazy940803 Date: Tue, 31 Dec 2019 09:08:32 +0100 Subject: [PATCH] change enum filename generated not uppercase but as used in typescript --- generators/entity-server/files.js | 5 +++-- .../entity-server/templates/server/src/domain/entity.ts.ejs | 4 ++-- .../entity-server/templates/server/src/domain/imports.ejs | 2 +- test/entity.spec.js | 5 ++++- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/generators/entity-server/files.js b/generators/entity-server/files.js index ac65c34..5d3ad42 100644 --- a/generators/entity-server/files.js +++ b/generators/entity-server/files.js @@ -1,3 +1,4 @@ +const _ = require('lodash'); const constants = require('../generator-nodejs-constants'); const SERVER_NODEJS_DIR = `${constants.SERVER_NODEJS_SRC_DIR}/`; @@ -50,11 +51,11 @@ function writeFiles() { this.fields.forEach(field => { if (field.fieldIsEnum === true) { - const fieldType = field.fieldType; + const enumFileName = _.kebabCase(field.fieldType); const enumInfo = utils.buildEnumInfo(field, this.angularAppName, this.packageName, this.clientRootFolder); this.template( `${SERVER_NODEJS_DIR}src/domain/enumeration/Enum.ts.ejs`, - `${SERVER_NODEJS_DIR}src/domain/enumeration/${fieldType}.ts`, + `${SERVER_NODEJS_DIR}src/domain/enumeration/${enumFileName}.ts`, this, {}, enumInfo diff --git a/generators/entity-server/templates/server/src/domain/entity.ts.ejs b/generators/entity-server/templates/server/src/domain/entity.ts.ejs index 9d265f0..30d94c7 100644 --- a/generators/entity-server/templates/server/src/domain/entity.ts.ejs +++ b/generators/entity-server/templates/server/src/domain/entity.ts.ejs @@ -35,8 +35,8 @@ import {validate, Contains, IsInt, Length, IsEmail, IsFQDN, IsDate, Min, Max} fr <%_ Object.keys(uniqueEntities).forEach(function(entityClass) { _%> import <%= entityClass %> from './<%= uniqueEntities[entityClass] %>.entity'; <%_ }); _%> -<%_ Object.keys(uniqueEnums).forEach(function(element) { _%> -import { <%= element %> } from './enumeration/<%= element %>'; +<%_ Object.keys(uniqueEnums).forEach(function(enumClass) { _%> +import { <%= enumClass %> } from './enumeration/<%= uniqueEnums[enumClass] %>'; <%_ }); _%> <%_ if (typeof javadoc == 'undefined') { _%> diff --git a/generators/entity-server/templates/server/src/domain/imports.ejs b/generators/entity-server/templates/server/src/domain/imports.ejs index cbcbe10..b31b172 100644 --- a/generators/entity-server/templates/server/src/domain/imports.ejs +++ b/generators/entity-server/templates/server/src/domain/imports.ejs @@ -47,7 +47,7 @@ for (idx in relationships) { for (idx in fields) { if (fields[idx].fieldIsEnum && ( !uniqueEnums[fields[idx].fieldType] || (uniqueEnums[fields[idx].fieldType] && fields[idx].fieldValues.length !== 0))) { - uniqueEnums[fields[idx].fieldType] = fields[idx].fieldType; + uniqueEnums[fields[idx].fieldType] = _.kebabCase(fields[idx].fieldType); } } diff --git a/test/entity.spec.js b/test/entity.spec.js index fca82d5..2e08fd4 100644 --- a/test/entity.spec.js +++ b/test/entity.spec.js @@ -71,7 +71,7 @@ describe('Subgenerator entity of nodejs JHipster blueprint', () => { // Adds your tests here assert.file('.jhipster/GreatEntity.json'); - const genderEnumPath = `${SERVER_NODEJS_DIR}src/domain/enumeration/Gender.ts`; + const genderEnumPath = `${SERVER_NODEJS_DIR}src/domain/enumeration/gender.ts`; const greatEntityPath = `${SERVER_NODEJS_DIR}src/domain/great-entity.entity.ts`; assert.file(genderEnumPath); @@ -80,6 +80,9 @@ describe('Subgenerator entity of nodejs JHipster blueprint', () => { // Gender enum class assert.fileContent(genderEnumPath, 'export enum Gender'); + // import enum in entity + assert.fileContent(greatEntityPath, "import { Gender } from './enumeration/gender';"); + // name UUID unique field assert.fileContent(greatEntityPath, "@Column({ name: 'name', unique: true })"); assert.fileContent(greatEntityPath, 'name: string;');