GUI - Angular:: added angular-mocks.js to tp lib.
- sample code plus sample unit test, and karma configuration file.
Change-Id: I0c5d867913c88e12eacd17934c6f42226b82410f
diff --git a/web/gui/src/test/_karma/karma.conf.js b/web/gui/src/test/_karma/karma.conf.js
new file mode 100644
index 0000000..fae8b72
--- /dev/null
+++ b/web/gui/src/test/_karma/karma.conf.js
@@ -0,0 +1,68 @@
+// Karma configuration
+// Generated on Tue Dec 09 2014 10:41:03 GMT-0800 (PST)
+
+module.exports = function(config) {
+ config.set({
+
+ // base path that will be used to resolve all patterns (eg. files, exclude)
+ basePath: '',
+
+
+ // frameworks to use
+ // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
+ frameworks: ['jasmine'],
+
+
+ // list of files / patterns to load in the browser
+ files: [
+ '../../main/webapp/tp/angular.min.js',
+ '../../main/webapp/tp/angular-mocks.js',
+ '../../main/webapp/_sdh/ng-examples/js/*.js',
+ '../webapp/_sdh/ng-examples/js/*.js'
+ ],
+
+
+ // list of files to exclude
+ exclude: [
+ ],
+
+
+ // preprocess matching files before serving them to the browser
+ // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
+ preprocessors: {
+ },
+
+
+ // test results reporter to use
+ // possible values: 'dots', 'progress'
+ // available reporters: https://npmjs.org/browse/keyword/karma-reporter
+ reporters: ['progress'],
+
+
+ // web server port
+ port: 9876,
+
+
+ // enable / disable colors in the output (reporters and logs)
+ colors: true,
+
+
+ // level of logging
+ // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
+ logLevel: config.LOG_INFO,
+
+
+ // enable / disable watching file and executing tests whenever any file changes
+ autoWatch: true,
+
+
+ // start these browsers
+ // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
+ browsers: ['Chrome'],
+
+
+ // Continuous Integration mode
+ // if true, Karma captures browsers, runs the tests and exits
+ singleRun: false
+ });
+};
diff --git a/web/gui/src/test/webapp/_sdh/ng-examples/js/ch03-controllerSpec.js b/web/gui/src/test/webapp/_sdh/ng-examples/js/ch03-controllerSpec.js
new file mode 100644
index 0000000..b2d4947
--- /dev/null
+++ b/web/gui/src/test/webapp/_sdh/ng-examples/js/ch03-controllerSpec.js
@@ -0,0 +1,35 @@
+// Jasmine unit tests for ch03-controller.js
+
+describe('Controller: ListCtrl', function () {
+ // instantiate a new version of my module before each test
+ beforeEach(module('notesApp'));
+
+ var ctrl;
+
+ // before each unit test, instantiate a new instance of the controller
+ beforeEach(inject(function ($controller) {
+ ctrl = $controller('ListCtrl');
+ }));
+
+ it('should have items available on load', function () {
+ expect(ctrl.items).toEqual([
+ {id: 1, label: 'First', done: true},
+ {id: 2, label: 'Second', done: false}
+ ]);
+ });
+
+ it('should have highlight items based on state', function () {
+ var item = {id: 1, label: 'First', done: true};
+
+ var actualClass = ctrl.getDoneClass(item);
+ expect(actualClass.finished).toBeTruthy();
+ expect(actualClass.unfinished).toBeFalsy();
+
+ item.done = false;
+
+ actualClass = ctrl.getDoneClass(item);
+ expect(actualClass.finished).toBeFalsy();
+ expect(actualClass.unfinished).toBeTruthy();
+ });
+
+});
\ No newline at end of file