Add javascript test

Add first javascript test and Jest Framework to execute the javascript
testing on the clamp UI

Issue-ID: CLAMP-235
Change-Id: Ie3475ebf450d0d7d4cd01de9c04eed44176932a2
Signed-off-by: sebdet <sebastien.determe@intl.att.com>
diff --git a/src/test/javascript/demo.test.js b/src/test/javascript/demo.test.js
new file mode 100644
index 0000000..c088957
--- /dev/null
+++ b/src/test/javascript/demo.test.js
@@ -0,0 +1,53 @@
+require('jquery/dist/jquery.min.js');
+require('angular/angular.min.js');
+require('angular-mocks/angular-mocks.js');
+require('angular-route/angular-route.min.js');
+require('angular-resource/angular-resource.min.js');
+require('angular-cookies/angular-cookies.min.js');
+require('angular-animate/angular-animate.min.js');
+require('angular-sanitize/angular-sanitize.min.js');
+require('angular-touch/angular-touch.min.js');
+require('popper.js/dist/umd/popper.min.js');
+require('bootstrap/dist/js/bootstrap.min.js');
+require('angular-ui-bootstrap/dist/ui-bootstrap-tpls.js');
+require('angular-loading-bar/src/loading-bar.js');
+require('angular-dialog-service/dist/dialogs.js');
+require('scripts/app.js');
+require('scripts/DashboardCtrl.js');
+
+
+describe('Dashboard ctrl tests', function() {
+
+	beforeEach(angular.mock.module('clds-app'));
+
+	var $controllerService;
+	
+	beforeEach(angular.mock.inject(function(_$controller_) {
+		$controllerService = _$controller_;
+	}));
+
+	describe('$scope.showPalette', function() {
+
+		it('test showPalette', function() {
+
+			var $scopeTest = {};
+			var $rootScopeTest = {};
+			var $resourceTest = {};
+			var $httpTest = {};
+			var $timeoutTest = {};
+			var $locationTest = {};
+			var $intervalTest = function(){};
+			var $controllerDashboard = $controllerService('DashboardCtrl', {
+			    '$scope' : $scopeTest,
+			    '$rootScope' : $rootScopeTest,
+			    '$resource' : $resourceTest,
+			    '$http' : $httpTest,
+			    '$timeout' : $timeoutTest,
+			    '$location' : $locationTest,
+			    '$interval' : $intervalTest
+			});
+			$scopeTest.showPalette();
+			expect($rootScopeTest.isModel).toEqual(true);
+		});
+	});
+});
\ No newline at end of file
diff --git a/src/test/javascript/package.json b/src/test/javascript/package.json
new file mode 100644
index 0000000..a2f0cd2
--- /dev/null
+++ b/src/test/javascript/package.json
@@ -0,0 +1,46 @@
+{
+	"scripts": {
+		"test": "jest",
+		"test:watch": "jest --watch",
+		"test:coverage": "jest --coverage"
+	},
+	"jest": {
+		"verbose": true,
+		"coverageDirectory": "${project.build.directory}/clamp-ui/coverage",
+		"collectCoverageFrom": [
+			"**/designer/**/*.{js,jsx}",
+			"!**/designer/lib/**"
+		],
+		"rootDir": "${project.build.directory}/clamp-ui",
+		"roots": [
+			"${project.basedir}/src/test/javascript/",
+			"<rootDir>/designer/"
+		],
+		"moduleDirectories": [
+			"${project.build.directory}/clamp-ui/node/node_modules",
+			"${project.build.directory}/clamp-ui/node_modules",
+			"<rootDir>/designer"
+		],
+		"coverageReporters": [
+			"lcov"
+		]
+	},
+	"devDependencies": {
+		"angular": "1.3.2",
+		"angular-resource": "1.3.2",
+		"angular-cookies": "1.3.2",
+		"angular-route": "1.3.2",
+		"angular-mocks": "1.3.2",
+		"angular-animate": "1.3.2",
+		"angular-sanitize": "1.3.2",
+		"angular-touch": "1.3.2",
+		"angular-dialog-service": "5.3.0",
+		"angular-loading-bar": "0.9.0",
+		"jquery": "3.3.1",
+		"popper.js": "1.14.4",
+		"bootstrap": "4.1.1",
+		"angular-ui-bootstrap": "2.5.6",
+		"jest": "^23.6.0",
+		"jest-cli": "^21.2.1"
+	}
+}