Nodes app doesn't display nodes at all 00/47800/3
authorDaniel Malachovsky <dmalacho@cisco.com>
Tue, 1 Nov 2016 17:25:14 +0000 (18:25 +0100)
committerDaniel Malachovsky <dmalacho@cisco.com>
Wed, 2 Nov 2016 10:09:55 +0000 (10:09 +0000)
Bug 7073

Change-Id: I2d69b4d8b117414dad6bffb6d316eb295332204d
Signed-off-by: Daniel Malachovsky <dmalacho@cisco.com>
modules/node-resources/src/main/resources/node/detail.tpl.html
modules/node-resources/src/main/resources/node/index.tpl.html
modules/node-resources/src/main/resources/node/nodes.controller.js
modules/node-resources/src/main/resources/node/nodes.services.js
modules/node-resources/src/main/resources/node/nodes.spec.js

index 6e7b1af517489b62bd012b6bab29ef5e25a232ed..412718c184c19802f8b31b1c345c46d9bb74da1f 100644 (file)
     <tr>
       <th>{{ 'NODE_CONNECTOR_ID' | translate }}</th>
       <th>{{ 'NAME' | translate }}</th>
-      <th data-hide="phone">{{ 'PORT_NUMBER' | translate }}</th>
+      <th>{{ 'PORT_NUMBER' | translate }}</th>
       <th>{{ 'MAC_ADDRESS' | translate }}</th>
     </tr>
   </thead>
   <tbody>
-    <tr ng-hide="data['node-connector'].length"><td colspan="4" class="centerAlign">{{ 'NO_DATA_FOUND' | translate }}</td></tr>
+    <tr ng-hide="data['node-connector'].length"><td colspan="5" class="centerAlign">{{ 'NO_DATA_FOUND' | translate }}</td></tr>
     <tr ng-repeat="ncp in data['node-connector'] | filter:nodeConnectorSearch" node-table>
         <td>{{ncp.id}}</td>
         <td>{{ncp['flow-node-inventory:name']}}</td>
@@ -41,4 +41,4 @@
         </td>
     </tr>
     </tfoot>
-</table>
\ No newline at end of file
+</table>
index f290eff993f39dc3e94f085a053b450f9aa96b06..723d8385b9efaa0e7410d99390d6100c8a81dbee 100644 (file)
        <thead>\r
       <tr>\r
         <th>{{ 'NODE_ID' | translate }}</th>\r
-        <th data-hide="phone">{{ 'NODE_NAME' | translate }}</th>\r
+        <th>{{ 'NODE_NAME' | translate }}</th>\r
         <th>{{ 'NODE_CONNECTORS' | translate }}</th>\r
         <th data-sort-ignore="true">{{ 'STATISTICS' | translate }}</th>\r
       </tr>\r
        </thead>\r
        <tbody>\r
-           <tr ng-hide="data.length > 1"><td colspan="4" class="centerAlign">{{ 'NO_DATA_FOUND' | translate }}</td></tr>\r
+           <tr ng-hide="data.length > 0"><td colspan="5" class="centerAlign">{{ 'NO_DATA_FOUND' | translate }}</td></tr>\r
                <tr ng-repeat="item in data | filter:{id:'!config'} | filter:nodeSearch" node-table>\r
         <td>{{item.id}}</td>\r
         <td>{{item['flow-node-inventory:description']}}</td>\r
