From df509a4b856472fa22fd6d43a212c9d21bd5b40f Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Fri, 23 Jan 2015 14:32:53 +0100 Subject: fix #711 --- js/tests/unit/controller/ContentControllerSpec.js | 38 ++++++++++++++++++++-- .../unit/controller/NavigationControllerSpec.js | 26 +++++++++++++++ js/tests/unit/service/FeedResourceSpec.js | 16 ++++++++- 3 files changed, 77 insertions(+), 3 deletions(-) (limited to 'js/tests') diff --git a/js/tests/unit/controller/ContentControllerSpec.js b/js/tests/unit/controller/ContentControllerSpec.js index decdceeab..e413df672 100644 --- a/js/tests/unit/controller/ContentControllerSpec.js +++ b/js/tests/unit/controller/ContentControllerSpec.js @@ -58,11 +58,18 @@ describe('ContentController', function () { it('should return order by', inject(function ($controller, - SettingsResource) { + SettingsResource, FEED_TYPE) { + var route = { + current: { + $$route: { + type: FEED_TYPE.FOLDER + } + } + }; var ctrl = $controller('ContentController', { - SettingsResource: SettingsResource, data: {}, + $route: route }); expect(ctrl.orderBy()).toBe('-id'); @@ -72,6 +79,33 @@ describe('ContentController', function () { expect(ctrl.orderBy()).toBe('id'); })); + it('should return order if custom ordering', inject(function ($controller, + SettingsResource, FeedResource, FEED_TYPE) { + var route = { + current: { + $$route: { + type: FEED_TYPE.FEED + } + } + }; + FeedResource.receive([ + {id: 1, folderId: 3, url: 'ye', unreadCount: 45, ordering: 1}, + ]); + var ctrl = $controller('ContentController', { + data: {}, + $route: route, + $routeParams: { + id: 1 + } + }); + + expect(ctrl.orderBy()).toBe('id'); + + SettingsResource.set('oldestFirst', true); + + expect(ctrl.orderBy()).toBe('id'); + })); + it('should mark read', inject(function ($controller, ItemResource, FeedResource, Publisher) { diff --git a/js/tests/unit/controller/NavigationControllerSpec.js b/js/tests/unit/controller/NavigationControllerSpec.js index 994414307..22c510c3f 100644 --- a/js/tests/unit/controller/NavigationControllerSpec.js +++ b/js/tests/unit/controller/NavigationControllerSpec.js @@ -1012,4 +1012,30 @@ describe('NavigationController', function () { })); + it ('should set the feed ordering', + inject(function ($controller, FeedResource) { + + FeedResource.add({ + id: 2, + url: 'http://test.com', + folderId: 3, + ordering: 0 + }); + + FeedResource.setOrdering = jasmine.createSpy('ordering'); + + var route = { + reload: jasmine.createSpy('reload') + }; + var ctrl = $controller('NavigationController', { + $route: route + }); + + ctrl.setOrdering(FeedResource.getById(2), 2); + + expect(FeedResource.setOrdering).toHaveBeenCalledWith(2, 2); + expect(route.reload).toHaveBeenCalled(); + })); + + }); diff --git a/js/tests/unit/service/FeedResourceSpec.js b/js/tests/unit/service/FeedResourceSpec.js index 5f0d3c25a..75aa35deb 100644 --- a/js/tests/unit/service/FeedResourceSpec.js +++ b/js/tests/unit/service/FeedResourceSpec.js @@ -29,7 +29,8 @@ describe('FeedResource', function () { FeedResource.receive([ {id: 1, folderId: 3, url: 'ye', unreadCount: 45}, {id: 2, folderId: 4, location: 'test', url: 'sye', unreadCount: 25}, - {id: 3, folderId: 3, title: 'hore', url: '1sye', unreadCount: 0} + {id: 3, folderId: 3, title: 'hore', url: '1sye', unreadCount: 0, + ordering: 0} ]); })); @@ -287,4 +288,17 @@ describe('FeedResource', function () { expect(FeedResource.getUnreadCount()).toBe(70); })); + + it ('should set the feed ordering', inject(function (FeedResource) { + http.expectPOST('base/feeds/3/ordering', { + ordering: 2 + }).respond(200, {}); + + FeedResource.setOrdering(3, 2); + + http.flush(); + + expect(FeedResource.getById(3).ordering).toBe(2); + })); + }); -- cgit v1.2.3