diff --git a/packages/backend/src/yeomanui.ts b/packages/backend/src/yeomanui.ts index 9a4b321f8..976239ca6 100644 --- a/packages/backend/src/yeomanui.ts +++ b/packages/backend/src/yeomanui.ts @@ -414,6 +414,7 @@ export class YeomanUI { // All the paths here absolute normilized paths. const targetFolderPathBeforeGen: string = _.get(resourcesBeforeGen, "targetFolderPath"); const targetFolderPathAfterGen: string = _.get(resourcesAfterGen, "targetFolderPath"); + let hasNewDirs: boolean = true; if (targetFolderPathBeforeGen === targetFolderPathAfterGen) { const newDirs: string[] = _.difference( _.get(resourcesAfterGen, "childDirs"), @@ -423,7 +424,10 @@ export class YeomanUI { // One folder added by generator and targetFolderPath/destinationRoot was not changed by generator. // ---> Fiori project generator flow. targetFolderPath = newDirs[0]; - } //else { //_.size(newDirs) = 0 (0 folders) or _.size(newDirs) > 1 (5 folders) + } else if (_.size(newDirs) === 0) { + hasNewDirs = false; + } + //else { //_.size(newDirs) = 0 (0 folders) or _.size(newDirs) > 1 (5 folders) // We don't know what is the correct targetFolderPath ---> no buttons should be shown. // No folder added by generator ---> Fiori module generator flow. // Many folders added by generator ---> @@ -447,7 +451,13 @@ export class YeomanUI { const generatedTemplatePath = targetFolderPath ? targetFolderPath : targetFolderPathBeforeGen; this.logger.debug(`done running yeomanui! ${message} You can find it at ${generatedTemplatePath}`); AnalyticsWrapper.updateGeneratorEnded(generatorName); - this.youiEvents.doGeneratorDone(true, message, selectedWorkspace, type, targetFolderPath); + // Checking if targetFolderPath is null or undefined to determine toast message. + // if no files are generated (undefined), messsage is empty + if (!targetFolderPath && !hasNewDirs) { + this.youiEvents.doGeneratorDone(false, "", selectedWorkspace, type, targetFolderPath); + } else { + this.youiEvents.doGeneratorDone(true, message, selectedWorkspace, type, targetFolderPath); + } this.setInitialProcessDir(); this.flowState.resolve(); this.generatorName = ""; // reset generator name diff --git a/packages/backend/test/yeomanui.spec.ts b/packages/backend/test/yeomanui.spec.ts index b2c0a803e..7e011bb90 100644 --- a/packages/backend/test/yeomanui.spec.ts +++ b/packages/backend/test/yeomanui.spec.ts @@ -1175,9 +1175,9 @@ describe("yeomanui unit test", () => { yeomanUi["onGeneratorSuccess"]("testGenName", beforeGen, afterGen); expect( doGeneratorDoneSpy.calledWith( - true, + false, // eslint-disable-next-line @typescript-eslint/no-unused-vars - _.get(yeomanUi, "uiOptions.messages.artifact_with_name_generated", (a: string) => "")("testGenName"), + "", create_and_close, "files", null,