index 5716289ffbc09bb1144c1fc8abbd5617ddca82fa..5117bbcc882a28aba288e760720f58a889662544 100644 (file)
@@ -15,7 +15,7 @@ define(['app/node/nodes.module','app/node/nodes.services'], function(node) {
 \r
   node.controller('allNodesCtrl', function($scope, NodeInventorySvc, $timeout) {\r
     NodeInventorySvc.getAllNodes().then(function(data) {\r
-      $scope.data = data[0].node;\r
+      $scope.data = data.nodes.node;\r
     });\r
     var tableRendered = false;\r
     $scope.$watch('nodeSearch.id', function() {\r
@@ -39,7 +39,7 @@ define(['app/node/nodes.module','app/node/nodes.services'], function(node) {
     var currentData = NodeInventorySvc.getCurrentData();\r
     if(currentData != null) {\r
       currentData.then(function(data) {\r
-        var node = _.find(data[0].node, function(entry) {if(entry.id == $stateParams.nodeId) { return entry;}});\r
+        var node = _.find(data.nodes.node, function(entry) {if(entry.id == $stateParams.nodeId) { return entry;}});\r
         $scope.data = node;\r
       });\r
     }\r
index 1aea2783e1c6fda98a4e5db6a905422cd0e6333d..678dd1e269094f0b6b3e3eadf5f3c623e7e572d8 100644 (file)
@@ -39,7 +39,7 @@ define(['app/node/nodes.module'],function(node) {
     };\r
 \r
     svc.getAllNodes = function() {\r
-      svc.data = svc.base().getList();\r
+      svc.data = svc.base().get();\r
       return svc.data;\r
     };\r
 \r
index 4915e7cbb1735864ced9e5b5d690740a34b341ef..ef9a465cb577d7f39a8718325ad413f6f5d47e7e 100644 (file)
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-define(['app/node/nodes.module', 'app/node/nodes.controller', 'angular-ui-router', 'common/layout/layout.module'], function() {
-  describe("Node Listing Screen", function() {
-    var scope, state, nodeServiceMock, rootScope;
-    beforeEach(angular.mock.module('ui.router'));
-    beforeEach(angular.mock.module('app.common.layout'));
-    beforeEach(angular.mock.module('app.nodes'));
+define(['app/node/nodes.module', 'app/node/nodes.controller', 'angular-ui-router', 'common/layout/layout.module'], function () {
+    describe("Node Listing Screen", function () {
+        var scope, state, nodeServiceMock, rootScope;
+        beforeEach(angular.mock.module('ui.router'));
+        beforeEach(angular.mock.module('app.common.layout'));
+        beforeEach(angular.mock.module('app.nodes'));
 
-    beforeEach(angular.mock.inject( function( $controller, $q, $state, $rootScope, $templateCache) {
-      rootScope = $rootScope;
-      scope = $rootScope.$new();
-      state = $state;
-      $templateCache.put('src/app/node/root.tpl.html', '');
-      $templateCache.put('src/app/node/index.tpl.html', '');
-      $templateCache.put('src/app/node/detail.tpl.html', '');
-      nodeServiceMock = {
-        getAllNodes : function() {
-          var deferred = $q.defer();
-          deferred.resolve([{"node":"node1"}]);
-          return deferred.promise;
-        },
-        getCurrentData : function() {
-            return null;
-        },
-        getNode : function(id){
-          var deferred = $q.defer();
-          deferred.resolve({"node":[{"id":id}]});
-          return deferred.promise;
-        }
-      };
-    })); 
+        beforeEach(angular.mock.inject(function ($controller, $q, $state, $rootScope, $templateCache) {
+            rootScope = $rootScope;
+            scope = $rootScope.$new();
+            state = $state;
+            $templateCache.put('src/app/node/root.tpl.html', '');
+            $templateCache.put('src/app/node/index.tpl.html', '');
+            $templateCache.put('src/app/node/detail.tpl.html', '');
+            nodeServiceMock = {
+                getAllNodes: function () {
+                    // TODO: rewrite this test
+                    var deferred = $q.defer();
+                    deferred.resolve(
+                        {
+                            'nodes': {
+                                'node': [{
+                                    'id': 'node1',
+                                }],
+                            },
+                        }
+                    );
+                    return deferred.promise;
+                },
+                getCurrentData: function () {
+                    return null;
+                },
+                getNode: function (id) {
+                    var deferred = $q.defer();
+                    deferred.resolve({"node": [{"id": id}]});
+                    return deferred.promise;
+                }
+            };
+        }));
 
-    it('should load the root states', angular.mock.inject(function($controller) {
-      var stateName = 'main.node';
-      
-      $controller('rootNodeCtrl', {$scope: scope, $state: state});
-      expect(state.href(stateName, {})).toBe('#/node');
-    }));
+        it('should load the root states', angular.mock.inject(function ($controller) {
+            var stateName = 'main.node';
 
+            $controller('rootNodeCtrl', {$scope: scope, $state: state});
+            expect(state.href(stateName, {})).toBe('#/node');
+        }));
 
-    it("should call get Nodes", angular.mock.inject( function($controller, $q) {
-      var stateName = 'main.node.index';
 
-      spyOn(nodeServiceMock, 'getAllNodes').andCallThrough();
-      $controller( 'allNodesCtrl', { $scope: scope, $state:state, NodeInventorySvc:nodeServiceMock });
-      rootScope.$digest();
+        it('should call get Nodes', angular.mock.inject(function ($controller, $q) {
+            var stateName = 'main.node.index';
 
-      expect(state.href(stateName, {})).toBe('#/node/index');
-      expect(nodeServiceMock.getAllNodes).toHaveBeenCalled();
-      expect(scope.data).toBe('node1');
-    }));
+            spyOn(nodeServiceMock, 'getAllNodes').andCallThrough();
+            $controller('allNodesCtrl', {$scope: scope, $state: state, NodeInventorySvc: nodeServiceMock});
+            rootScope.$digest();
 
-    it("ensure node connector link works using existing Data", angular.mock.inject( function($controller, $q) {
-        nodeServiceMock.getCurrentData = function() {
-          var deferred = $q.defer();
-          deferred.resolve([{"node":[{"id":2},{"id" :3}]}]);
-          return deferred.promise;
-        };
-        
-        var stateName = 'main.node.detail';
-        var stateParams = { nodeId: 2 };
-        spyOn(nodeServiceMock, 'getCurrentData').andCallThrough();
-        $controller( 'nodeConnectorCtrl', { $scope: scope, $stateParams : stateParams, NodeInventorySvc:nodeServiceMock });
-        rootScope.$digest();
-        
-        expect(state.href(stateName, stateParams)).toBe('#/node/%d/detail'.replace('%d', stateParams.nodeId));
-        expect(nodeServiceMock.getCurrentData).toHaveBeenCalled();
-        expect(scope.data.id).toEqual(2);
-    }));
+            expect(state.href(stateName, {})).toBe('#/node/index');
+            expect(nodeServiceMock.getAllNodes).toHaveBeenCalled();
+            expect(scope.data[0].id).toBe('node1');
+        }));
 
-    it("ensure node connector can be fetched separately", angular.mock.inject(function($controller) {
-        var stateName = 'main.node.detail';
-        var stateParams = { nodeId: 3 };
-        spyOn(nodeServiceMock, 'getCurrentData').andCallThrough();
-        spyOn(nodeServiceMock, 'getNode').andCallThrough();
-        $controller( 'nodeConnectorCtrl', { $scope: scope, $stateParams : stateParams, NodeInventorySvc:nodeServiceMock });
-        rootScope.$digest();
-        
-        expect(state.href(stateName, stateParams)).toBe('#/node/%d/detail'.replace('%d',stateParams.nodeId));
-        expect(nodeServiceMock.getNode).toHaveBeenCalled();
-        expect(scope.data.id).toEqual(3);
-    }));
-  });
+        it("ensure node connector link works using existing Data", angular.mock.inject(function ($controller, $q) {
+            nodeServiceMock.getCurrentData = function () {
+                var deferred = $q.defer();
+                deferred.resolve(
+                    {
+                        'nodes': {
+
+                            'node': [
+                                {
+                                    'id': 2,
+                                },
+                                {
+                                    'id': 3,
+                                },
+                            ],
+                        },
+                    }
+                );
+
+                return deferred.promise;
+            };
+
+            var stateName = 'main.node.detail';
+            var stateParams = {nodeId: 2};
+            spyOn(nodeServiceMock, 'getCurrentData').andCallThrough();
+            $controller('nodeConnectorCtrl', {
+                $scope: scope,
+                $stateParams: stateParams,
+                NodeInventorySvc: nodeServiceMock
+            });
+            rootScope.$digest();
+
+            expect(state.href(stateName, stateParams)).toBe('#/node/%d/detail'.replace('%d', stateParams.nodeId));
+            expect(nodeServiceMock.getCurrentData).toHaveBeenCalled();
+            expect(scope.data.id).toEqual(2);
+        }));
+
+        it("ensure node connector can be fetched separately", angular.mock.inject(function ($controller) {
+            var stateName = 'main.node.detail';
+            var stateParams = {nodeId: 3};
+            spyOn(nodeServiceMock, 'getCurrentData').andCallThrough();
+            spyOn(nodeServiceMock, 'getNode').andCallThrough();
+            $controller('nodeConnectorCtrl', {
+                $scope: scope,
+                $stateParams: stateParams,
+                NodeInventorySvc: nodeServiceMock
+            });
+            rootScope.$digest();
+
+            expect(state.href(stateName, stateParams)).toBe('#/node/%d/detail'.replace('%d', stateParams.nodeId));
+            expect(nodeServiceMock.getNode).toHaveBeenCalled();
+            expect(scope.data.id).toEqual(3);
+        }));
+    });
 });