summaryrefslogtreecommitdiffstats
path: root/js-old/tests/unit/service/FolderResourceSpec.js
diff options
context:
space:
mode:
Diffstat (limited to 'js-old/tests/unit/service/FolderResourceSpec.js')
-rw-r--r--js-old/tests/unit/service/FolderResourceSpec.js148
1 files changed, 148 insertions, 0 deletions
diff --git a/js-old/tests/unit/service/FolderResourceSpec.js b/js-old/tests/unit/service/FolderResourceSpec.js
new file mode 100644
index 000000000..f38fef7cf
--- /dev/null
+++ b/js-old/tests/unit/service/FolderResourceSpec.js
@@ -0,0 +1,148 @@
+/**
+ * Nextcloud - 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('FolderResource', function () {
+ 'use strict';
+
+ var resource,
+ http;
+
+ beforeEach(module('News', function ($provide) {
+ $provide.value('BASE_URL', 'base');
+ }));
+
+ afterEach(function () {
+ http.verifyNoOutstandingExpectation();
+ http.verifyNoOutstandingRequest();
+ });
+
+
+ beforeEach(inject(function (FolderResource, $httpBackend) {
+ resource = FolderResource;
+ http = $httpBackend;
+ FolderResource.receive([
+ {id: 1, name: 'ye'},
+ {id: 2, name: 'SYE'},
+ {id: 3, name: 'hore', opened: true}
+ ]);
+ }));
+
+
+ it ('should delete a folder', inject(function (FolderResource) {
+ FolderResource.delete('ye');
+ expect(FolderResource.size()).toBe(2);
+ expect(FolderResource.get('ye')).toBe(undefined);
+ }));
+
+
+ it ('should rename a folder', inject(function (FolderResource) {
+ http.expectPOST('base/folders/1/rename', {
+ folderName: 'heho'
+ }).respond(200, {});
+
+ FolderResource.rename('ye', 'heho');
+
+ http.flush();
+
+ expect(FolderResource.get('heho').id).toBe(1);
+ }));
+
+
+ it ('should handle a folderrename error', inject(function (FolderResource) {
+ http.expectPOST('base/folders/1/rename', {
+ folderName: 'heho'
+ }).respond(400, {});
+
+ FolderResource.rename('ye', 'heho');
+
+ http.flush();
+
+ expect(FolderResource.get('ye').id).toBe(1);
+ }));
+
+
+ it ('should open a folder', inject(function (FolderResource) {
+ http.expectPOST('base/folders/3/open', {
+ folderId: 3,
+ open: false,
+ }).respond(200, {});
+
+ FolderResource.toggleOpen('hore');
+
+ http.flush();
+
+ expect(FolderResource.get('hore').opened).toBe(false);
+ }));
+
+
+ it ('should create a folder', inject(function (FolderResource) {
+ http.expectPOST('base/folders', {
+ folderName: 'hey'
+ }).respond(200, {});
+
+ FolderResource.create(' hey ');
+
+ http.flush();
+
+ expect(FolderResource.size()).toBe(4);
+ }));
+
+
+ it ('should set a folder error message', inject(function (FolderResource) {
+ http.expectPOST('base/folders', {
+ folderName: 'hey'
+ }).respond(400, {message: 'carramba'});
+
+ FolderResource.create('hey');
+
+ http.flush();
+
+ expect(FolderResource.get('hey').error).toBe('carramba');
+ }));
+
+
+ it ('should reversibly delete a folder', inject(function (FolderResource) {
+ http.expectDELETE('base/folders/1').respond(200, {});
+
+ 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('ye');
+
+ http.flush();
+
+ expect(FolderResource.get('ye').deleted).toBe(false);
+ }));
+
+
+ it ('should get a folder by id', inject(function (FolderResource) {
+ expect(FolderResource.getById(1).name).toBe('ye');
+ }));
+
+
+ it ('should delete a folder and its id cache', inject(
+ function (FolderResource) {
+ FolderResource.delete('ye');
+ expect(FolderResource.getById(1)).toBe(undefined);
+ }));
+});