Tobias Jeger pushed to branch feature/cmng-psp1 at cms-community / 
hippo-addon-channel-manager


Commits:
d227af10 by Tobias Jeger at 2016-05-31T10:59:54+02:00
CHANNELMGR-692 Unit test for triggering the changes menu from the menu editor

- - - - -


2 changed files:

- frontend-ng/src/angularjs/channel/menu/editor.controller.js
- frontend-ng/src/angularjs/channel/menu/editor.spec.js


Changes:

=====================================
frontend-ng/src/angularjs/channel/menu/editor.controller.js
=====================================
--- a/frontend-ng/src/angularjs/channel/menu/editor.controller.js
+++ b/frontend-ng/src/angularjs/channel/menu/editor.controller.js
@@ -57,7 +57,11 @@ export class MenuEditorCtrl {
         if (source.nodesScope !== destNodesScope || source.index !== 
dest.index) {
           SiteMenuService.moveMenuItem(sourceId, destId, dest.index)
             .then(() => { this.isMenuModified = true; })
-            .catch(() => this.onError({ key: 'ERROR_MENU_MOVE_FAILED' }));
+            .catch((response) => {
+              response = response || {};
+
+              
this.FeedbackService.showErrorOnSubpage('ERROR_MENU_MOVE_FAILED', 
response.data);
+            });
         }
       },
     };


=====================================
frontend-ng/src/angularjs/channel/menu/editor.spec.js
=====================================
--- a/frontend-ng/src/angularjs/channel/menu/editor.spec.js
+++ b/frontend-ng/src/angularjs/channel/menu/editor.spec.js
@@ -28,13 +28,15 @@ describe('MenuEditor', () => {
   let DialogService;
   let FeedbackService;
   let HippoIframeService;
+  let ChannelService;
   let menu;
   let MenuEditorCtrl;
 
   beforeEach(() => {
     module('hippo-cm');
 
-    inject((_$q_, _$rootScope_, _$compile_, _SiteMenuService_, 
_DialogService_, _FeedbackService_, _HippoIframeService_) => {
+    inject((_$q_, _$rootScope_, _$compile_, _SiteMenuService_, 
_DialogService_, _FeedbackService_, _HippoIframeService_,
+            _ChannelService_) => {
       $q = _$q_;
       $rootScope = _$rootScope_;
       $compile = _$compile_;
@@ -42,6 +44,7 @@ describe('MenuEditor', () => {
       DialogService = _DialogService_;
       FeedbackService = _FeedbackService_;
       HippoIframeService = _HippoIframeService_;
+      ChannelService = _ChannelService_;
     });
 
     menu = { items: [] };
@@ -168,13 +171,29 @@ describe('MenuEditor', () => {
     });
 
     describe('onBack', () => {
-      it('sets the item to be the editing item', () => {
-        spyOn(HippoIframeService, 'reload').and.returnValue($q.when());
+      it('returns to the main page with no changes', () => {
+        spyOn(HippoIframeService, 'reload');
+        spyOn(ChannelService, 'recordOwnChange');
         spyOn(MenuEditorCtrl, 'onDone');
 
         MenuEditorCtrl.onBack();
-        expect(HippoIframeService.reload).toHaveBeenCalled();
+        expect(HippoIframeService.reload).not.toHaveBeenCalled();
+        expect(ChannelService.recordOwnChange).not.toHaveBeenCalled();
+        expect(MenuEditorCtrl.onDone).toHaveBeenCalled();
+      });
+
+      it('returns to the mainpage with changes', () => {
+        spyOn(SiteMenuService, 'saveMenuItem').and.returnValue($q.when());
+        MenuEditorCtrl.saveItem();
         $rootScope.$apply();
+
+        spyOn(HippoIframeService, 'reload');
+        spyOn(ChannelService, 'recordOwnChange');
+        spyOn(MenuEditorCtrl, 'onDone');
+
+        MenuEditorCtrl.onBack();
+        expect(HippoIframeService.reload).toHaveBeenCalled();
+        expect(ChannelService.recordOwnChange).toHaveBeenCalled();
         expect(MenuEditorCtrl.onDone).toHaveBeenCalled();
       });
     });



View it on GitLab: 
https://code.onehippo.org/cms-community/hippo-addon-channel-manager/commit/d227af10ab9ee5fb9c558b5377cc52b40c17a3d8
_______________________________________________
Hippocms-svn mailing list
Hippocms-svn@lists.onehippo.org
https://lists.onehippo.org/mailman/listinfo/hippocms-svn

Reply via email to