diff options
Diffstat (limited to 'apps/files_sharing')
-rw-r--r-- | apps/files_sharing/appinfo/update.php | 11 | ||||
-rw-r--r-- | apps/files_sharing/js/sharedfilelist.js | 21 | ||||
-rw-r--r-- | apps/files_sharing/lib/Controller/ShareAPIController.php | 17 | ||||
-rw-r--r-- | apps/files_sharing/lib/External/Storage.php | 8 | ||||
-rw-r--r-- | apps/files_sharing/tests/MigrationTest.php | 252 | ||||
-rw-r--r-- | apps/files_sharing/tests/js/sharedfilelistSpec.js | 60 |
6 files changed, 78 insertions, 291 deletions
diff --git a/apps/files_sharing/appinfo/update.php b/apps/files_sharing/appinfo/update.php index 917cb7b6639..a83a0c7b5b8 100644 --- a/apps/files_sharing/appinfo/update.php +++ b/apps/files_sharing/appinfo/update.php @@ -24,17 +24,6 @@ use OCA\Files_Sharing\Migration; $installedVersion = \OC::$server->getConfig()->getAppValue('files_sharing', 'installed_version'); -// Migration OC8.2 -> OC9 -if (version_compare($installedVersion, '0.9.1', '<')) { - $m = new Migration(\OC::$server->getDatabaseConnection(), \OC::$server->getConfig()); - $m->removeReShares(); - $m->updateInitiatorInfo(); -} - -if (version_compare($installedVersion, '1.1.1', '<')) { - $m = new Migration(\OC::$server->getDatabaseConnection(), \OC::$server->getConfig()); -} - if (version_compare($installedVersion, '1.4.0', '<')) { $m = new Migration(\OC::$server->getDatabaseConnection(), \OC::$server->getConfig()); $m->addPasswordColumn(); diff --git a/apps/files_sharing/js/sharedfilelist.js b/apps/files_sharing/js/sharedfilelist.js index dccd6027b02..b11b302c6c2 100644 --- a/apps/files_sharing/js/sharedfilelist.js +++ b/apps/files_sharing/js/sharedfilelist.js @@ -56,7 +56,6 @@ if (options && options.linksOnly) { this._linksOnly = true; } - OC.Plugins.attach('OCA.Sharing.FileList', this); }, _renderRow: function() { @@ -83,7 +82,7 @@ // add row with expiration date for link only shares - influenced by _createRow of filelist if (this._linksOnly) { var expirationTimestamp = 0; - if(fileData.shares[0].expiration !== null) { + if(fileData.shares && fileData.shares[0].expiration !== null) { expirationTimestamp = moment(fileData.shares[0].expiration).valueOf(); } $tr.attr('data-expiration', expirationTimestamp); @@ -169,7 +168,8 @@ /* jshint camelcase: false */ data: { format: 'json', - shared_with_me: !!this._sharedWithUser + shared_with_me: !!this._sharedWithUser, + include_tags: true }, type: 'GET', beforeSend: function(xhr) { @@ -183,7 +183,8 @@ url: OC.linkToOCS('apps/files_sharing/api/v1') + 'remote_shares', /* jshint camelcase: false */ data: { - format: 'json' + format: 'json', + include_tags: true }, type: 'GET', beforeSend: function(xhr) { @@ -238,7 +239,8 @@ type: share.type, id: share.file_id, path: OC.dirname(share.mountpoint), - permissions: share.permissions + permissions: share.permissions, + tags: share.tags || [] }; file.shares = [{ @@ -276,7 +278,8 @@ var file = { id: share.file_source, icon: OC.MimeType.getIconUrl(share.mimetype), - mimetype: share.mimetype + mimetype: share.mimetype, + tags: share.tags || [] }; if (share.item_type === 'folder') { file.type = 'dir'; @@ -382,6 +385,12 @@ // Sort by expected sort comparator return files.sort(this._sortComparator); + }, + + _onUrlChanged: function(e) { + if (e && _.isString(e.dir)) { + this.changeDirectory(e.dir, false, true); + } } }); diff --git a/apps/files_sharing/lib/Controller/ShareAPIController.php b/apps/files_sharing/lib/Controller/ShareAPIController.php index bc525b6ef82..bd57d80dab0 100644 --- a/apps/files_sharing/lib/Controller/ShareAPIController.php +++ b/apps/files_sharing/lib/Controller/ShareAPIController.php @@ -23,6 +23,7 @@ */ namespace OCA\Files_Sharing\Controller; +use OCA\Files\Helper; use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\OCS\OCSBadRequestException; use OCP\AppFramework\OCS\OCSException; @@ -484,9 +485,10 @@ class ShareAPIController extends OCSController { /** * @param \OCP\Files\File|\OCP\Files\Folder $node + * @param boolean $includeTags * @return DataResponse */ - private function getSharedWithMe($node = null) { + private function getSharedWithMe($node = null, $includeTags) { $userShares = $this->shareManager->getSharedWith($this->currentUser, \OCP\Share::SHARE_TYPE_USER, $node, -1, 0); $groupShares = $this->shareManager->getSharedWith($this->currentUser, \OCP\Share::SHARE_TYPE_GROUP, $node, -1, 0); @@ -509,6 +511,10 @@ class ShareAPIController extends OCSController { } } + if ($includeTags) { + $formatted = Helper::populateTags($formatted, 'file_source'); + } + return new DataResponse($formatted); } @@ -572,7 +578,8 @@ class ShareAPIController extends OCSController { $shared_with_me = 'false', $reshares = 'false', $subfiles = 'false', - $path = null + $path = null, + $include_tags = 'false' ) { if ($path !== null) { @@ -588,7 +595,7 @@ class ShareAPIController extends OCSController { } if ($shared_with_me === 'true') { - $result = $this->getSharedWithMe($path); + $result = $this->getSharedWithMe($path, $include_tags); return $result; } @@ -634,6 +641,10 @@ class ShareAPIController extends OCSController { } } + if ($include_tags) { + $formatted = Helper::populateTags($formatted, 'file_source'); + } + return new DataResponse($formatted); } diff --git a/apps/files_sharing/lib/External/Storage.php b/apps/files_sharing/lib/External/Storage.php index 12ee3265c2a..b84ba5d96ab 100644 --- a/apps/files_sharing/lib/External/Storage.php +++ b/apps/files_sharing/lib/External/Storage.php @@ -206,16 +206,16 @@ class Storage extends DAV implements ISharedStorage { try { $this->getShareInfo(); } catch (NotFoundException $e) { - // a 404 can either mean that the share no longer exists or there is no ownCloud on the remote + // a 404 can either mean that the share no longer exists or there is no Nextcloud on the remote if ($this->testRemote()) { - // valid ownCloud instance means that the public share no longer exists + // valid Nextcloud instance means that the public share no longer exists // since this is permanent (re-sharing the file will create a new token) // we remove the invalid storage $this->manager->removeShare($this->mountPoint); $this->manager->getMountManager()->removeMount($this->mountPoint); throw new StorageInvalidException(); } else { - // ownCloud instance is gone, likely to be a temporary server configuration error + // Nextcloud instance is gone, likely to be a temporary server configuration error throw new StorageNotAvailableException(); } } catch (ForbiddenException $e) { @@ -284,7 +284,7 @@ class Storage extends DAV implements ISharedStorage { } /** - * Whether the remote is an ownCloud, used since some sharing features are not + * Whether the remote is an ownCloud/Nextcloud, used since some sharing features are not * standardized. Let's use this to detect whether to use it. * * @return bool diff --git a/apps/files_sharing/tests/MigrationTest.php b/apps/files_sharing/tests/MigrationTest.php index 708de1c0eca..c8dfefb96b4 100644 --- a/apps/files_sharing/tests/MigrationTest.php +++ b/apps/files_sharing/tests/MigrationTest.php @@ -68,198 +68,6 @@ class MigrationTest extends TestCase { $query->delete($this->table)->execute(); } - public function addDummyValues() { - $query = $this->connection->getQueryBuilder(); - $query->insert($this->table) - ->values( - array( - 'share_type' => $query->createParameter('share_type'), - 'share_with' => $query->createParameter('share_with'), - 'uid_owner' => $query->createParameter('uid_owner'), - 'uid_initiator' => $query->createParameter('uid_initiator'), - 'parent' => $query->createParameter('parent'), - 'item_type' => $query->createParameter('item_type'), - 'item_source' => $query->createParameter('item_source'), - 'item_target' => $query->createParameter('item_target'), - 'file_source' => $query->createParameter('file_source'), - 'file_target' => $query->createParameter('file_target'), - 'permissions' => $query->createParameter('permissions'), - 'stime' => $query->createParameter('stime'), - ) - ); - // shared contact, shouldn't be modified - $query->setParameter('share_type', Share::SHARE_TYPE_CONTACT) - ->setParameter('share_with', 'user1') - ->setParameter('uid_owner', 'owner1') - ->setParameter('uid_initiator', '') - ->setParameter('parent', null) - ->setParameter('item_type', 'contact') - ->setParameter('item_source', '2') - ->setParameter('item_target', '/2') - ->setParameter('file_source', null) - ->setParameter('file_target', null) - ->setParameter('permissions', 31) - ->setParameter('stime', time()); - $this->assertSame(1, - $query->execute() - ); - // shared calendar, shouldn't be modified - $query->setParameter('share_type', Share::SHARE_TYPE_USER) - ->setParameter('share_with', 'user1') - ->setParameter('uid_owner', 'owner1') - ->setParameter('uid_initiator', '') - ->setParameter('parent', null) - ->setParameter('item_type', 'calendar') - ->setParameter('item_source', '2') - ->setParameter('item_target', '/2') - ->setParameter('file_source', null) - ->setParameter('file_target', null) - ->setParameter('permissions', 31) - ->setParameter('stime', time()); - $this->assertSame(1, - $query->execute() - ); - // single user share, shouldn't be modified - $query->setParameter('share_type', Share::SHARE_TYPE_USER) - ->setParameter('share_with', 'user1') - ->setParameter('uid_owner', 'owner1') - ->setParameter('uid_initiator', '') - ->setParameter('parent', null) - ->setParameter('item_type', 'file') - ->setParameter('item_source', '2') - ->setParameter('item_target', '/2') - ->setParameter('file_source', 2) - ->setParameter('file_target', '/foo') - ->setParameter('permissions', 31) - ->setParameter('stime', time()); - $this->assertSame(1, - $query->execute() - ); - // single group share, shouldn't be modified - $query->setParameter('share_type', Share::SHARE_TYPE_GROUP) - ->setParameter('share_with', 'group1') - ->setParameter('uid_owner', 'owner1') - ->setParameter('uid_initiator', '') - ->setParameter('parent', null) - ->setParameter('item_type', 'file') - ->setParameter('item_source', '2') - ->setParameter('item_target', '/2') - ->setParameter('file_source', 2) - ->setParameter('file_target', '/foo') - ->setParameter('permissions', 31) - ->setParameter('stime', time()); - $this->assertSame(1, - $query->execute() - ); - $parent = $query->getLastInsertId(); - // unique target for group share, shouldn't be modified - $query->setParameter('share_type', 2) - ->setParameter('share_with', 'group1') - ->setParameter('uid_owner', 'owner1') - ->setParameter('uid_initiator', '') - ->setParameter('parent', $parent) - ->setParameter('item_type', 'file') - ->setParameter('item_source', '2') - ->setParameter('item_target', '/2') - ->setParameter('file_source', 2) - ->setParameter('file_target', '/foo renamed') - ->setParameter('permissions', 31) - ->setParameter('stime', time()); - $this->assertSame(1, - $query->execute() - ); - // first user share, shouldn't be modified - $query->setParameter('share_type', Share::SHARE_TYPE_USER) - ->setParameter('share_with', 'user1') - ->setParameter('uid_owner', 'owner2') - ->setParameter('uid_initiator', '') - ->setParameter('parent', null) - ->setParameter('item_type', 'file') - ->setParameter('item_source', '2') - ->setParameter('item_target', '/2') - ->setParameter('file_source', 2) - ->setParameter('file_target', '/foobar') - ->setParameter('permissions', 31) - ->setParameter('stime', time()); - $this->assertSame(1, - $query->execute() - ); - $parent = $query->getLastInsertId(); - // first re-share, should be attached to the first user share after migration - $query->setParameter('share_type', Share::SHARE_TYPE_USER) - ->setParameter('share_with', 'user2') - ->setParameter('uid_owner', 'user1') - ->setParameter('uid_initiator', '') - ->setParameter('parent', $parent) - ->setParameter('item_type', 'file') - ->setParameter('item_source', '2') - ->setParameter('item_target', '/2') - ->setParameter('file_source', 2) - ->setParameter('file_target', '/foobar') - ->setParameter('permissions', 31) - ->setParameter('stime', time()); - $this->assertSame(1, - $query->execute() - ); - $parent = $query->getLastInsertId(); - // second re-share, should be attached to the first user share after migration - $query->setParameter('share_type', Share::SHARE_TYPE_USER) - ->setParameter('share_with', 'user3') - ->setParameter('uid_owner', 'user2') - ->setParameter('uid_initiator', '') - ->setParameter('parent', $parent) - ->setParameter('item_type', 'file') - ->setParameter('item_source', '2') - ->setParameter('item_target', '/2') - ->setParameter('file_source', 2) - ->setParameter('file_target', '/foobar') - ->setParameter('permissions', 31) - ->setParameter('stime', time()); - $this->assertSame(1, - $query->execute() - ); - $parent = $query->getLastInsertId(); - // third re-share, should be attached to the first user share after migration - $query->setParameter('share_type', Share::SHARE_TYPE_REMOTE) - ->setParameter('share_with', 'user@server.com') - ->setParameter('uid_owner', 'user3') - ->setParameter('uid_initiator', '') - ->setParameter('parent', $parent) - ->setParameter('item_type', 'file') - ->setParameter('item_source', '2') - ->setParameter('item_target', '/2') - ->setParameter('file_source', 2) - ->setParameter('file_target', '/foobar') - ->setParameter('permissions', 31) - ->setParameter('stime', time()); - $this->assertSame(1, - $query->execute() - ); - - // Link reshare should keep its parent - $query->setParameter('share_type', Share::SHARE_TYPE_LINK) - ->setParameter('share_with', null) - ->setParameter('uid_owner', 'user3') - ->setParameter('uid_initiator', '') - ->setParameter('parent', $parent) - ->setParameter('item_type', 'file') - ->setParameter('item_source', '2') - ->setParameter('item_target', '/2') - ->setParameter('file_source', 2) - ->setParameter('file_target', '/foobar') - ->setParameter('permissions', 31) - ->setParameter('stime', time()); - $this->assertSame(1, - $query->execute() - ); - } - - public function testRemoveReShares() { - $this->addDummyValues(); - $this->migration->removeReShares(); - $this->verifyResult(); - } - public function verifyResult() { $query = $this->connection->getQueryBuilder(); $query->select('*')->from($this->table)->orderBy('id'); @@ -297,66 +105,6 @@ class MigrationTest extends TestCase { $this->assertSame($result[7]['id'], $result[9]['parent']); } - public function test1001DeepReshares() { - $parent = null; - for ($i = 0; $i < 1001; $i++) { - $query = $this->connection->getQueryBuilder(); - $query->insert($this->table) - ->values( - [ - 'share_type' => $query->createParameter('share_type'), - 'share_with' => $query->createParameter('share_with'), - 'uid_owner' => $query->createParameter('uid_owner'), - 'uid_initiator' => $query->createParameter('uid_initiator'), - 'parent' => $query->createParameter('parent'), - 'item_type' => $query->createParameter('item_type'), - 'item_source' => $query->createParameter('item_source'), - 'item_target' => $query->createParameter('item_target'), - 'file_source' => $query->createParameter('file_source'), - 'file_target' => $query->createParameter('file_target'), - 'permissions' => $query->createParameter('permissions'), - 'stime' => $query->createParameter('stime'), - ] - ) - ->setParameter('share_type', Share::SHARE_TYPE_USER) - ->setParameter('share_with', 'user'.($i+1)) - ->setParameter('uid_owner', 'user'.($i)) - ->setParameter('uid_initiator', null) - ->setParameter('parent', $parent) - ->setParameter('item_type', 'file') - ->setParameter('item_source', '2') - ->setParameter('item_target', '/2') - ->setParameter('file_source', 2) - ->setParameter('file_target', '/foobar') - ->setParameter('permissions', 31) - ->setParameter('stime', time()); - - $this->assertSame(1, $query->execute()); - $parent = $query->getLastInsertId(); - } - - $this->migration->removeReShares(); - $this->migration->updateInitiatorInfo(); - - $qb = $this->connection->getQueryBuilder(); - - $stmt = $qb->select('id', 'share_with', 'uid_owner', 'uid_initiator', 'parent') - ->from('share') - ->orderBy('id', 'asc') - ->execute(); - - $i = 0; - while($share = $stmt->fetch()) { - $this->assertEquals('user'.($i+1), $share['share_with']); - $this->assertEquals('user' . ($i), $share['uid_initiator']); - $this->assertEquals('user0', $share['uid_owner']); - $this->assertEquals(null, $share['parent']); - $i++; - } - $stmt->closeCursor(); - $this->assertEquals(1001, $i); - } - /** * test that we really remove the "shareapi_allow_mail_notification" setting only */ diff --git a/apps/files_sharing/tests/js/sharedfilelistSpec.js b/apps/files_sharing/tests/js/sharedfilelistSpec.js index f177b61c78a..3efbb8fcea3 100644 --- a/apps/files_sharing/tests/js/sharedfilelistSpec.js +++ b/apps/files_sharing/tests/js/sharedfilelistSpec.js @@ -48,6 +48,8 @@ describe('OCA.Sharing.FileList tests', function() { '<div id="emptycontent">Empty content message</div>' + '</div>' ); + + OC.Plugins.register('OCA.Files.FileList', OCA.Files.TagsPlugin); }); afterEach(function() { testFiles = undefined; @@ -93,6 +95,7 @@ describe('OCA.Sharing.FileList tests', function() { share_type: OC.Share.SHARE_TYPE_USER, share_with: 'user1', share_with_displayname: 'User One', + tags: [OC.TAG_FAVORITE], mimetype: 'text/plain', uid_owner: 'user2', displayname_owner: 'User Two' @@ -133,12 +136,12 @@ describe('OCA.Sharing.FileList tests', function() { expect(fakeServer.requests.length).toEqual(2); expect(fakeServer.requests[0].url).toEqual( OC.linkToOCS('apps/files_sharing/api/v1') + - 'shares?format=json&shared_with_me=true' + 'shares?format=json&shared_with_me=true&include_tags=true' ); expect(fakeServer.requests[1].url).toEqual( OC.linkToOCS('apps/files_sharing/api/v1') + - 'remote_shares?format=json' + 'remote_shares?format=json&include_tags=true' ); fakeServer.requests[0].respond( @@ -150,7 +153,7 @@ describe('OCA.Sharing.FileList tests', function() { fakeServer.requests[1].respond( 200, { 'Content-Type': 'application/json' }, - JSON.stringify(ocsResponseRemote) + JSON.stringify(ocsResponseRemote) ); var $rows = fileList.$el.find('tbody tr'); @@ -167,6 +170,8 @@ describe('OCA.Sharing.FileList tests', function() { expect($tr.attr('data-mtime')).toEqual('11111000'); expect($tr.attr('data-share-owner')).toEqual('User Two'); expect($tr.attr('data-share-id')).toEqual('7'); + expect($tr.attr('data-favorite')).toEqual('true'); + expect($tr.attr('data-tags')).toEqual(OC.TAG_FAVORITE); expect($tr.find('a.name').attr('href')).toEqual( OC.webroot + '/remote.php/webdav/local%20path/local%20name.txt' @@ -185,6 +190,8 @@ describe('OCA.Sharing.FileList tests', function() { expect($tr.attr('data-mtime')).toEqual('22222000'); expect($tr.attr('data-share-owner')).toEqual('user3@foo.bar/'); expect($tr.attr('data-share-id')).toEqual('8'); + expect($tr.attr('data-favorite')).not.toBeDefined(); + expect($tr.attr('data-tags')).toEqual(''); expect($tr.find('a.name').attr('href')).toEqual( OC.webroot + '/remote.php/webdav/b.txt' @@ -209,11 +216,11 @@ describe('OCA.Sharing.FileList tests', function() { expect(fakeServer.requests.length).toEqual(2); expect(fakeServer.requests[0].url).toEqual( OC.linkToOCS('apps/files_sharing/api/v1') + - 'shares?format=json&shared_with_me=true' + 'shares?format=json&shared_with_me=true&include_tags=true' ); expect(fakeServer.requests[1].url).toEqual( OC.linkToOCS('apps/files_sharing/api/v1') + - 'remote_shares?format=json' + 'remote_shares?format=json&include_tags=true' ); fakeServer.requests[0].respond( @@ -241,6 +248,8 @@ describe('OCA.Sharing.FileList tests', function() { expect($tr.attr('data-mtime')).toEqual('11111000'); expect($tr.attr('data-share-owner')).toEqual('User Two'); expect($tr.attr('data-share-id')).toEqual('7'); + expect($tr.attr('data-favorite')).toEqual('true'); + expect($tr.attr('data-tags')).toEqual(OC.TAG_FAVORITE); expect($tr.find('a.name').attr('href')).toEqual( OC.webroot + '/index.php/apps/files' + @@ -260,6 +269,8 @@ describe('OCA.Sharing.FileList tests', function() { expect($tr.attr('data-mtime')).toEqual('22222000'); expect($tr.attr('data-share-owner')).toEqual('user3@foo.bar/'); expect($tr.attr('data-share-id')).toEqual('8'); + expect($tr.attr('data-favorite')).not.toBeDefined(); + expect($tr.attr('data-tags')).toEqual(''); expect($tr.find('a.name').attr('href')).toEqual( OC.webroot + '/index.php/apps/files' + @@ -301,6 +312,7 @@ describe('OCA.Sharing.FileList tests', function() { share_type: OC.Share.SHARE_TYPE_USER, share_with: 'user2', share_with_displayname: 'User Two', + tags: [OC.TAG_FAVORITE], mimetype: 'text/plain', uid_owner: 'user1', displayname_owner: 'User One' @@ -315,7 +327,7 @@ describe('OCA.Sharing.FileList tests', function() { request = fakeServer.requests[0]; expect(request.url).toEqual( OC.linkToOCS('apps/files_sharing/api/v1') + - 'shares?format=json&shared_with_me=false' + 'shares?format=json&shared_with_me=false&include_tags=true' ); fakeServer.requests[0].respond( @@ -337,6 +349,8 @@ describe('OCA.Sharing.FileList tests', function() { expect($tr.attr('data-mtime')).toEqual('11111000'); expect($tr.attr('data-share-owner')).not.toBeDefined(); expect($tr.attr('data-share-id')).toEqual('7'); + expect($tr.attr('data-favorite')).toEqual('true'); + expect($tr.attr('data-tags')).toEqual(OC.TAG_FAVORITE); expect($tr.find('a.name').attr('href')).toEqual( OC.webroot + '/remote.php/webdav/local%20path/local%20name.txt' @@ -355,7 +369,7 @@ describe('OCA.Sharing.FileList tests', function() { request = fakeServer.requests[0]; expect(request.url).toEqual( OC.linkToOCS('apps/files_sharing/api/v1') + - 'shares?format=json&shared_with_me=false' + 'shares?format=json&shared_with_me=false&include_tags=true' ); fakeServer.requests[0].respond( @@ -377,6 +391,8 @@ describe('OCA.Sharing.FileList tests', function() { expect($tr.attr('data-mtime')).toEqual('11111000'); expect($tr.attr('data-share-owner')).not.toBeDefined(); expect($tr.attr('data-share-id')).toEqual('7'); + expect($tr.attr('data-favorite')).toEqual('true'); + expect($tr.attr('data-tags')).toEqual(OC.TAG_FAVORITE); expect($tr.find('a.name').attr('href')).toEqual( OC.webroot + '/index.php/apps/files' + @@ -400,13 +416,14 @@ describe('OCA.Sharing.FileList tests', function() { token: 'abc', mimetype: 'text/plain', uid_owner: 'user1', - displayname_owner: 'User One' + displayname_owner: 'User One', + tags: [OC.TAG_FAVORITE] }; expect(fakeServer.requests.length).toEqual(1); request = fakeServer.requests[0]; expect(request.url).toEqual( OC.linkToOCS('apps/files_sharing/api/v1') + - 'shares?format=json&shared_with_me=false' + 'shares?format=json&shared_with_me=false&include_tags=true' ); fakeServer.requests[0].respond( @@ -428,6 +445,8 @@ describe('OCA.Sharing.FileList tests', function() { expect($tr.attr('data-mtime')).toEqual('11111000'); expect($tr.attr('data-share-owner')).not.toBeDefined(); expect($tr.attr('data-share-id')).toEqual('7'); + expect($tr.attr('data-favorite')).toEqual('true'); + expect($tr.attr('data-tags')).toEqual(OC.TAG_FAVORITE); expect($tr.find('a.name').attr('href')).toEqual( OC.webroot + '/remote.php/webdav/local%20path/local%20name.txt' ); @@ -451,7 +470,8 @@ describe('OCA.Sharing.FileList tests', function() { token: 'abc', mimetype: 'text/plain', uid_owner: 'user1', - displayname_owner: 'User One' + displayname_owner: 'User One', + tags: [OC.TAG_FAVORITE], }); // another share of the same file ocsResponse.ocs.data.push({ @@ -473,7 +493,7 @@ describe('OCA.Sharing.FileList tests', function() { request = fakeServer.requests[0]; expect(request.url).toEqual( OC.linkToOCS('apps/files_sharing/api/v1') + - 'shares?format=json&shared_with_me=false' + 'shares?format=json&shared_with_me=false&include_tags=true' ); fakeServer.requests[0].respond( @@ -496,6 +516,8 @@ describe('OCA.Sharing.FileList tests', function() { expect($tr.attr('data-mtime')).toEqual('22222000'); expect($tr.attr('data-share-owner')).not.toBeDefined(); expect($tr.attr('data-share-id')).toEqual('7,8,9'); + expect($tr.attr('data-favorite')).toEqual('true'); + expect($tr.attr('data-tags')).toEqual(OC.TAG_FAVORITE); expect($tr.find('a.name').attr('href')).toEqual( OC.webroot + '/remote.php/webdav/local%20path/local%20name.txt' ); @@ -540,7 +562,8 @@ describe('OCA.Sharing.FileList tests', function() { token: 'abc', mimetype: 'text/plain', uid_owner: 'user1', - displayname_owner: 'User One' + displayname_owner: 'User One', + tags: [OC.TAG_FAVORITE] },{ id: 8, item_type: 'file', @@ -577,13 +600,14 @@ describe('OCA.Sharing.FileList tests', function() { share_with_displayname: 'User Two', mimetype: 'text/plain', uid_owner: 'user1', - displayname_owner: 'User One' + displayname_owner: 'User One', + tags: [OC.TAG_FAVORITE] }); expect(fakeServer.requests.length).toEqual(1); request = fakeServer.requests[0]; expect(request.url).toEqual( OC.linkToOCS('apps/files_sharing/api/v1') + - 'shares?format=json&shared_with_me=false' + 'shares?format=json&shared_with_me=false&include_tags=true' ); fakeServer.requests[0].respond( @@ -607,6 +631,8 @@ describe('OCA.Sharing.FileList tests', function() { expect($tr.attr('data-share-recipients')).not.toBeDefined(); expect($tr.attr('data-share-owner')).not.toBeDefined(); expect($tr.attr('data-share-id')).toEqual('7'); + expect($tr.attr('data-favorite')).toEqual('true'); + expect($tr.attr('data-tags')).toEqual(OC.TAG_FAVORITE); expect($tr.find('a.name').attr('href')).toEqual( OC.webroot + '/remote.php/webdav/local%20path/local%20name.txt' ); @@ -620,6 +646,8 @@ describe('OCA.Sharing.FileList tests', function() { expect($tr.attr('data-id')).toEqual('50'); expect($tr.attr('data-file')).toEqual('local name2.txt'); expect($tr.attr('data-expiration')).not.toEqual('0'); + expect($tr.attr('data-favorite')).not.toBeDefined(); + expect($tr.attr('data-tags')).toEqual(''); expect($tr.find('td:last-child span').text()).toEqual('in a day'); }); it('does not show virtual token recipient as recipient when password was set', function() { @@ -632,7 +660,7 @@ describe('OCA.Sharing.FileList tests', function() { request = fakeServer.requests[0]; expect(request.url).toEqual( OC.linkToOCS('apps/files_sharing/api/v1') + - 'shares?format=json&shared_with_me=false' + 'shares?format=json&shared_with_me=false&include_tags=true' ); fakeServer.requests[0].respond( @@ -656,6 +684,8 @@ describe('OCA.Sharing.FileList tests', function() { expect($tr.attr('data-share-recipients')).not.toBeDefined(); expect($tr.attr('data-share-owner')).not.toBeDefined(); expect($tr.attr('data-share-id')).toEqual('7'); + expect($tr.attr('data-favorite')).toEqual('true'); + expect($tr.attr('data-tags')).toEqual(OC.TAG_FAVORITE); expect($tr.find('a.name').attr('href')).toEqual( OC.webroot + '/remote.php/webdav/local%20path/local%20name.txt'); |