diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-05-20 17:01:59 +0200 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-05-20 17:01:59 +0200 |
commit | 5a7b1e0c36c2dd564f44568de766118b07be49ad (patch) | |
tree | 23b9f80bb4509dd51948c3851660f5fa3754031d /js/tests/unit/service | |
parent | b5d5b2b22a2b4aabd4c9bb5c8b89aae10facc735 (diff) |
rename model to resource
Diffstat (limited to 'js/tests/unit/service')
-rw-r--r-- | js/tests/unit/service/ItemResourceSpec.js | 43 | ||||
-rw-r--r-- | js/tests/unit/service/ResourceSpec.js | 151 |
2 files changed, 194 insertions, 0 deletions
diff --git a/js/tests/unit/service/ItemResourceSpec.js b/js/tests/unit/service/ItemResourceSpec.js new file mode 100644 index 000000000..9d6c10ae0 --- /dev/null +++ b/js/tests/unit/service/ItemResourceSpec.js @@ -0,0 +1,43 @@ +/** + * ownCloud - News + * + * This file is licensed under the Affero General Public License version 3 or + * later. See the COPYING file. + * + * @author Bernhard Posselt <dev@bernhard-posselt.com> + * @copyright Bernhard Posselt 2014 + */ +describe('ItemResource', function () { + 'use strict'; + + beforeEach(module('News')); + + + it('should receive the newestItemId', inject(function (ItemResource) { + ItemResource.receive(3, 'newestItemId'); + + expect(ItemResource.getNewestItemId()).toBe(3); + })); + + + it('should receive the newestItemId', inject(function (ItemResource) { + ItemResource.receive(2, 'starred'); + + expect(ItemResource.getStarredCount()).toBe(2); + })); + + + it('should receive items', inject(function (ItemResource) { + ItemResource.receive([ + { + id: 3 + }, + { + id: 4 + } + ], 'items'); + + expect(ItemResource.size()).toBe(2); + })); + +});
\ No newline at end of file diff --git a/js/tests/unit/service/ResourceSpec.js b/js/tests/unit/service/ResourceSpec.js new file mode 100644 index 000000000..ba877fcd4 --- /dev/null +++ b/js/tests/unit/service/ResourceSpec.js @@ -0,0 +1,151 @@ +/** + * ownCloud - News + * + * This file is licensed under the Affero General Public License version 3 or + * later. See the COPYING file. + * + * @author Bernhard Posselt <dev@bernhard-posselt.com> + * @copyright Bernhard Posselt 2014 + */ +describe('Resource', function () { + 'use strict'; + + var childModel; + + beforeEach(module('News')); + + beforeEach(inject(function (Resource) { + var ChildModel = function () { + Resource.call(this, 'id'); + }; + ChildModel.prototype = Object.create(Resource.prototype); + + childModel = new ChildModel(); + })); + + + it('should receive an object', function () { + var objects = [ + { + id: 2 + }, + { + id: 3 + } + ]; + + childModel.receive(objects); + + expect(childModel.size()).toBe(2); + }); + + + it('should add an object', function () { + var object = { + id: 3, + name: 'test' + }; + childModel.add(object); + + expect(childModel.get(3)).toBe(object); + }); + + + it('should overwrite an object if it already exists', function () { + var object1, + object2; + + object1 = { + id: 3, + name: 'test', + test: 'ho' + }; + + object2 = { + id: 3, + name: 'test2' + }; + + childModel.add(object1); + childModel.add(object2); + + expect(childModel.get(3).name).toBe('test2'); + expect(childModel.get(3).test).toBe('ho'); + expect(childModel.size()).toBe(1); + }); + + + it('should delete a Resource', function () { + var object1, + object2; + + object1 = { + id: 3, + name: 'test', + test: 'ho' + }; + + object2 = { + id: 4, + name: 'test2' + }; + + childModel.add(object1); + childModel.add(object2); + + childModel.delete(3); + + expect(childModel.get(3)).not.toBeDefined(); + expect(childModel.get(4).name).toBe('test2'); + expect(childModel.size()).toBe(1); + }); + + + it('should clear all models', function () { + var object1, + object2; + + object1 = { + id: 3, + name: 'test', + test: 'ho' + }; + + object2 = { + id: 4, + name: 'test2' + }; + + childModel.add(object1); + childModel.add(object2); + + childModel.clear(); + + expect(childModel.get(3)).not.toBeDefined(); + expect(childModel.get(4)).not.toBeDefined(); + expect(childModel.size()).toBe(0); + }); + + + it('should get all models', function () { + var object1, + object2; + + object1 = { + id: 3, + name: 'test', + test: 'ho' + }; + + object2 = { + id: 4, + name: 'test2' + }; + + childModel.add(object1); + childModel.add(object2); + + expect(childModel.getAll()[1].id).toBe(4); + }); + +});
\ No newline at end of file |