GUI -- TopoView - Reimplemented 'traffic' related functionality.

Change-Id: I86d16324e4ce2cd2e0eb8d8f48f72804d7ce101f
diff --git a/web/gui/src/main/webapp/tests/app/view/topo/topoModel-spec.js b/web/gui/src/main/webapp/tests/app/view/topo/topoModel-spec.js
index 67291f3..84c1f61 100644
--- a/web/gui/src/main/webapp/tests/app/view/topo/topoModel-spec.js
+++ b/web/gui/src/main/webapp/tests/app/view/topo/topoModel-spec.js
@@ -207,7 +207,7 @@
 
     it('should define api functions', function () {
         expect(fs.areFunctions(tms, [
-            'initModel', 'newDim',
+            'initModel', 'newDim', 'destroyModel',
             'positionNode', 'createDeviceNode', 'createHostNode',
             'createHostLink', 'createLink',
             'coordFromLngLat', 'lngLatFromCoord',
diff --git a/web/gui/src/main/webapp/tests/app/view/topo/topoSelect-spec.js b/web/gui/src/main/webapp/tests/app/view/topo/topoSelect-spec.js
index e640764..78bde80 100644
--- a/web/gui/src/main/webapp/tests/app/view/topo/topoSelect-spec.js
+++ b/web/gui/src/main/webapp/tests/app/view/topo/topoSelect-spec.js
@@ -36,7 +36,8 @@
         expect(fs.areFunctions(tss, [
             'initSelect', 'destroySelect', 'showDetails', 'toggleDetails',
             'nodeMouseOver', 'nodeMouseOut', 'selectObject', 'deselectObject',
-            'deselectAll', 'hovered', 'haveDetails'
+            'deselectAll', 'hovered', 'haveDetails', 'selectOrder',
+            'validateSelectionContext'
         ])).toBeTruthy();
     });
 
diff --git a/web/gui/src/main/webapp/tests/app/view/topo/topoTraffic-spec.js b/web/gui/src/main/webapp/tests/app/view/topo/topoTraffic-spec.js
new file mode 100644
index 0000000..ecc4a34
--- /dev/null
+++ b/web/gui/src/main/webapp/tests/app/view/topo/topoTraffic-spec.js
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ ONOS GUI -- Topo View -- Topo Traffic Service - Unit Tests
+ */
+describe('factory: view/topo/topoTraffic.js', function() {
+    var $log, fs, tts;
+
+    beforeEach(module('ovTopo', 'onosUtil', 'onosLayer'));
+
+    beforeEach(inject(function (_$log_, FnService, TopoTrafficService) {
+        $log = _$log_;
+        fs = FnService;
+        tts = TopoTrafficService;
+    }));
+
+    it('should define TopoTrafficService', function () {
+        expect(tts).toBeDefined();
+    });
+
+    it('should define api functions', function () {
+        expect(fs.areFunctions(tts, [
+            'initTraffic', 'destroyTraffic', 'showTraffic',
+            'cancelTraffic', 'requestTrafficForMode',
+            'showRelatedIntentsAction', 'addHostIntentAction',
+            'addMultiSourceIntentAction', 'showDeviceLinkFlowsAction',
+            'showNextIntentAction', 'showPrevIntentAction',
+            'showSelectedIntentTrafficAction', 'showAllTrafficAction'
+        ])).toBeTruthy();
+    });
+
+    // TODO: more tests...
+});