From 83028b5245dd6b520556c2cee879aa93a5208ecf Mon Sep 17 00:00:00 2001 From: Merlin Beutlberger Date: Wed, 16 Jan 2019 14:05:31 +0100 Subject: [PATCH] [INTERNAL] ApplicationBuilder: Add test for projects without namespace --- lib/types/application/ApplicationBuilder.js | 2 +- lib/types/application/ApplicationFormatter.js | 2 +- .../types/application/ApplicationBuilder.js | 22 ++++++++++++++++++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/lib/types/application/ApplicationBuilder.js b/lib/types/application/ApplicationBuilder.js index 788721419..b4dbdd764 100644 --- a/lib/types/application/ApplicationBuilder.js +++ b/lib/types/application/ApplicationBuilder.js @@ -19,7 +19,7 @@ const tasks = { // can't require index.js due to circular dependency class ApplicationBuilder extends AbstractBuilder { addStandardTasks({resourceCollections, project, log}) { if (!project.metadata.namespace) { - log.info("Skipping some tasks due to missing application namespace information. If your project contains" + + log.info("Skipping some tasks due to missing application namespace information. If your project contains " + "a Component.js, you might be missing a manifest.json file. " + "Also see: https://github.com/SAP/ui5-builder#application"); } diff --git a/lib/types/application/ApplicationFormatter.js b/lib/types/application/ApplicationFormatter.js index 2e8419e35..433462035 100644 --- a/lib/types/application/ApplicationFormatter.js +++ b/lib/types/application/ApplicationFormatter.js @@ -21,7 +21,7 @@ class ApplicationFormatter extends AbstractFormatter { return this.readManifest(project).then(function(manifest) { if (!manifest["sap.app"] || !manifest["sap.app"].id) { - log.warn(`No "sap.app" ID configuration found in manifest of project ${project.metadata.name}`, ); + log.warn(`No "sap.app" ID configuration found in manifest of project ${project.metadata.name}`); return; } project.metadata.namespace = manifest["sap.app"].id.replace(/\./g, "/"); diff --git a/test/lib/types/application/ApplicationBuilder.js b/test/lib/types/application/ApplicationBuilder.js index af3a175cb..359550558 100644 --- a/test/lib/types/application/ApplicationBuilder.js +++ b/test/lib/types/application/ApplicationBuilder.js @@ -71,7 +71,7 @@ test("Instantiation", (t) => { ], "ApplicationBuilder is instantiated with standard tasks"); }); -test("Instantiation without component preload", (t) => { +test("Instantiation without component preload project configuration", (t) => { const project = clone(applicationBTree); project.builder.componentPreload = undefined; const appBuilder = new ApplicationBuilder({parentLogger, project}); @@ -91,6 +91,26 @@ test("Instantiation without component preload", (t) => { ], "ApplicationBuilder is still instantiated with standard tasks"); }); +test("Instantiation without project namespace", (t) => { + const project = clone(applicationBTree); + project.builder.componentPreload = undefined; + project.metadata.namespace = undefined; + const appBuilder = new ApplicationBuilder({parentLogger, project}); + t.truthy(appBuilder); + t.deepEqual(appBuilder.taskExecutionOrder, [ + "replaceCopyright", + "replaceVersion", + "generateFlexChangesBundle", + "generateManifestBundle", + "generateStandaloneAppBundle", + "transformBootstrapHtml", + "generateBundle", + "createDebugFiles", + "uglify", + "generateVersionInfo" + ], "All standard tasks but generateComponentPreload will be executed"); +}); + test("Instantiation with custom tasks", (t) => { const project = clone(applicationBTree); project.builder.customTasks = [