X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=sdnr%2Fwireless-transport%2Fcode-Carbon-SR1%2Fapps%2Fdlux%2Fdlux-web%2Fsrc%2Fcommon%2Fnavigation%2Fnavigation.spec.js;fp=sdnr%2Fwireless-transport%2Fcode-Carbon-SR1%2Fapps%2Fdlux%2Fdlux-web%2Fsrc%2Fcommon%2Fnavigation%2Fnavigation.spec.js;h=db4e4b1816bafca68b29a641ad079ee8752a14ff;hb=27fb2d06608fbb070ae2c15a5580a4f5b2423d15;hp=0000000000000000000000000000000000000000;hpb=60315525ab5e7c12a9f47c409092e8dba6ad656d;p=ccsdk%2Fapps.git diff --git a/sdnr/wireless-transport/code-Carbon-SR1/apps/dlux/dlux-web/src/common/navigation/navigation.spec.js b/sdnr/wireless-transport/code-Carbon-SR1/apps/dlux/dlux-web/src/common/navigation/navigation.spec.js new file mode 100644 index 00000000..db4e4b18 --- /dev/null +++ b/sdnr/wireless-transport/code-Carbon-SR1/apps/dlux/dlux-web/src/common/navigation/navigation.spec.js @@ -0,0 +1,103 @@ +define(['common/navigation/navigation.module', 'angular-ui-router',], function () { + describe('Navigation Module', function () { + var scope, NavHelperMock, EventMock, controller; + + beforeEach(angular.mock.module('ui.router')); + beforeEach(module('app.core', function ($provide) { + function NavHelperProvider() { + this.addToView = function (url) {}; + this.addControllerUrl = function (url) {}; + this.$get = function NavHelperFactory() { + return new NavHelperProvider(); + }; + } + $provide.provider('NavHelper', NavHelperProvider); + })); + + beforeEach(module('app.common.nav')); + + beforeEach(inject(function ($rootScope, $controller) { + scope = $rootScope.$new(); + controller = $controller; + + NavHelperMock = { + getMenu: function () { + return { + "id": "", + "title": "", + "active": "", + "submenu": "" + }; + } + }; + + EventMock = { + stopPropagation: function () { + return null; + }, + preventDefault: function () { + return null; + } + }; + + })); + + it('Should have receive all menu items', function () { + spyOn(NavHelperMock, 'getMenu').andCallThrough(); + controller('NavCtrl', { + $scope: scope, + NavHelper: NavHelperMock + }); + + expect(NavHelperMock.getMenu).toHaveBeenCalled(); + expect(scope.navList).toBeDefined(); + }); + + it('Should have create utility methods to show and hide submenu', function () { + controller('NavItemCtrl', { + $scope: scope, + NavHelper: NavHelperMock + }); + + expect(scope.display).toEqual('none'); + expect(scope.isOpen).toBeFalsy(); + + expect(scope.isValid).toBeDefined(); + expect(scope.updateTemplate).toBeDefined(); + }); + + it('Should look if a item exist or not', function () { + controller('NavItemCtrl', { + $scope: scope, + NavHelper: NavHelperMock + }); + var item = {}; + + expect(scope.isValid(item)).toBeTruthy(); + expect(scope.isValid(null)).toBeFalsy(); + }); + + it('Should toggle the status of the item scope', function () { + spyOn(EventMock, 'stopPropagation').andCallThrough(); + spyOn(EventMock, 'preventDefault').andCallThrough(); + controller('NavItemCtrl', { + $scope: scope, + NavHelper: NavHelperMock + }); + + var initOpen = scope.isOpen; + var initDisplay = scope.display; + + scope.updateTemplate(EventMock, {}); + expect(scope.isOpen).not.toEqual(initOpen); + expect(scope.display).not.toEqual(initDisplay); + + scope.updateTemplate(EventMock, {}); + expect(scope.isOpen).toEqual(initOpen); + expect(scope.display).toEqual(initDisplay); + + expect(EventMock.stopPropagation.calls.length).toEqual(2); + expect(EventMock.preventDefault.calls.length).toEqual(2); + }); + }); +});