aboutsummaryrefslogtreecommitdiffstats
path: root/settings/tests
diff options
context:
space:
mode:
Diffstat (limited to 'settings/tests')
-rw-r--r--settings/tests/js/appsSpec.js245
-rw-r--r--settings/tests/js/users/deleteHandlerSpec.js206
2 files changed, 0 insertions, 451 deletions
diff --git a/settings/tests/js/appsSpec.js b/settings/tests/js/appsSpec.js
deleted file mode 100644
index d2ca1fb5c8b..00000000000
--- a/settings/tests/js/appsSpec.js
+++ /dev/null
@@ -1,245 +0,0 @@
-/**
-* ownCloud
-*
-* @author Vincent Petry
-* @copyright 2015 Vincent Petry <pvince81@owncloud.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/>.
-*
-*/
-
-describe('OC.Settings.Apps tests', function() {
- var Apps;
-
- beforeEach(function() {
- var $el = $('<div id="apps-list"></div>' +
- '<div id="apps-list-empty" class="hidden"></div>' +
- '<div id="app-template">' +
- // dummy template for testing
- '<div id="app-{{id}}" data-id="{{id}}" class="section">{{name}}</div>' +
- '</div>'
- );
- $('#testArea').append($el);
-
- Apps = OC.Settings.Apps;
- });
- afterEach(function() {
- Apps.State.apps = null;
- Apps.State.currentCategory = null;
- });
-
- describe('Filtering apps', function() {
- var oldApps;
-
- function loadApps(appList) {
- Apps.State.apps = appList;
-
- _.each(appList, function(appSpec) {
- Apps.renderApp(appSpec);
- });
- }
-
- function getResultsFromDom() {
- var results = [];
- $('#apps-list .section:not(.hidden)').each(function() {
- results.push($(this).attr('data-id'));
- });
- return results;
- }
-
- beforeEach(function() {
- loadApps([
- {id: 'appone', name: 'App One', description: 'The first app', author: 'author1', level: 200},
- {id: 'apptwo', name: 'App Two', description: 'The second app', author: 'author2', level: 100},
- {id: 'appthree', name: 'App Three', description: 'Third app', author: 'author3', level: 0},
- {id: 'somestuff', name: 'Some Stuff', description: 'whatever', author: 'author4', level: 0}
- ]);
- });
-
- it('returns no results when query does not match anything', function() {
- expect(getResultsFromDom().length).toEqual(4);
- expect($('#apps-list:not(.hidden)').length).toEqual(1);
- expect($('#apps-list-empty:not(.hidden)').length).toEqual(0);
-
- Apps.filter('absurdity');
- expect(getResultsFromDom().length).toEqual(0);
- expect($('#apps-list:not(.hidden)').length).toEqual(0);
- expect($('#apps-list-empty:not(.hidden)').length).toEqual(1);
-
- Apps.filter('');
- expect(getResultsFromDom().length).toEqual(4);
- expect($('#apps-list:not(.hidden)').length).toEqual(1);
- expect($('#apps-list-empty:not(.hidden)').length).toEqual(0);
- expect(getResultsFromDom().length).toEqual(4);
- });
- it('returns relevant results when query matches name', function() {
- expect($('#apps-list:not(.hidden)').length).toEqual(1);
- expect($('#apps-list-empty:not(.hidden)').length).toEqual(0);
-
- var results;
- Apps.filter('app');
- results = getResultsFromDom();
- expect(results.length).toEqual(3);
- expect(results[0]).toEqual('appone');
- expect(results[1]).toEqual('apptwo');
- expect(results[2]).toEqual('appthree');
-
- expect($('#apps-list:not(.hidden)').length).toEqual(1);
- expect($('#apps-list-empty:not(.hidden)').length).toEqual(0);
- });
- it('returns relevant result when query matches name', function() {
- var results;
- Apps.filter('TWO');
- results = getResultsFromDom();
- expect(results.length).toEqual(1);
- expect(results[0]).toEqual('apptwo');
- });
- it('returns relevant result when query matches description', function() {
- var results;
- Apps.filter('ever');
- results = getResultsFromDom();
- expect(results.length).toEqual(1);
- expect(results[0]).toEqual('somestuff');
- });
- it('returns relevant results when query matches author name', function() {
- var results;
- Apps.filter('author');
- results = getResultsFromDom();
- expect(results.length).toEqual(4);
- expect(results[0]).toEqual('appone');
- expect(results[1]).toEqual('apptwo');
- expect(results[2]).toEqual('appthree');
- expect(results[3]).toEqual('somestuff');
- });
- it('returns relevant result when query matches author name', function() {
- var results;
- Apps.filter('thor3');
- results = getResultsFromDom();
- expect(results.length).toEqual(1);
- expect(results[0]).toEqual('appthree');
- });
- it('returns relevant result when query matches level name', function() {
- var results;
- Apps.filter('Offic');
- results = getResultsFromDom();
- expect(results.length).toEqual(1);
- expect(results[0]).toEqual('appone');
- });
- it('returns relevant result when query matches level name', function() {
- var results;
- Apps.filter('Appro');
- results = getResultsFromDom();
- expect(results.length).toEqual(1);
- expect(results[0]).toEqual('apptwo');
- });
- it('returns relevant result when query matches level name', function() {
- var results;
- Apps.filter('Exper');
- results = getResultsFromDom();
- expect(results.length).toEqual(2);
- expect(results[0]).toEqual('appthree');
- expect(results[1]).toEqual('somestuff');
- });
- });
-
- describe('loading categories', function() {
- var suite = this;
-
- beforeEach( function(){
- suite.server = sinon.fakeServer.create();
- });
-
- afterEach( function(){
- suite.server.restore();
- });
-
- function getResultsFromDom() {
- var results = [];
- $('#apps-list .section:not(.hidden)').each(function() {
- results.push($(this).attr('data-id'));
- });
- return results;
- }
-
- it('sorts all applications using the level', function() {
- Apps.loadCategory('TestId');
-
- suite.server.requests[0].respond(
- 200,
- {
- 'Content-Type': 'application/json'
- },
- JSON.stringify({
- apps: [
- {
- id: 'foo',
- name: 'Foo app',
- level: 0
- },
- {
- id: 'alpha',
- name: 'Alpha app',
- level: 300
- },
- {
- id: 'nolevel',
- name: 'No level'
- },
- {
- id: 'zork',
- name: 'Some famous adventure game',
- level: 200
- },
- {
- id: 'delta',
- name: 'Mathematical symbol',
- level: 200
- }
- ]
- })
- );
-
- var results = getResultsFromDom();
- expect(results.length).toEqual(5);
- expect(results).toEqual(['alpha', 'delta', 'zork', 'foo', 'nolevel']);
- expect(OC.Settings.Apps.State.apps).toEqual({
- 'foo': {
- id: 'foo',
- name: 'Foo app',
- level: 0
- },
- 'alpha': {
- id: 'alpha',
- name: 'Alpha app',
- level: 300
- },
- 'nolevel': {
- id: 'nolevel',
- name: 'No level'
- },
- 'zork': {
- id: 'zork',
- name: 'Some famous adventure game',
- level: 200
- },
- 'delta': {
- id: 'delta',
- name: 'Mathematical symbol',
- level: 200
- }
- });
- });
- });
-
-});
diff --git a/settings/tests/js/users/deleteHandlerSpec.js b/settings/tests/js/users/deleteHandlerSpec.js
deleted file mode 100644
index 371eae5941d..00000000000
--- a/settings/tests/js/users/deleteHandlerSpec.js
+++ /dev/null
@@ -1,206 +0,0 @@
-/**
-* ownCloud
-*
-* @author Vincent Petry
-* @copyright 2014 Vincent Petry <pvince81@owncloud.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/>.
-*
-*/
-
-describe('DeleteHandler tests', function() {
- var showNotificationSpy;
- var hideNotificationSpy;
- var clock;
- var removeCallback;
- var markCallback;
- var undoCallback;
-
- function init(markCallback, removeCallback, undoCallback) {
- var handler = new DeleteHandler('dummyendpoint.php', 'paramid', markCallback, removeCallback);
- handler.setNotification(OC.Notification, 'dataid', 'removed %oid entry', undoCallback);
- return handler;
- }
-
- beforeEach(function() {
- showNotificationSpy = sinon.spy(OC.Notification, 'showHtml');
- hideNotificationSpy = sinon.spy(OC.Notification, 'hide');
- clock = sinon.useFakeTimers();
- removeCallback = sinon.stub();
- markCallback = sinon.stub();
- undoCallback = sinon.stub();
-
- $('#testArea').append('<div id="notification"></div>');
- });
- afterEach(function() {
- showNotificationSpy.restore();
- hideNotificationSpy.restore();
- clock.restore();
- });
- it('shows a notification when marking for delete', function() {
- var handler = init(markCallback, removeCallback, undoCallback);
- handler.mark('some_uid');
-
- expect(showNotificationSpy.calledOnce).toEqual(true);
- expect(showNotificationSpy.getCall(0).args[0]).toEqual('removed some_uid entry');
-
- expect(markCallback.calledOnce).toEqual(true);
- expect(markCallback.getCall(0).args[0]).toEqual('some_uid');
- expect(removeCallback.notCalled).toEqual(true);
- expect(undoCallback.notCalled).toEqual(true);
-
- expect(fakeServer.requests.length).toEqual(0);
- });
- it('deletes first entry and reshows notification on second delete', function() {
- fakeServer.respondWith(/\/index\.php\/dummyendpoint.php\/some_uid/, [
- 204,
- { 'Content-Type': 'application/json' },
- JSON.stringify({status: 'success'})
- ]);
- fakeServer.respondWith(/\/index\.php\/dummyendpoint.php\/some_other_uid/, [
- 204,
- { 'Content-Type': 'application/json' },
- JSON.stringify({status: 'success'})
- ]);
-
- var handler = init(markCallback, removeCallback, undoCallback);
- handler.mark('some_uid');
-
- expect(showNotificationSpy.calledOnce).toEqual(true);
- expect(showNotificationSpy.getCall(0).args[0]).toEqual('removed some_uid entry');
- showNotificationSpy.reset();
-
- handler.mark('some_other_uid');
-
- expect(hideNotificationSpy.calledOnce).toEqual(true);
- expect(showNotificationSpy.calledOnce).toEqual(true);
- expect(showNotificationSpy.getCall(0).args[0]).toEqual('removed some_other_uid entry');
-
- expect(markCallback.calledTwice).toEqual(true);
- expect(markCallback.getCall(0).args[0]).toEqual('some_uid');
- expect(markCallback.getCall(1).args[0]).toEqual('some_other_uid');
- // called only once, because it is called once the second user is deleted
- expect(removeCallback.calledOnce).toEqual(true);
- expect(undoCallback.notCalled).toEqual(true);
-
- // previous one was delete
- expect(fakeServer.requests.length).toEqual(1);
- var request = fakeServer.requests[0];
- expect(request.url).toEqual(OC.webroot + '/index.php/dummyendpoint.php/some_uid');
- });
- it('automatically deletes after timeout', function() {
- fakeServer.respondWith(/\/index\.php\/dummyendpoint.php\/some_uid/, [
- 204,
- { 'Content-Type': 'application/json' },
- JSON.stringify({status: 'success'})
- ]);
-
- var handler = init(markCallback, removeCallback, undoCallback);
- handler.mark('some_uid');
-
- clock.tick(5000);
- // nothing happens yet
- expect(fakeServer.requests.length).toEqual(0);
-
- clock.tick(3000);
- expect(fakeServer.requests.length).toEqual(1);
- var request = fakeServer.requests[0];
- expect(request.url).toEqual(OC.webroot + '/index.php/dummyendpoint.php/some_uid');
- });
- it('deletes when deleteEntry is called', function() {
- fakeServer.respondWith(/\/index\.php\/dummyendpoint.php\/some_uid/, [
- 200,
- { 'Content-Type': 'application/json' },
- JSON.stringify({status: 'success'})
- ]);
- var handler = init(markCallback, removeCallback, undoCallback);
- handler.mark('some_uid');
-
- handler.deleteEntry();
- expect(fakeServer.requests.length).toEqual(1);
- var request = fakeServer.requests[0];
- expect(request.url).toEqual(OC.webroot + '/index.php/dummyendpoint.php/some_uid');
- });
- it('cancels deletion when undo is clicked', function() {
- var handler = init(markCallback, removeCallback, undoCallback);
- handler.setNotification(OC.Notification, 'dataid', 'removed %oid entry <span class="undo">Undo</span>', undoCallback);
- handler.mark('some_uid');
- $('#notification .undo').click();
-
- expect(undoCallback.calledOnce).toEqual(true);
-
- // timer was cancelled
- clock.tick(10000);
- expect(fakeServer.requests.length).toEqual(0);
- });
- it('cancels deletion when cancel method is called', function() {
- var handler = init(markCallback, removeCallback, undoCallback);
- handler.setNotification(OC.Notification, 'dataid', 'removed %oid entry <span class="undo">Undo</span>', undoCallback);
- handler.mark('some_uid');
- handler.cancel();
-
- // not sure why, seems to be by design
- expect(undoCallback.notCalled).toEqual(true);
-
- // timer was cancelled
- clock.tick(10000);
- expect(fakeServer.requests.length).toEqual(0);
- });
- it('calls removeCallback after successful server side deletion', function() {
- fakeServer.respondWith(/\/index\.php\/dummyendpoint.php\/some_uid/, [
- 200,
- { 'Content-Type': 'application/json' },
- JSON.stringify({status: 'success'})
- ]);
-
- var handler = init(markCallback, removeCallback, undoCallback);
- handler.mark('some_uid');
- handler.deleteEntry();
-
- expect(fakeServer.requests.length).toEqual(1);
- var request = fakeServer.requests[0];
- var query = OC.parseQueryString(request.requestBody);
-
- expect(removeCallback.calledOnce).toEqual(true);
- expect(undoCallback.notCalled).toEqual(true);
- expect(removeCallback.getCall(0).args[0]).toEqual('some_uid');
- });
- it('calls undoCallback and shows alert after failed server side deletion', function() {
- // stub t to avoid extra calls
- var tStub = sinon.stub(window, 't').returns('text');
- fakeServer.respondWith(/\/index\.php\/dummyendpoint.php\/some_uid/, [
- 403,
- { 'Content-Type': 'application/json' },
- JSON.stringify({status: 'error', data: {message: 'test error'}})
- ]);
-
- var alertDialogStub = sinon.stub(OC.dialogs, 'alert');
- var handler = init(markCallback, removeCallback, undoCallback);
- handler.mark('some_uid');
- handler.deleteEntry();
-
- expect(fakeServer.requests.length).toEqual(1);
- var request = fakeServer.requests[0];
- var query = OC.parseQueryString(request.requestBody);
-
- expect(removeCallback.notCalled).toEqual(true);
- expect(undoCallback.calledOnce).toEqual(true);
- expect(undoCallback.getCall(0).args[0]).toEqual('some_uid');
-
- expect(alertDialogStub.calledOnce);
-
- alertDialogStub.restore();
- tStub.restore();
- });
-});