summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_sharing')
-rw-r--r--apps/files_sharing/appinfo/update.php11
-rw-r--r--apps/files_sharing/js/sharedfilelist.js21
-rw-r--r--apps/files_sharing/lib/Controller/ShareAPIController.php17
-rw-r--r--apps/files_sharing/lib/External/Storage.php8
-rw-r--r--apps/files_sharing/tests/MigrationTest.php252
-rw-r--r--apps/files_sharing/tests/js/sharedfilelistSpec.js60
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');