From 021b68025223f2f3fdc8a7f588ae2e87128cbbc0 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Sat, 13 Sep 2014 12:00:54 +0200 Subject: better folder undelete --- .../unit/controller/NavigationControllerSpec.js | 38 +++++------------ js/tests/unit/service/FeedResourceSpec.js | 48 ++++++++++++++++++++++ js/tests/unit/service/FolderResourceSpec.js | 14 ++++++- 3 files changed, 70 insertions(+), 30 deletions(-) (limited to 'js/tests/unit') diff --git a/js/tests/unit/controller/NavigationControllerSpec.js b/js/tests/unit/controller/NavigationControllerSpec.js index 8fcc1a94c..36687de9b 100644 --- a/js/tests/unit/controller/NavigationControllerSpec.js +++ b/js/tests/unit/controller/NavigationControllerSpec.js @@ -725,7 +725,6 @@ describe('NavigationController', function () { ctrl.reversiblyDeleteFeed(feed); expect(FeedResource.reversiblyDelete).toHaveBeenCalledWith(3); - expect(feed.deleted).toBe(true); })); @@ -745,7 +744,6 @@ describe('NavigationController', function () { ctrl.undoDeleteFeed(feed); expect(FeedResource.undoDelete).toHaveBeenCalledWith(3); - expect(feed.deleted).toBe(false); })); @@ -771,7 +769,8 @@ describe('NavigationController', function () { it('should reversibly delete a folder', inject(function ( $controller, FolderResource, FeedResource) { FolderResource.reversiblyDelete = jasmine.createSpy('reversiblyDelete'); - FeedResource.reversiblyDelete = jasmine.createSpy('reversiblyDelete'); + FeedResource.reversiblyDeleteFolder = + jasmine.createSpy('reversiblyDelete'); var ctrl = $controller('NavigationController', { FolderResource: FolderResource, @@ -786,19 +785,15 @@ describe('NavigationController', function () { ctrl.reversiblyDeleteFolder(folder); - expect(FolderResource.reversiblyDelete).toHaveBeenCalledWith(3); - expect(FeedResource.reversiblyDelete).toHaveBeenCalledWith(1); - expect(FeedResource.reversiblyDelete).toHaveBeenCalledWith(3); - expect(folder.deleted).toBe(true); - expect(FeedResource.size(2)).toBe(1); - expect(ctrl._deletedFeedsBackup.test.length).toBe(2); + expect(FolderResource.reversiblyDelete).toHaveBeenCalledWith('test'); + expect(FeedResource.reversiblyDeleteFolder).toHaveBeenCalledWith(3); })); it('should undo delete a folder', inject(function ( $controller, FolderResource, FeedResource) { FolderResource.undoDelete = jasmine.createSpy('undoDelete'); - FeedResource.undoDelete = jasmine.createSpy('undoDelete'); + FeedResource.undoDeleteFolder = jasmine.createSpy('undoDelete'); var ctrl = $controller('NavigationController', { FolderResource: FolderResource, @@ -811,28 +806,17 @@ describe('NavigationController', function () { name: 'test' }; - var feed1 = FeedResource.delete('ye'); - var feed2 = FeedResource.delete('1sye'); - expect(FeedResource.size()).toBe(1); - - ctrl._deletedFeedsBackup.test = [feed1, feed2]; - ctrl.undoDeleteFolder(folder); - expect(FolderResource.undoDelete).toHaveBeenCalledWith(3); - expect(FeedResource.undoDelete).toHaveBeenCalledWith(1); - expect(FeedResource.undoDelete).toHaveBeenCalledWith(3); - expect(folder.deleted).toBe(false); - expect(feed1.deleted).toBe(false); - expect(feed2.deleted).toBe(false); - expect(FeedResource.size()).toBe(3); - expect(ctrl._deletedFeedsBackup.test).toBe(undefined); + expect(FolderResource.undoDelete).toHaveBeenCalledWith('test'); + expect(FeedResource.undoDeleteFolder).toHaveBeenCalledWith(3); })); it('should delete a folder', inject(function ( - $controller, FolderResource) { + $controller, FolderResource, FeedResource) { FolderResource.delete = jasmine.createSpy('delete'); + FeedResource.deleteFolder = jasmine.createSpy('undoDelete'); var ctrl = $controller('NavigationController', { FolderResource: FolderResource, @@ -843,12 +827,10 @@ describe('NavigationController', function () { name: 'test' }; - ctrl._deletedFeedsBackup.test = [1, 2]; - ctrl.deleteFolder(folder); expect(FolderResource.delete).toHaveBeenCalledWith('test'); - expect(ctrl._deletedFeedsBackup.test).toBe(undefined); + expect(FeedResource.deleteFolder).toHaveBeenCalledWith(3); })); diff --git a/js/tests/unit/service/FeedResourceSpec.js b/js/tests/unit/service/FeedResourceSpec.js index 8f93a036c..905e85811 100644 --- a/js/tests/unit/service/FeedResourceSpec.js +++ b/js/tests/unit/service/FeedResourceSpec.js @@ -120,6 +120,8 @@ describe('FeedResource', function () { http.flush(); + expect(FeedResource.getById(2).deleted).toBe(true); + expect(FeedResource.getUnreadCount()).toBe(45); })); @@ -225,6 +227,8 @@ describe('FeedResource', function () { http.flush(); expect(FeedResource.get('sye').id).toBe(2); + expect(FeedResource.get('sye').deleted).toBe(false); + expect(FeedResource.getUnreadCount()).toBe(70); })); @@ -238,4 +242,48 @@ describe('FeedResource', function () { })); + it ('should delete feeds of a folder', inject(function (FeedResource) { + FeedResource.deleteFolder(3); + + expect(FeedResource.get('ye')).toBe(undefined); + expect(FeedResource.get('1sye')).toBe(undefined); + expect(FeedResource.getUnreadCount()).toBe(25); + expect(FeedResource.size()).toBe(1); + })); + + + it ('should reversibly delete a folder', inject(function (FeedResource) { + http.expectDELETE('base/feeds/1').respond(200, {}); + http.expectDELETE('base/feeds/3').respond(200, {}); + + FeedResource.reversiblyDeleteFolder(3); + + http.flush(); + + expect(FeedResource.getById(1).deleted).toBe(true); + expect(FeedResource.getById(3).deleted).toBe(true); + expect(FeedResource.getUnreadCount()).toBe(25); + })); + + + it ('should reversibly undelete a folder', inject(function (FeedResource) { + http.expectDELETE('base/feeds/1').respond(200, {}); + http.expectDELETE('base/feeds/3').respond(200, {}); + + FeedResource.reversiblyDeleteFolder(3); + + http.flush(); + + http.expectPOST('base/feeds/1/restore').respond(200, {}); + http.expectPOST('base/feeds/3/restore').respond(200, {}); + + FeedResource.undoDeleteFolder(3); + + http.flush(); + + expect(FeedResource.getById(1).deleted).toBe(false); + expect(FeedResource.getById(3).deleted).toBe(false); + expect(FeedResource.getUnreadCount()).toBe(70); + })); + }); diff --git a/js/tests/unit/service/FolderResourceSpec.js b/js/tests/unit/service/FolderResourceSpec.js index 444dba2e0..ee6485121 100644 --- a/js/tests/unit/service/FolderResourceSpec.js +++ b/js/tests/unit/service/FolderResourceSpec.js @@ -110,18 +110,28 @@ describe('FolderResource', function () { it ('should reversibly delete a folder', inject(function (FolderResource) { http.expectDELETE('base/folders/1').respond(200, {}); - FolderResource.reversiblyDelete(1); + FolderResource.reversiblyDelete('ye'); http.flush(); + + expect(FolderResource.get('ye').deleted).toBe(true); })); it ('should undo a delete folder', inject(function (FolderResource) { + http.expectDELETE('base/folders/1').respond(200, {}); + + FolderResource.reversiblyDelete('ye'); + + http.flush(); + http.expectPOST('base/folders/1/restore').respond(200, {}); - FolderResource.undoDelete(1); + FolderResource.undoDelete('ye'); http.flush(); + + expect(FolderResource.get('ye').deleted).toBe(false); })); -- cgit v1.2.3