Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomasz Grobelny <tomasz@grobelny.net>2018-11-23 00:19:57 +0300
committerTomasz Grobelny <tomasz@grobelny.net>2018-11-25 01:57:13 +0300
commit04d326f95feacd640dc5d6fecff1ec0ef0970265 (patch)
tree3a70b2313d782daf410bf75f4893c1e868af7d8c /apps/files/tests
parentc83c26877b38a83e01f5b94ef975c8be115cb950 (diff)
Fix unit tests
Signed-off-by: Tomasz Grobelny <tomasz@grobelny.net>
Diffstat (limited to 'apps/files/tests')
-rw-r--r--apps/files/tests/js/fileUploadSpec.js5
-rw-r--r--apps/files/tests/js/filelistSpec.js450
2 files changed, 279 insertions, 176 deletions
diff --git a/apps/files/tests/js/fileUploadSpec.js b/apps/files/tests/js/fileUploadSpec.js
index ca88461fafb..6fe3907c1ec 100644
--- a/apps/files/tests/js/fileUploadSpec.js
+++ b/apps/files/tests/js/fileUploadSpec.js
@@ -24,6 +24,7 @@ describe('OC.Upload tests', function() {
var testFile;
var uploader;
var failStub;
+ var progressBarStub;
beforeEach(function() {
testFile = {
@@ -45,7 +46,8 @@ describe('OC.Upload tests', function() {
'</div>'
);
$dummyUploader = $('#file_upload_start');
- uploader = new OC.Uploader($dummyUploader);
+ progressBarStub = {on: function(){}};
+ uploader = new OC.Uploader($dummyUploader, {progressBar: progressBarStub});
failStub = sinon.stub();
uploader.on('fail', failStub);
});
@@ -142,6 +144,7 @@ describe('OC.Upload tests', function() {
conflictDialogStub = sinon.stub(OC.dialogs, 'fileexists');
uploader = new OC.Uploader($dummyUploader, {
+ progressBar: progressBarStub,
fileList: fileList
});
diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js
index eae72ff05dc..402cfaa1073 100644
--- a/apps/files/tests/js/filelistSpec.js
+++ b/apps/files/tests/js/filelistSpec.js
@@ -522,7 +522,7 @@ describe('OCA.Files.FileList tests', function() {
beforeEach(function() {
deferredDelete = $.Deferred();
- deleteStub = sinon.stub(filesClient, 'remove').returns(deferredDelete.promise());
+ deleteStub = sinon.stub(filesClient, 'remove');
});
afterEach(function() {
deleteStub.restore();
@@ -530,92 +530,153 @@ describe('OCA.Files.FileList tests', function() {
function doDelete() {
// note: normally called from FileActions
- fileList.do_delete(['One.txt', 'Two.jpg']);
+ return fileList.do_delete(['One.txt', 'Two.jpg']).then(function(){
- expect(deleteStub.calledTwice).toEqual(true);
- expect(deleteStub.getCall(0).args[0]).toEqual('/subdir/One.txt');
- expect(deleteStub.getCall(1).args[0]).toEqual('/subdir/Two.jpg');
+ expect(deleteStub.calledTwice).toEqual(true);
+ expect(deleteStub.getCall(0).args[0]).toEqual('/subdir/One.txt');
+ expect(deleteStub.getCall(1).args[0]).toEqual('/subdir/Two.jpg');
+ });
}
- it('calls delete.php, removes the deleted entries and updates summary', function() {
+ it('calls delete.php, removes the deleted entries and updates summary', function(done) {
var $summary;
fileList.setFiles(testFiles);
- doDelete();
+ deferredDelete1 = $.Deferred();
+ deferredDelete2 = $.Deferred();
+ deleteStub.onCall(0).callsFake(function(src){
+ expect(deleteStub.calledOnce).toEqual(true);
+ expect(src).toEqual('/subdir/One.txt');
+ return deferredDelete1.promise();
+ });
+ deleteStub.onCall(1).callsFake(function(src){
+ expect(deleteStub.calledTwice).toEqual(true);
+ expect(src).toEqual('/subdir/Two.jpg');
+ return deferredDelete2.promise();
+ });
- deferredDelete.resolve(200);
+ var promise = fileList.do_delete(['One.txt', 'Two.jpg']);
+ deferredDelete1.resolve(200);
+ deferredDelete2.resolve(200);
+ return promise.then(function(){
- expect(fileList.findFileEl('One.txt').length).toEqual(0);
- expect(fileList.findFileEl('Two.jpg').length).toEqual(0);
- expect(fileList.findFileEl('Three.pdf').length).toEqual(1);
- expect(fileList.$fileList.find('tr').length).toEqual(2);
-
- $summary = $('#filestable .summary');
- expect($summary.hasClass('hidden')).toEqual(false);
- expect($summary.find('.dirinfo').text()).toEqual('1 folder');
- expect($summary.find('.fileinfo').text()).toEqual('1 file');
- expect($summary.find('.dirinfo').hasClass('hidden')).toEqual(false);
- expect($summary.find('.fileinfo').hasClass('hidden')).toEqual(false);
- expect($summary.find('.filesize').text()).toEqual('57 KB');
- expect(fileList.isEmpty).toEqual(false);
- expect($('#filestable thead th').hasClass('hidden')).toEqual(false);
- expect($('#emptycontent').hasClass('hidden')).toEqual(true);
+ expect(fileList.findFileEl('One.txt').length).toEqual(0);
+ expect(fileList.findFileEl('Two.jpg').length).toEqual(0);
+ expect(fileList.findFileEl('Three.pdf').length).toEqual(1);
+ expect(fileList.$fileList.find('tr').length).toEqual(2);
+
+ $summary = $('#filestable .summary');
+ expect($summary.hasClass('hidden')).toEqual(false);
+ expect($summary.find('.dirinfo').text()).toEqual('1 folder');
+ expect($summary.find('.fileinfo').text()).toEqual('1 file');
+ expect($summary.find('.dirinfo').hasClass('hidden')).toEqual(false);
+ expect($summary.find('.fileinfo').hasClass('hidden')).toEqual(false);
+ expect($summary.find('.filesize').text()).toEqual('57 KB');
+ expect(fileList.isEmpty).toEqual(false);
+ expect($('#filestable thead th').hasClass('hidden')).toEqual(false);
+ expect($('#emptycontent').hasClass('hidden')).toEqual(true);
- expect(notificationStub.notCalled).toEqual(true);
+ expect(notificationStub.notCalled).toEqual(true);
+ done();
+ });
});
- it('shows busy state on files to be deleted', function() {
+ it('shows busy state on files to be deleted', function(done) {
fileList.setFiles(testFiles);
- doDelete();
-
- expect(fileList.findFileEl('One.txt').hasClass('busy')).toEqual(true);
- expect(fileList.findFileEl('Three.pdf').hasClass('busy')).toEqual(false);
+ deferredDelete1 = $.Deferred();
+ deferredDelete2 = $.Deferred();
+ deleteStub.onCall(0).callsFake(function(src){
+ expect(fileList.findFileEl('One.txt').hasClass('busy')).toEqual(true);
+ expect(fileList.findFileEl('Three.pdf').hasClass('busy')).toEqual(false);
+
+ expect(deleteStub.calledOnce).toEqual(true);
+ expect(src).toEqual('/subdir/One.txt');
+ return deferredDelete1.promise();
+ });
+ deleteStub.onCall(1).callsFake(function(src){
+ expect(fileList.findFileEl('Two.jpg').hasClass('busy')).toEqual(true);
+ expect(fileList.findFileEl('Three.pdf').hasClass('busy')).toEqual(false);
+
+ expect(deleteStub.calledTwice).toEqual(true);
+ expect(src).toEqual('/subdir/Two.jpg');
+ return deferredDelete2.promise();
+ });
+ var promise = fileList.do_delete(['One.txt', 'Two.jpg']).then(function(){
+ expect(deleteStub.calledTwice).toEqual(true);
+ });
+ deferredDelete1.resolve(200);
+ deferredDelete2.resolve(200);
+ return promise.then(function(){
+ expect(fileList.findFileEl('One.txt').hasClass('busy')).toEqual(false);
+ expect(fileList.findFileEl('Two.jpg').hasClass('busy')).toEqual(false);
+ done();
+ });
});
- it('shows busy state on all files when deleting all', function() {
+ it('shows busy state on all files when deleting all', function(done) {
fileList.setFiles(testFiles);
-
- fileList.do_delete();
-
- expect(fileList.$fileList.find('tr.busy').length).toEqual(4);
+ var deferredDeleteArray = [];
+ var count = 0;
+ for (var i = 0; i < 4; i++) {
+ (function(i, fn){
+ deferredDeleteArray.push($.Deferred());
+ deleteStub.onCall(i).callsFake(function(src){
+ expect(fileList.findFileEl(fn).hasClass('busy')).toEqual(true);
+ count++;
+ return deferredDeleteArray[i].promise();
+ });
+ })(i, testFiles[i].name);
+ }
+ var promise = fileList.do_delete();
+ for (var i = 0; i < 4; i++) {
+ deferredDeleteArray[i].resolve(200);
+ }
+ return promise.then(function(){
+ expect(count).toEqual(4);
+ done();
+ });
});
- it('updates summary when deleting last file', function() {
+ it('updates summary when deleting last file', function(done) {
var $summary;
fileList.setFiles([testFiles[0], testFiles[1]]);
- doDelete();
-
+ deleteStub.returns(deferredDelete.promise());
deferredDelete.resolve(200);
- expect(fileList.$fileList.find('tr').length).toEqual(0);
-
- $summary = $('#filestable .summary');
- expect($summary.hasClass('hidden')).toEqual(true);
- expect(fileList.isEmpty).toEqual(true);
- expect(fileList.files.length).toEqual(0);
- expect($('#filestable thead th').hasClass('hidden')).toEqual(true);
- expect($('#emptycontent').hasClass('hidden')).toEqual(false);
+ return doDelete().then(function(){
+ expect(fileList.$fileList.find('tr').length).toEqual(0);
+ $summary = $('#filestable .summary');
+ expect($summary.hasClass('hidden')).toEqual(true);
+ expect(fileList.isEmpty).toEqual(true);
+ expect(fileList.files.length).toEqual(0);
+ expect($('#filestable thead th').hasClass('hidden')).toEqual(true);
+ expect($('#emptycontent').hasClass('hidden')).toEqual(false);
+ done();
+ });
});
- it('bring back deleted item when delete call failed', function() {
+ it('bring back deleted item when delete call failed', function(done) {
fileList.setFiles(testFiles);
- doDelete();
-
+ deleteStub.returns(deferredDelete.promise());
+ var promise = doDelete();
deferredDelete.reject(403);
+ return promise.then(function(){
+ // files are still in the list
+ expect(fileList.findFileEl('One.txt').length).toEqual(1);
+ expect(fileList.findFileEl('Two.jpg').length).toEqual(1);
+ expect(fileList.$fileList.find('tr').length).toEqual(4);
- // files are still in the list
- expect(fileList.findFileEl('One.txt').length).toEqual(1);
- expect(fileList.findFileEl('Two.jpg').length).toEqual(1);
- expect(fileList.$fileList.find('tr').length).toEqual(4);
-
- expect(notificationStub.calledTwice).toEqual(true);
+ expect(notificationStub.calledTwice).toEqual(true);
+ done();
+ });
});
- it('remove file from list if delete call returned 404 not found', function() {
+ it('remove file from list if delete call returned 404 not found', function(done) {
fileList.setFiles(testFiles);
- doDelete();
-
+ deleteStub.returns(deferredDelete.promise());
+ var promise = doDelete();
deferredDelete.reject(404);
+ return promise.then(function(){
+ expect(fileList.findFileEl('One.txt').length).toEqual(0);
+ expect(fileList.findFileEl('Two.jpg').length).toEqual(0);
+ expect(fileList.$fileList.find('tr').length).toEqual(2);
- // files are still in the list
- expect(fileList.findFileEl('One.txt').length).toEqual(0);
- expect(fileList.findFileEl('Two.jpg').length).toEqual(0);
- expect(fileList.$fileList.find('tr').length).toEqual(2);
-
- expect(notificationStub.notCalled).toEqual(true);
+ expect(notificationStub.notCalled).toEqual(true);
+ done();
+ });
});
});
describe('Renaming files', function() {
@@ -831,7 +892,7 @@ describe('OCA.Files.FileList tests', function() {
beforeEach(function() {
deferredMove = $.Deferred();
- moveStub = sinon.stub(filesClient, 'move').returns(deferredMove.promise());
+ moveStub = sinon.stub(filesClient, 'move');
fileList.setFiles(testFiles);
});
@@ -840,14 +901,18 @@ describe('OCA.Files.FileList tests', function() {
});
it('Moves single file to target folder', function(done) {
- return fileList.move('One.txt', '/somedir').then(function(){
+ var promise = fileList.move('One.txt', '/somedir');
+ moveStub.callsFake(function(src, dst){
expect(moveStub.calledOnce).toEqual(true);
- expect(moveStub.getCall(0).args[0]).toEqual('/subdir/One.txt');
- expect(moveStub.getCall(0).args[1]).toEqual('/somedir/One.txt');
+ expect(src).toEqual('/subdir/One.txt');
+ expect(dst).toEqual('/somedir/One.txt');
+ return deferredMove.promise();
+ });
- deferredMove.resolve(201);
+ deferredMove.resolve(201);
+ return promise.then(function(){
expect(fileList.findFileEl('One.txt').length).toEqual(0);
// folder size has increased
@@ -861,26 +926,29 @@ describe('OCA.Files.FileList tests', function() {
it('Moves list of files to target folder', function(done) {
var deferredMove1 = $.Deferred();
var deferredMove2 = $.Deferred();
- moveStub.onCall(0).returns(deferredMove1.promise());
- moveStub.onCall(1).returns(deferredMove2.promise());
-
- return fileList.move(['One.txt', 'Two.jpg'], '/somedir').then(function(){
-
- expect(moveStub.calledTwice).toEqual(true);
- expect(moveStub.getCall(0).args[0]).toEqual('/subdir/One.txt');
- expect(moveStub.getCall(0).args[1]).toEqual('/somedir/One.txt');
- expect(moveStub.getCall(1).args[0]).toEqual('/subdir/Two.jpg');
- expect(moveStub.getCall(1).args[1]).toEqual('/somedir/Two.jpg');
-
- deferredMove1.resolve(201);
-
+ moveStub.onCall(0).callsFake(function(src, dst){
+ expect(moveStub.calledOnce).toEqual(true);
+ expect(src).toEqual('/subdir/One.txt');
+ expect(dst).toEqual('/somedir/One.txt');
+ return deferredMove1.promise();
+ });
+ moveStub.onCall(1).callsFake(function(src, dst){
expect(fileList.findFileEl('One.txt').length).toEqual(0);
// folder size has increased during move
expect(fileList.findFileEl('somedir').data('size')).toEqual(262);
expect(fileList.findFileEl('somedir').find('.filesize').text()).toEqual('262 B');
- deferredMove2.resolve(201);
+ expect(src).toEqual('/subdir/Two.jpg');
+ expect(dst).toEqual('/somedir/Two.jpg');
+ return deferredMove2.promise();
+ });
+
+ var promise = fileList.move(['One.txt', 'Two.jpg'], '/somedir');
+ deferredMove1.resolve(201);
+ deferredMove2.resolve(201);
+ return promise.then(function(){
+ expect(moveStub.calledTwice).toEqual(true);
expect(fileList.findFileEl('Two.jpg').length).toEqual(0);
@@ -893,34 +961,32 @@ describe('OCA.Files.FileList tests', function() {
});
});
it('Shows notification if a file could not be moved', function(done) {
- return fileList.move('One.txt', '/somedir').then(function(){
-
+ moveStub.callsFake(function(){
expect(moveStub.calledOnce).toEqual(true);
-
- deferredMove.reject(409);
-
+ return deferredMove.promise();
+ });
+ var promise = fileList.move('One.txt', '/somedir');
+ deferredMove.reject(409);
+ return promise.then(function(){
expect(fileList.findFileEl('One.txt').length).toEqual(1);
-
expect(notificationStub.calledOnce).toEqual(true);
expect(notificationStub.getCall(0).args[0]).toEqual('Could not move "One.txt"');
done();
});
});
it('Restores thumbnail if a file could not be moved', function(done) {
- return fileList.move('One.txt', '/somedir').then(function(){
-
+ moveStub.callsFake(function(){
expect(fileList.findFileEl('One.txt').find('.thumbnail').parent().attr('class'))
.toContain('icon-loading-small');
-
expect(moveStub.calledOnce).toEqual(true);
-
- deferredMove.reject(409);
-
+ return deferredMove.promise();
+ });
+ var promise = fileList.move('One.txt', '/somedir');
+ deferredMove.reject(409);
+ return promise.then(function(){
expect(fileList.findFileEl('One.txt').length).toEqual(1);
-
expect(notificationStub.calledOnce).toEqual(true);
expect(notificationStub.getCall(0).args[0]).toEqual('Could not move "One.txt"');
-
expect(OC.TestUtil.getImageUrl(fileList.findFileEl('One.txt').find('.thumbnail')))
.toEqual(OC.imagePath('core', 'filetypes/text.svg'));
done();
@@ -934,7 +1000,7 @@ describe('OCA.Files.FileList tests', function() {
beforeEach(function() {
deferredCopy = $.Deferred();
- copyStub = sinon.stub(filesClient, 'copy').returns(deferredCopy.promise());
+ copyStub = sinon.stub(filesClient, 'copy');
fileList.setFiles(testFiles);
});
@@ -942,86 +1008,100 @@ describe('OCA.Files.FileList tests', function() {
copyStub.restore();
});
- it('Copies single file to target folder', function() {
- fileList.copy('One.txt', '/somedir');
+ it('Copies single file to target folder', function(done) {
+ copyStub.callsFake(function(){
+ expect(copyStub.calledOnce).toEqual(true);
+ expect(copyStub.getCall(0).args[0]).toEqual('/subdir/One.txt');
+ expect(copyStub.getCall(0).args[1]).toEqual('/somedir/One.txt');
- expect(copyStub.calledOnce).toEqual(true);
- expect(copyStub.getCall(0).args[0]).toEqual('/subdir/One.txt');
- expect(copyStub.getCall(0).args[1]).toEqual('/somedir/One.txt');
+ return deferredCopy.promise();
+ });
+ var promise = fileList.copy('One.txt', '/somedir');
deferredCopy.resolve(201);
+ return promise.then(function(){
+ // File is still here
+ expect(fileList.findFileEl('One.txt').length).toEqual(1);
- // File is still here
- expect(fileList.findFileEl('One.txt').length).toEqual(1);
-
- // folder size has increased
- expect(fileList.findFileEl('somedir').data('size')).toEqual(262);
- expect(fileList.findFileEl('somedir').find('.filesize').text()).toEqual('262 B');
+ // folder size has increased
+ expect(fileList.findFileEl('somedir').data('size')).toEqual(262);
+ expect(fileList.findFileEl('somedir').find('.filesize').text()).toEqual('262 B');
- // Copying sents a notification to tell that we've successfully copied file
- expect(notificationStub.notCalled).toEqual(false);
+ // Copying sents a notification to tell that we've successfully copied file
+ expect(notificationStub.notCalled).toEqual(false);
+ done();
+ });
});
- it('Copies list of files to target folder', function() {
+ it('Copies list of files to target folder', function(done) {
var deferredCopy1 = $.Deferred();
var deferredCopy2 = $.Deferred();
- copyStub.onCall(0).returns(deferredCopy1.promise());
- copyStub.onCall(1).returns(deferredCopy2.promise());
-
- fileList.copy(['One.txt', 'Two.jpg'], '/somedir');
+ copyStub.onCall(0).callsFake(function(src, dst){
+ expect(src).toEqual('/subdir/One.txt');
+ expect(dst).toEqual('/somedir/One.txt');
+ return deferredCopy1.promise();
+ });
+ copyStub.onCall(1).callsFake(function(src, dst){
+ // folder size has increased during copy
+ expect(fileList.findFileEl('somedir').data('size')).toEqual(262);
+ expect(fileList.findFileEl('somedir').find('.filesize').text()).toEqual('262 B');
- expect(copyStub.calledTwice).toEqual(true);
- expect(copyStub.getCall(0).args[0]).toEqual('/subdir/One.txt');
- expect(copyStub.getCall(0).args[1]).toEqual('/somedir/One.txt');
- expect(copyStub.getCall(1).args[0]).toEqual('/subdir/Two.jpg');
- expect(copyStub.getCall(1).args[1]).toEqual('/somedir/Two.jpg');
+ expect(src).toEqual('/subdir/Two.jpg');
+ expect(dst).toEqual('/somedir/Two.jpg');
+ return deferredCopy2.promise();
+ });
+ var promise = fileList.copy(['One.txt', 'Two.jpg'], '/somedir');
deferredCopy1.resolve(201);
-
- expect(fileList.findFileEl('One.txt').length).toEqual(1);
-
- // folder size has increased during copy
- expect(fileList.findFileEl('somedir').data('size')).toEqual(262);
- expect(fileList.findFileEl('somedir').find('.filesize').text()).toEqual('262 B');
-
deferredCopy2.resolve(201);
- expect(fileList.findFileEl('Two.jpg').length).toEqual(1);
+ return promise.then(function(){
+ expect(copyStub.calledTwice).toEqual(true);
+ expect(fileList.findFileEl('Two.jpg').length).toEqual(1);
+ expect(fileList.findFileEl('One.txt').length).toEqual(1);
- // folder size has increased
- expect(fileList.findFileEl('somedir').data('size')).toEqual(12311);
- expect(fileList.findFileEl('somedir').find('.filesize').text()).toEqual('12 KB');
+ // folder size has increased
+ expect(fileList.findFileEl('somedir').data('size')).toEqual(12311);
+ expect(fileList.findFileEl('somedir').find('.filesize').text()).toEqual('12 KB');
- expect(notificationStub.notCalled).toEqual(false);
+ expect(notificationStub.notCalled).toEqual(false);
+ done();
+ });
});
- it('Shows notification if a file could not be copied', function() {
- fileList.copy('One.txt', '/somedir');
-
- expect(copyStub.calledOnce).toEqual(true);
+ it('Shows notification if a file could not be copied', function(done) {
+ copyStub.callsFake(function(){
+ expect(copyStub.calledOnce).toEqual(true);
+ return deferredCopy.promise();
+ });
+ var promise = fileList.copy('One.txt', '/somedir');
deferredCopy.reject(409);
-
- expect(fileList.findFileEl('One.txt').length).toEqual(1);
-
- expect(notificationStub.calledOnce).toEqual(true);
- expect(notificationStub.getCall(0).args[0]).toEqual('Could not copy "One.txt"');
+ return promise.then(function(){
+ expect(fileList.findFileEl('One.txt').length).toEqual(1);
+ expect(notificationStub.calledOnce).toEqual(true);
+ expect(notificationStub.getCall(0).args[0]).toEqual('Could not copy "One.txt"');
+ done();
+ });
});
- it('Restores thumbnail if a file could not be copied', function() {
- fileList.copy('One.txt', '/somedir');
-
- expect(fileList.findFileEl('One.txt').find('.thumbnail').parent().attr('class'))
- .toContain('icon-loading-small');
-
- expect(copyStub.calledOnce).toEqual(true);
+ it('Restores thumbnail if a file could not be copied', function(done) {
+ copyStub.callsFake(function(){
+ expect(fileList.findFileEl('One.txt').find('.thumbnail').parent().attr('class'))
+ .toContain('icon-loading-small');
+ expect(copyStub.calledOnce).toEqual(true);
+ return deferredCopy.promise();
+ });
+ var promise = fileList.copy('One.txt', '/somedir');
deferredCopy.reject(409);
+ return promise.then(function(){
+ expect(fileList.findFileEl('One.txt').length).toEqual(1);
- expect(fileList.findFileEl('One.txt').length).toEqual(1);
-
- expect(notificationStub.calledOnce).toEqual(true);
- expect(notificationStub.getCall(0).args[0]).toEqual('Could not copy "One.txt"');
+ expect(notificationStub.calledOnce).toEqual(true);
+ expect(notificationStub.getCall(0).args[0]).toEqual('Could not copy "One.txt"');
- expect(OC.TestUtil.getImageUrl(fileList.findFileEl('One.txt').find('.thumbnail')))
- .toEqual(OC.imagePath('core', 'filetypes/text.svg'));
+ expect(OC.TestUtil.getImageUrl(fileList.findFileEl('One.txt').find('.thumbnail')))
+ .toEqual(OC.imagePath('core', 'filetypes/text.svg'));
+ done();
+ });
});
});
@@ -2283,7 +2363,7 @@ describe('OCA.Files.FileList tests', function() {
var deleteStub, deferredDelete;
beforeEach(function() {
deferredDelete = $.Deferred();
- deleteStub = sinon.stub(filesClient, 'remove').returns(deferredDelete.promise());
+ deleteStub = sinon.stub(filesClient, 'remove');
fileList.$el.find('.actions-selected').click();
});
@@ -2292,34 +2372,54 @@ describe('OCA.Files.FileList tests', function() {
deleteStub.restore();
});
- it('Deletes selected files when "Delete" clicked', function() {
+ it('Deletes selected files when "Delete" clicked', function(done) {
+ var deferred = $.Deferred();
+
+ deleteStub.returns(deferredDelete.promise());
+ deleteStub.onCall(2).callsFake(function(){
+ expect(deleteStub.callCount).toEqual(3);
+ expect(deleteStub.getCall(0).args[0]).toEqual('/subdir/One.txt');
+ expect(deleteStub.getCall(1).args[0]).toEqual('/subdir/Three.pdf');
+ expect(deleteStub.getCall(2).args[0]).toEqual('/subdir/somedir');
+ return deferredDelete.promise();
+ });
+
+ stub = sinon.stub(fileList._operationProgressBar, 'hideProgressBar').callsFake(function(){
+ expect(fileList.findFileEl('One.txt').length).toEqual(0);
+ expect(fileList.findFileEl('Three.pdf').length).toEqual(0);
+ expect(fileList.findFileEl('somedir').length).toEqual(0);
+ expect(fileList.findFileEl('Two.jpg').length).toEqual(1);
+ done();
+ deferred.resolve();
+ });
$('.selectedActions .filesSelectMenu .delete').click();
-
- expect(deleteStub.callCount).toEqual(3);
- expect(deleteStub.getCall(0).args[0]).toEqual('/subdir/One.txt');
- expect(deleteStub.getCall(1).args[0]).toEqual('/subdir/Three.pdf');
- expect(deleteStub.getCall(2).args[0]).toEqual('/subdir/somedir');
-
deferredDelete.resolve(204);
+ return deferred.promise();
- expect(fileList.findFileEl('One.txt').length).toEqual(0);
- expect(fileList.findFileEl('Three.pdf').length).toEqual(0);
- expect(fileList.findFileEl('somedir').length).toEqual(0);
- expect(fileList.findFileEl('Two.jpg').length).toEqual(1);
});
- it('Deletes all files when all selected when "Delete" clicked', function() {
+ it('Deletes all files when all selected when "Delete" clicked', function(done) {
+ var deferred = $.Deferred();
+
+ deleteStub.returns(deferredDelete.promise());
+ deleteStub.onCall(3).callsFake(function(){
+ expect(deleteStub.getCall(0).args[0]).toEqual('/subdir/One.txt');
+ expect(deleteStub.getCall(1).args[0]).toEqual('/subdir/Two.jpg');
+ expect(deleteStub.getCall(2).args[0]).toEqual('/subdir/Three.pdf');
+ expect(deleteStub.getCall(3).args[0]).toEqual('/subdir/somedir');
+ return deferredDelete.promise();
+ });
+
+ stub = sinon.stub(fileList._operationProgressBar, 'hideProgressBar').callsFake(function(){
+ expect(fileList.isEmpty).toEqual(true);
+ expect(deleteStub.callCount).toEqual(4);
+ done();
+ deferred.resolve();
+ });
$('.select-all').click();
$('.selectedActions .filesSelectMenu .delete').click();
-
- expect(deleteStub.callCount).toEqual(4);
- expect(deleteStub.getCall(0).args[0]).toEqual('/subdir/One.txt');
- expect(deleteStub.getCall(1).args[0]).toEqual('/subdir/Two.jpg');
- expect(deleteStub.getCall(2).args[0]).toEqual('/subdir/Three.pdf');
- expect(deleteStub.getCall(3).args[0]).toEqual('/subdir/somedir');
-
deferredDelete.resolve(204);
- expect(fileList.isEmpty).toEqual(true);
+ return deferred.promise();
});
});
});