summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/tests/js/sharedfilelistSpec.js
diff options
context:
space:
mode:
authorRoeland Jago Douma <roeland@famdouma.nl>2015-10-01 17:20:47 +0200
committerRoeland Jago Douma <roeland@famdouma.nl>2015-10-02 12:45:52 +0200
commit4adc78b78b3f6a659d79eaf17dff3ae5d7f79db7 (patch)
treed6a57a662a0f3d1ef6701ea6b1873f7cf420f54c /apps/files_sharing/tests/js/sharedfilelistSpec.js
parent40dd2d9dbe4a732669bd85bfb56ba09054d5dd00 (diff)
downloadnextcloud-server-4adc78b78b3f6a659d79eaf17dff3ae5d7f79db7.tar.gz
nextcloud-server-4adc78b78b3f6a659d79eaf17dff3ae5d7f79db7.zip
Fix and extend unit tests
Diffstat (limited to 'apps/files_sharing/tests/js/sharedfilelistSpec.js')
-rw-r--r--apps/files_sharing/tests/js/sharedfilelistSpec.js115
1 files changed, 104 insertions, 11 deletions
diff --git a/apps/files_sharing/tests/js/sharedfilelistSpec.js b/apps/files_sharing/tests/js/sharedfilelistSpec.js
index 7fdc6345e38..90ae9c2d6da 100644
--- a/apps/files_sharing/tests/js/sharedfilelistSpec.js
+++ b/apps/files_sharing/tests/js/sharedfilelistSpec.js
@@ -57,6 +57,7 @@ describe('OCA.Sharing.FileList tests', function() {
describe('loading file list for incoming shares', function() {
var ocsResponse;
+ var ocsResponseRemote;
beforeEach(function() {
fileList = new OCA.Sharing.FileList(
@@ -95,26 +96,64 @@ describe('OCA.Sharing.FileList tests', function() {
}]
}
};
+
+ /* jshint camelcase: false */
+ ocsResponseRemote = {
+ ocs: {
+ meta: {
+ status: 'ok',
+ statuscode: 100,
+ message: null
+ },
+ data: [{
+ id: 8,
+ remote: 'https://foo.bar/',
+ remote_id: 42,
+ share_token: 'abc',
+ name: '/a.txt',
+ owner: 'user3',
+ user: 'user1',
+ mountpoint: '/b.txt',
+ mountpoint_hash: 'def',
+ accepted: 1,
+ mimetype: 'text/plain',
+ mtime: 22222,
+ permissions: 31,
+ type: 'file',
+ file_id: 1337
+ }]
+ }
+ };
+
});
it('render file shares', function() {
- var request;
-
- expect(fakeServer.requests.length).toEqual(1);
- request = fakeServer.requests[0];
- expect(request.url).toEqual(
+ 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'
);
+ expect(fakeServer.requests[1].url).toEqual(
+ OC.linkToOCS('apps/files_sharing/api/v1') +
+ 'remote_shares?format=json'
+ );
+
fakeServer.requests[0].respond(
200,
{ 'Content-Type': 'application/json' },
JSON.stringify(ocsResponse)
);
+ fakeServer.requests[1].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify(ocsResponseRemote)
+ );
+
var $rows = fileList.$el.find('tbody tr');
+ expect($rows.length).toEqual(2);
+
var $tr = $rows.eq(0);
- expect($rows.length).toEqual(1);
expect($tr.attr('data-id')).toEqual('49');
expect($tr.attr('data-type')).toEqual('file');
expect($tr.attr('data-file')).toEqual('local name.txt');
@@ -132,32 +171,66 @@ describe('OCA.Sharing.FileList tests', function() {
'?dir=%2Flocal%20path&files=local%20name.txt'
);
expect($tr.find('.nametext').text().trim()).toEqual('local name.txt');
+
+ $tr = $rows.eq(1);
+ expect($tr.attr('data-id')).toEqual('1337');
+ expect($tr.attr('data-type')).toEqual('file');
+ expect($tr.attr('data-file')).toEqual('b.txt');
+ expect($tr.attr('data-path')).toEqual('');
+ expect($tr.attr('data-size')).not.toBeDefined();
+ expect(parseInt($tr.attr('data-permissions'), 10))
+ .toEqual(OC.PERMISSION_ALL); // read and delete
+ expect($tr.attr('data-mime')).toEqual('text/plain');
+ 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.find('a.name').attr('href')).toEqual(
+ OC.webroot +
+ '/index.php/apps/files/ajax/download.php' +
+ '?dir=%2F&files=b.txt'
+ );
+ expect($tr.find('.nametext').text().trim()).toEqual('b.txt');
});
it('render folder shares', function() {
/* jshint camelcase: false */
- var request;
ocsResponse.ocs.data[0] = _.extend(ocsResponse.ocs.data[0], {
item_type: 'folder',
file_target: '/local path/local name',
path: 'files/something shared',
});
- expect(fakeServer.requests.length).toEqual(1);
- request = fakeServer.requests[0];
- expect(request.url).toEqual(
+ ocsResponseRemote.ocs.data[0] = _.extend(ocsResponseRemote.ocs.data[0], {
+ type: 'dir',
+ mimetype: 'httpd/unix-directory',
+ name: '/a',
+ mountpoint: '/b'
+ });
+
+ 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'
);
+ expect(fakeServer.requests[1].url).toEqual(
+ OC.linkToOCS('apps/files_sharing/api/v1') +
+ 'remote_shares?format=json'
+ );
fakeServer.requests[0].respond(
200,
{ 'Content-Type': 'application/json' },
JSON.stringify(ocsResponse)
);
+ fakeServer.requests[1].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify(ocsResponseRemote)
+ );
var $rows = fileList.$el.find('tbody tr');
+ expect($rows.length).toEqual(2);
+
var $tr = $rows.eq(0);
- expect($rows.length).toEqual(1);
expect($tr.attr('data-id')).toEqual('49');
expect($tr.attr('data-type')).toEqual('dir');
expect($tr.attr('data-file')).toEqual('local name');
@@ -175,6 +248,26 @@ describe('OCA.Sharing.FileList tests', function() {
'?dir=/local%20path/local%20name'
);
expect($tr.find('.nametext').text().trim()).toEqual('local name');
+
+ $tr = $rows.eq(1);
+ expect($tr.attr('data-id')).toEqual('1337');
+ expect($tr.attr('data-type')).toEqual('dir');
+ expect($tr.attr('data-file')).toEqual('b');
+ expect($tr.attr('data-path')).toEqual('');
+ expect($tr.attr('data-size')).not.toBeDefined();
+ expect(parseInt($tr.attr('data-permissions'), 10))
+ .toEqual(OC.PERMISSION_ALL); // read and delete
+ expect($tr.attr('data-mime')).toEqual('httpd/unix-directory');
+ 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.find('a.name').attr('href')).toEqual(
+ OC.webroot +
+ '/index.php/apps/files' +
+ '?dir=/b'
+ );
+ expect($tr.find('.nametext').text().trim()).toEqual('b');
+
});
});
describe('loading file list for outgoing shares', function() {