|
|
|
|
@ -3,15 +3,23 @@ |
|
|
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later |
|
|
|
|
*/ |
|
|
|
|
import { action } from './renameAction' |
|
|
|
|
import { File, Permission, View, FileAction } from '@nextcloud/files' |
|
|
|
|
import { File, Folder, Permission, View, FileAction } from '@nextcloud/files' |
|
|
|
|
import * as eventBus from '@nextcloud/event-bus' |
|
|
|
|
import { describe, expect, test, vi } from 'vitest' |
|
|
|
|
import { describe, expect, test, vi, beforeEach } from 'vitest' |
|
|
|
|
import { useFilesStore } from '../store/files' |
|
|
|
|
import { getPinia } from '../store/index.ts' |
|
|
|
|
|
|
|
|
|
const view = { |
|
|
|
|
id: 'files', |
|
|
|
|
name: 'Files', |
|
|
|
|
} as View |
|
|
|
|
|
|
|
|
|
beforeEach(() => { |
|
|
|
|
const root = new Folder({ owner: 'test', source: 'https://cloud.domain.com/remote.php/dav/files/admin/', id: 1, permissions: Permission.CREATE }) |
|
|
|
|
const files = useFilesStore(getPinia()) |
|
|
|
|
files.setRoot({ service: 'files', root }) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
describe('Rename action conditions tests', () => { |
|
|
|
|
test('Default values', () => { |
|
|
|
|
expect(action).toBeInstanceOf(FileAction) |
|
|
|
|
@ -26,7 +34,7 @@ describe('Rename action conditions tests', () => { |
|
|
|
|
describe('Rename action enabled tests', () => { |
|
|
|
|
test('Enabled for node with UPDATE permission', () => { |
|
|
|
|
const file = new File({ |
|
|
|
|
id: 1, |
|
|
|
|
id: 2, |
|
|
|
|
source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', |
|
|
|
|
owner: 'admin', |
|
|
|
|
mime: 'text/plain', |
|
|
|
|
@ -39,7 +47,7 @@ describe('Rename action enabled tests', () => { |
|
|
|
|
|
|
|
|
|
test('Disabled for node without DELETE permission', () => { |
|
|
|
|
const file = new File({ |
|
|
|
|
id: 1, |
|
|
|
|
id: 2, |
|
|
|
|
source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', |
|
|
|
|
owner: 'admin', |
|
|
|
|
mime: 'text/plain', |
|
|
|
|
@ -54,13 +62,13 @@ describe('Rename action enabled tests', () => { |
|
|
|
|
window.OCA = { Files: { Sidebar: {} } } |
|
|
|
|
|
|
|
|
|
const file1 = new File({ |
|
|
|
|
id: 1, |
|
|
|
|
id: 2, |
|
|
|
|
source: 'https://cloud.domain.com/remote.php/dav/files/admin/foo.txt', |
|
|
|
|
owner: 'admin', |
|
|
|
|
mime: 'text/plain', |
|
|
|
|
}) |
|
|
|
|
const file2 = new File({ |
|
|
|
|
id: 1, |
|
|
|
|
id: 2, |
|
|
|
|
source: 'https://cloud.domain.com/remote.php/dav/files/admin/bar.txt', |
|
|
|
|
owner: 'admin', |
|
|
|
|
mime: 'text/plain', |
|
|
|
|
@ -76,7 +84,7 @@ describe('Rename action exec tests', () => { |
|
|
|
|
vi.spyOn(eventBus, 'emit') |
|
|
|
|
|
|
|
|
|
const file = new File({ |
|
|
|
|
id: 1, |
|
|
|
|
id: 2, |
|
|
|
|
source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', |
|
|
|
|
owner: 'admin', |
|
|
|
|
mime: 'text/plain', |
|
|
|
|
|