/* * Copyright (c) 2014 Vincent Petry * * This file is licensed under the Affero General Public License version 3 * or later. * * See the COPYING-README file. * */ describe('OCA.Files.FavoritesFileList tests', function() { var fileList; beforeEach(function() { // init parameters and test table elements $('#testArea').append( '
' + // init horrible parameters '' + '' + // dummy controls '
' + '
' + '
' + '
' + // dummy table // TODO: at some point this will be rendered by the fileList class itself! '' + '' + '' + '' + '' + '' + '' + '
' + '
Empty content message
' + '
' ); }); describe('loading file list', function() { var fetchStub; beforeEach(function() { fileList = new OCA.Files.FavoritesFileList( $('#app-content-container') ); OCA.Files.FavoritesPlugin.attach(fileList); fetchStub = sinon.stub(fileList.filesClient, 'getFilteredFiles'); }); afterEach(function() { fetchStub.restore(); fileList.destroy(); fileList = undefined; }); it('render files', function() { var deferred = $.Deferred(); fetchStub.returns(deferred.promise()); fileList.reload(); expect(fetchStub.calledOnce).toEqual(true); deferred.resolve(207, [{ id: 7, name: 'test.txt', path: '/somedir', size: 123, mtime: 11111000, tags: [OC.TAG_FAVORITE], permissions: OC.PERMISSION_ALL, mimetype: 'text/plain' }]); var $rows = fileList.$el.find('tbody tr'); var $tr = $rows.eq(0); expect($rows.length).toEqual(1); expect($tr.attr('data-id')).toEqual('7'); expect($tr.attr('data-type')).toEqual('file'); expect($tr.attr('data-file')).toEqual('test.txt'); expect($tr.attr('data-path')).toEqual('/somedir'); expect($tr.attr('data-size')).toEqual('123'); expect(parseInt($tr.attr('data-permissions'), 10)) .toEqual(OC.PERMISSION_ALL); expect($tr.attr('data-mime')).toEqual('text/plain'); expect($tr.attr('data-mtime')).toEqual('11111000'); expect($tr.find('a.name').attr('href')).toEqual( OC.webroot + '/remote.php/webdav/somedir/test.txt' ); expect($tr.find('.nametext').text().trim()).toEqual('test.txt'); }); }); });