summaryrefslogtreecommitdiffstats
path: root/js/build/tests/services/models/foldermodelSpec.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/build/tests/services/models/foldermodelSpec.js')
-rw-r--r--js/build/tests/services/models/foldermodelSpec.js140
1 files changed, 140 insertions, 0 deletions
diff --git a/js/build/tests/services/models/foldermodelSpec.js b/js/build/tests/services/models/foldermodelSpec.js
new file mode 100644
index 000000000..adcd4db47
--- /dev/null
+++ b/js/build/tests/services/models/foldermodelSpec.js
@@ -0,0 +1,140 @@
+// Generated by CoffeeScript 1.6.3
+/*
+
+ownCloud - News
+
+@author Bernhard Posselt
+@copyright 2012 Bernhard Posselt dev@bernhard-posselt.com
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+License as published by the Free Software Foundation; either
+version 3 of the License, or any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+
+You should have received a copy of the GNU Affero General Public
+License along with this library. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+
+(function() {
+ describe('FolderModel', function() {
+ var _this = this;
+ beforeEach(module('News'));
+ beforeEach(inject(function(FolderModel, _Model, _EqualQuery) {
+ _this.FolderModel = FolderModel;
+ _this._Model = _Model;
+ _this._EqualQuery = _EqualQuery;
+ }));
+ it('should extend model', function() {
+ return expect(_this.FolderModel instanceof _this._Model).toBeTruthy();
+ });
+ it('should add folders without id but name if they dont exist yet', function() {
+ var item, item1;
+ item = {
+ name: 'Hi'
+ };
+ _this.FolderModel.add(item);
+ item1 = {
+ name: 'His'
+ };
+ _this.FolderModel.add(item1);
+ expect(_this.FolderModel.getByName('hi')).toBe(item);
+ return expect(_this.FolderModel.size()).toBe(2);
+ });
+ it('should clear the fodername cache', function() {
+ var item;
+ item = {
+ name: 'Hi'
+ };
+ _this.FolderModel.add(item);
+ _this.FolderModel.clear();
+ expect(_this.FolderModel.getByName('hi')).toBe(void 0);
+ return expect(_this.FolderModel.size()).toBe(0);
+ });
+ it('should delete items from the fodername cache', function() {
+ var item;
+ item = {
+ id: 3,
+ name: 'Hi'
+ };
+ _this.FolderModel.add(item);
+ _this.FolderModel.removeById(3);
+ expect(_this.FolderModel.getByName('hi')).toBe(void 0);
+ return expect(_this.FolderModel.size()).toBe(0);
+ });
+ it('should update by foldername', function() {
+ var item, item2;
+ item = {
+ name: 'Hi'
+ };
+ _this.FolderModel.add(item);
+ item2 = {
+ name: 'hi',
+ test: 'hoho'
+ };
+ _this.FolderModel.add(item2);
+ expect(_this.FolderModel.getByName('hi').test).toBe('hoho');
+ return expect(_this.FolderModel.size()).toBe(1);
+ });
+ it('should update the id if an update comes in with an id', function() {
+ var item, item2;
+ item = {
+ name: 'Tony'
+ };
+ _this.FolderModel.add(item);
+ item2 = {
+ id: 3,
+ name: 'tony',
+ test: 'hoho'
+ };
+ _this.FolderModel.add(item2);
+ expect(_this.FolderModel.getByName('Tony').id).toBe(3);
+ expect(_this.FolderModel.getByName('Tony').test).toBe('hoho');
+ expect(_this.FolderModel.getById(3).id).toBe(3);
+ expect(_this.FolderModel.getById(3).test).toBe('hoho');
+ return expect(_this.FolderModel.size()).toBe(1);
+ });
+ it('should update normally', function() {
+ var item, item2;
+ item = {
+ id: 3,
+ name: 'His'
+ };
+ _this.FolderModel.add(item);
+ item2 = {
+ id: 3,
+ name: 'hobo',
+ test: 'hoho'
+ };
+ _this.FolderModel.add(item2);
+ expect(_this.FolderModel.getByName('His')).toBe(void 0);
+ expect(_this.FolderModel.getByName('Hobo').id).toBe(3);
+ expect(_this.FolderModel.getByName('Hobo').test).toBe('hoho');
+ expect(_this.FolderModel.getById(3).test).toBe('hoho');
+ return expect(_this.FolderModel.size()).toBe(1);
+ });
+ return it('should clear invalidate the query cache on adding folder with name', function() {
+ var item, item2, query;
+ item = {
+ name: 'name1',
+ test: 'hi'
+ };
+ query = new _this._EqualQuery('test', 'hi');
+ expect(_this.FolderModel.get(query).length).toBe(0);
+ _this.FolderModel.add(item, false);
+ expect(_this.FolderModel.get(query).length).toBe(0);
+ item2 = {
+ name: 'name',
+ test: 'hi'
+ };
+ _this.FolderModel.add(item2);
+ return expect(_this.FolderModel.get(query).length).toBe(2);
+ });
+ });
+
+}).call(this);