/** * SPDX-FileCopyrightText: 2014 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ describe('OCA.Files_External.App tests', function() { const App = OCA.Files_External.App let fileList beforeEach(function() { $('#testArea').append( '
' + '
' + '
' + '' + '' + '
' + '', ) fileList = App.initList($('#app-content-extstoragemounts')) }) afterEach(function() { App.fileList = null fileList.destroy() fileList = null }) describe('initialization', function() { it('inits external mounts list on show', function() { expect(App.fileList).toBeDefined() }) }) describe('file actions', function() { it('provides default file actions', function() { const fileActions = fileList.fileActions expect(fileActions.actions.all).toBeDefined() expect(fileActions.actions.all.Delete).toBeDefined() expect(fileActions.actions.all.Rename).toBeDefined() expect(fileActions.actions.all.Download).toBeDefined() expect(fileActions.defaults.dir).toEqual('Open') }) it('redirects to files app when opening a directory', function() { const oldList = OCA.Files.App.fileList // dummy new list to make sure it exists OCA.Files.App.fileList = new OCA.Files.FileList($('
')) const setActiveViewStub = sinon.stub(OCA.Files.App, 'setActiveView') // create dummy table so we can click the dom const $table = '
' $('#app-content-extstoragemounts').append($table) App._inFileList = null fileList = App.initList($('#app-content-extstoragemounts')) fileList.setFiles([{ name: 'testdir', type: 'dir', path: '/somewhere/inside/subdir', counterParts: ['user2'], shareOwner: 'user2', }]) fileList.findFileEl('testdir').find('td a.name').click() expect(OCA.Files.App.fileList.getCurrentDirectory()).toEqual('/somewhere/inside/subdir/testdir') expect(setActiveViewStub.calledOnce).toEqual(true) expect(setActiveViewStub.calledWith('files')).toEqual(true) setActiveViewStub.restore() // restore old list OCA.Files.App.fileList = oldList }) }) })