summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/tests/js
diff options
context:
space:
mode:
authorBjoern Schiessle <bjoern@schiessle.org>2016-07-12 18:48:00 +0200
committerBjoern Schiessle <bjoern@schiessle.org>2016-07-14 16:39:48 +0200
commit5bbba490c4444f7977e7ad0ce4266acbd67eee86 (patch)
treed9b9ebe78d82ba03c6be37e93be437b55efdfc5a /apps/files_sharing/tests/js
parent2f23054b0126ec3497a7b632ff2399f6f3843a0f (diff)
downloadnextcloud-server-5bbba490c4444f7977e7ad0ce4266acbd67eee86.tar.gz
nextcloud-server-5bbba490c4444f7977e7ad0ce4266acbd67eee86.zip
move some stuff over to the federatedfilesharing app
Diffstat (limited to 'apps/files_sharing/tests/js')
-rw-r--r--apps/files_sharing/tests/js/externalSpec.js245
1 files changed, 0 insertions, 245 deletions
diff --git a/apps/files_sharing/tests/js/externalSpec.js b/apps/files_sharing/tests/js/externalSpec.js
deleted file mode 100644
index 362df49252b..00000000000
--- a/apps/files_sharing/tests/js/externalSpec.js
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Copyright (c) 2015 Vincent Petry <pvince81@owncloud.com>
- *
- * This file is licensed under the Affero General Public License version 3
- * or later.
- *
- * See the COPYING-README file.
- *
- */
-
-describe('OCA.Sharing external tests', function() {
- var plugin;
- var urlQueryStub;
- var promptDialogStub;
- var confirmDialogStub;
-
- function dummyShowDialog() {
- var deferred = $.Deferred();
- deferred.resolve();
- return deferred.promise();
- }
-
- beforeEach(function() {
- plugin = OCA.Sharing.ExternalShareDialogPlugin;
- urlQueryStub = sinon.stub(OC.Util.History, 'parseUrlQuery');
-
- confirmDialogStub = sinon.stub(OC.dialogs, 'confirm', dummyShowDialog);
- promptDialogStub = sinon.stub(OC.dialogs, 'prompt', dummyShowDialog);
-
- plugin.filesApp = {
- fileList: {
- reload: sinon.stub()
- }
- };
- });
- afterEach(function() {
- urlQueryStub.restore();
- confirmDialogStub.restore();
- promptDialogStub.restore();
- plugin = null;
- });
- describe('confirmation dialog from URL', function() {
- var testShare;
-
- /**
- * Checks that the server call's query matches what is
- * expected.
- *
- * @param {Object} expectedQuery expected query params
- */
- function checkRequest(expectedQuery) {
- var request = fakeServer.requests[0];
- var query = OC.parseQueryString(request.requestBody);
- expect(request.method).toEqual('POST');
- expect(query).toEqual(expectedQuery);
-
- request.respond(
- 200,
- {'Content-Type': 'application/json'},
- JSON.stringify({status: 'success'})
- );
- expect(plugin.filesApp.fileList.reload.calledOnce).toEqual(true);
- }
-
- beforeEach(function() {
- testShare = {
- remote: 'http://example.com/owncloud',
- token: 'abcdefg',
- owner: 'theowner',
- ownerDisplayName: 'The Generous Owner',
- name: 'the share name'
- };
- });
- it('does nothing when no share was passed in URL', function() {
- urlQueryStub.returns({});
- plugin.processIncomingShareFromUrl();
- expect(promptDialogStub.notCalled).toEqual(true);
- expect(confirmDialogStub.notCalled).toEqual(true);
- expect(fakeServer.requests.length).toEqual(0);
- });
- it('sends share info to server on confirm', function() {
- urlQueryStub.returns(testShare);
- plugin.processIncomingShareFromUrl();
- expect(promptDialogStub.notCalled).toEqual(true);
- expect(confirmDialogStub.calledOnce).toEqual(true);
- confirmDialogStub.getCall(0).args[2](true);
- expect(fakeServer.requests.length).toEqual(1);
- checkRequest({
- remote: 'http://example.com/owncloud',
- token: 'abcdefg',
- owner: 'theowner',
- ownerDisplayName: 'The Generous Owner',
- name: 'the share name',
- password: ''
- });
- });
- it('sends share info with password to server on confirm', function() {
- testShare = _.extend(testShare, {protected: 1});
- urlQueryStub.returns(testShare);
- plugin.processIncomingShareFromUrl();
- expect(promptDialogStub.calledOnce).toEqual(true);
- expect(confirmDialogStub.notCalled).toEqual(true);
- promptDialogStub.getCall(0).args[2](true, 'thepassword');
- expect(fakeServer.requests.length).toEqual(1);
- checkRequest({
- remote: 'http://example.com/owncloud',
- token: 'abcdefg',
- owner: 'theowner',
- ownerDisplayName: 'The Generous Owner',
- name: 'the share name',
- password: 'thepassword'
- });
- });
- it('does not send share info on cancel', function() {
- urlQueryStub.returns(testShare);
- plugin.processIncomingShareFromUrl();
- expect(promptDialogStub.notCalled).toEqual(true);
- expect(confirmDialogStub.calledOnce).toEqual(true);
- confirmDialogStub.getCall(0).args[2](false);
- expect(fakeServer.requests.length).toEqual(0);
- });
- });
- describe('show dialog for each share to confirm', function() {
- var testShare;
-
- /**
- * Call processSharesToConfirm() and make the fake server
- * return the passed response.
- *
- * @param {Array} response list of shares to process
- */
- function processShares(response) {
- plugin.processSharesToConfirm();
-
- expect(fakeServer.requests.length).toEqual(1);
-
- var req = fakeServer.requests[0];
- expect(req.method).toEqual('GET');
- expect(req.url).toEqual(OC.webroot + '/index.php/apps/files_sharing/api/externalShares');
-
- req.respond(
- 200,
- {'Content-Type': 'application/json'},
- JSON.stringify(response)
- );
- }
-
- beforeEach(function() {
- testShare = {
- id: 123,
- remote: 'http://example.com/owncloud',
- token: 'abcdefg',
- owner: 'theowner',
- ownerDisplayName: 'The Generous Owner',
- name: 'the share name'
- };
- });
-
- it('does not show any dialog if no shares to confirm', function() {
- processShares([]);
- expect(confirmDialogStub.notCalled).toEqual(true);
- expect(promptDialogStub.notCalled).toEqual(true);
- });
- it('sends accept info to server on confirm', function() {
- processShares([testShare]);
-
- expect(promptDialogStub.notCalled).toEqual(true);
- expect(confirmDialogStub.calledOnce).toEqual(true);
-
- confirmDialogStub.getCall(0).args[2](true);
-
- expect(fakeServer.requests.length).toEqual(2);
-
- var request = fakeServer.requests[1];
- var query = OC.parseQueryString(request.requestBody);
- expect(request.method).toEqual('POST');
- expect(query).toEqual({id: '123'});
- expect(request.url).toEqual(
- OC.webroot + '/index.php/apps/files_sharing/api/externalShares'
- );
-
- expect(plugin.filesApp.fileList.reload.notCalled).toEqual(true);
- request.respond(
- 200,
- {'Content-Type': 'application/json'},
- JSON.stringify({status: 'success'})
- );
- expect(plugin.filesApp.fileList.reload.calledOnce).toEqual(true);
- });
- it('sends delete info to server on cancel', function() {
- processShares([testShare]);
-
- expect(promptDialogStub.notCalled).toEqual(true);
- expect(confirmDialogStub.calledOnce).toEqual(true);
-
- confirmDialogStub.getCall(0).args[2](false);
-
- expect(fakeServer.requests.length).toEqual(2);
-
- var request = fakeServer.requests[1];
- expect(request.method).toEqual('DELETE');
- expect(request.url).toEqual(
- OC.webroot + '/index.php/apps/files_sharing/api/externalShares/123'
- );
-
- expect(plugin.filesApp.fileList.reload.notCalled).toEqual(true);
- request.respond(
- 200,
- {'Content-Type': 'application/json'},
- JSON.stringify({status: 'success'})
- );
- expect(plugin.filesApp.fileList.reload.notCalled).toEqual(true);
- });
- xit('shows another dialog when multiple shares need to be accepted', function() {
- // TODO: enable this test when fixing multiple dialogs issue / confirm loop
- var testShare2 = _.extend({}, testShare);
- testShare2.id = 256;
- processShares([testShare, testShare2]);
-
- // confirm first one
- expect(confirmDialogStub.calledOnce).toEqual(true);
- confirmDialogStub.getCall(0).args[2](true);
-
- // next dialog not shown yet
- expect(confirmDialogStub.calledOnce);
-
- // respond to the first accept request
- fakeServer.requests[1].respond(
- 200,
- {'Content-Type': 'application/json'},
- JSON.stringify({status: 'success'})
- );
-
- // don't reload yet, there are other shares to confirm
- expect(plugin.filesApp.fileList.reload.notCalled).toEqual(true);
-
- // cancel second share
- expect(confirmDialogStub.calledTwice).toEqual(true);
- confirmDialogStub.getCall(1).args[2](true);
-
- // reload only called at the very end
- expect(plugin.filesApp.fileList.reload.calledOnce).toEqual(true);
- });
- });
-});