From 2ca5b1aa1f9961948be2b1dbc1694203e6392f79 Mon Sep 17 00:00:00 2001 From: Tom Needham Date: Wed, 21 Oct 2015 10:00:29 +0000 Subject: [PATCH 1/3] Add test for remote share info tooltop --- core/js/tests/specs/sharedialogviewSpec.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/core/js/tests/specs/sharedialogviewSpec.js b/core/js/tests/specs/sharedialogviewSpec.js index 55aa0541bd0..db34d55ebd7 100644 --- a/core/js/tests/specs/sharedialogviewSpec.js +++ b/core/js/tests/specs/sharedialogviewSpec.js @@ -676,5 +676,21 @@ describe('OC.Share.ShareDialogView', function() { }); }); }); + describe('remote sharing', function() { + it('shows remote share info when allows', function() { + configModel.set({ + isRemoteShareAllowed: true + }); + dialog.render(); + expect(dialog.$el.find('.shareWithRemoteInfo').length).toEqual(1); + }); + it('does not show remote share info when not allowed', function() { + configModel.set({ + isRemoteShareAllowed: false + }); + dialog.render(); + expect(dialog.$el.find('.shareWithRemoteInfo').length).toEqual(0); + }); + }); }); From 8a6d22d7514ffebc01c7c96513042c9ec3573334 Mon Sep 17 00:00:00 2001 From: Tom Needham Date: Wed, 21 Oct 2015 12:46:08 +0000 Subject: [PATCH 2/3] Add JS tests for share autocompletion handling --- core/js/tests/specs/sharedialogviewSpec.js | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/core/js/tests/specs/sharedialogviewSpec.js b/core/js/tests/specs/sharedialogviewSpec.js index db34d55ebd7..ba5954c5d8e 100644 --- a/core/js/tests/specs/sharedialogviewSpec.js +++ b/core/js/tests/specs/sharedialogviewSpec.js @@ -692,5 +692,61 @@ describe('OC.Share.ShareDialogView', function() { expect(dialog.$el.find('.shareWithRemoteInfo').length).toEqual(0); }); }); + describe('autocompeltion of users', function() { + it('triggers autocomplete display and focus with data when ajax search succeeds', function () { + dialog.render(); + var response = sinon.stub(); + dialog.autocompleteHandler({term: 'bob'}, response); + var jsonData = JSON.stringify({ + "data": [{"label": "bob", "value": {"shareType": 0, "shareWith": "test"}}], + "status": "success" + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + expect(response.calledWithExactly(JSON.parse(jsonData).data)).toEqual(true); + expect(autocompleteStub.calledWith("option", "autoFocus", true)).toEqual(true); + }); + + it('gracefully handles successful ajax call with failure content', function () { + dialog.render(); + var response = sinon.stub(); + dialog.autocompleteHandler({term: 'bob'}, response); + var jsonData = JSON.stringify({"status": "failure"}); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + expect(response.calledWithExactly()).toEqual(true); + }); + + it('throws a notification when the ajax search lookup fails', function () { + notificationStub = sinon.stub(OC.Notification, 'show'); + dialog.render(); + dialog.autocompleteHandler({term: 'bob'}, sinon.stub()); + fakeServer.requests[0].respond(500); + expect(notificationStub.calledOnce).toEqual(true); + notificationStub.restore(); + }); + + describe('renders the autocomplete elements', function() { + it('renders a group element', function() { + dialog.render(); + var el = dialog.autocompleteRenderItem($(""), {label: "1", value: { shareType: OC.Share.SHARE_TYPE_GROUP }}); + expect(el.is('li')).toEqual(true); + expect(el.hasClass('group')).toEqual(true); + }); + + it('renders a remote element', function() { + dialog.render(); + var el = dialog.autocompleteRenderItem($(""), {label: "1", value: { shareType: OC.Share.SHARE_TYPE_REMOTE }}); + expect(el.is('li')).toEqual(true); + expect(el.hasClass('user')).toEqual(true); + }); + }); + }); }); From e3ae453ee5af1f6e3cce3523ded727ba9a0cfcbc Mon Sep 17 00:00:00 2001 From: Tom Needham Date: Wed, 21 Oct 2015 13:30:42 +0000 Subject: [PATCH 3/3] Fix line lengths in share dialog unit tests --- core/js/tests/specs/sharedialogviewSpec.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/core/js/tests/specs/sharedialogviewSpec.js b/core/js/tests/specs/sharedialogviewSpec.js index ba5954c5d8e..0117f517d4c 100644 --- a/core/js/tests/specs/sharedialogviewSpec.js +++ b/core/js/tests/specs/sharedialogviewSpec.js @@ -735,14 +735,20 @@ describe('OC.Share.ShareDialogView', function() { describe('renders the autocomplete elements', function() { it('renders a group element', function() { dialog.render(); - var el = dialog.autocompleteRenderItem($("
    "), {label: "1", value: { shareType: OC.Share.SHARE_TYPE_GROUP }}); + var el = dialog.autocompleteRenderItem( + $("
      "), + {label: "1", value: { shareType: OC.Share.SHARE_TYPE_GROUP }} + ); expect(el.is('li')).toEqual(true); expect(el.hasClass('group')).toEqual(true); }); it('renders a remote element', function() { dialog.render(); - var el = dialog.autocompleteRenderItem($("
        "), {label: "1", value: { shareType: OC.Share.SHARE_TYPE_REMOTE }}); + var el = dialog.autocompleteRenderItem( + $("
          "), + {label: "1", value: { shareType: OC.Share.SHARE_TYPE_REMOTE }} + ); expect(el.is('li')).toEqual(true); expect(el.hasClass('user')).toEqual(true); });