diff options
author | Ferdinand Thiessen <opensource@fthiessen.de> | 2024-07-02 12:13:43 +0200 |
---|---|---|
committer | Ferdinand Thiessen <opensource@fthiessen.de> | 2024-07-09 17:13:30 +0200 |
commit | 24c01695bb0023fa85dab29cf7170d9596456d5b (patch) | |
tree | 1369336c1531024d3b67fa6fff2eafad24b6ad92 | |
parent | 691f570237e26398aa22f40c0efca23141d5583e (diff) | |
download | nextcloud-server-24c01695bb0023fa85dab29cf7170d9596456d5b.tar.gz nextcloud-server-24c01695bb0023fa85dab29cf7170d9596456d5b.zip |
test: Adjust Typescript definitions for OCP and OC
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
-rw-r--r-- | __tests__/mock-window.js | 5 | ||||
-rw-r--r-- | apps/files/src/actions/deleteAction.spec.ts | 1 | ||||
-rw-r--r-- | apps/files/src/actions/favoriteAction.spec.ts | 1 | ||||
-rw-r--r-- | apps/files/src/actions/openFolderAction.spec.ts | 3 | ||||
-rw-r--r-- | apps/files/src/actions/openInFilesAction.spec.ts | 2 | ||||
-rw-r--r-- | apps/files/src/actions/sidebarAction.spec.ts | 1 | ||||
-rw-r--r-- | apps/files/src/actions/viewInFolderAction.spec.ts | 4 | ||||
-rw-r--r-- | apps/files/src/main.ts | 7 | ||||
-rw-r--r-- | apps/files_external/src/actions/openInFilesAction.spec.ts | 2 | ||||
-rw-r--r-- | apps/files_sharing/src/actions/acceptShareAction.spec.ts | 11 | ||||
-rw-r--r-- | apps/files_sharing/src/actions/openInFilesAction.spec.ts | 1 | ||||
-rw-r--r-- | apps/files_sharing/src/actions/rejectShareAction.spec.ts | 15 | ||||
-rw-r--r-- | apps/files_sharing/src/actions/rejectShareAction.ts | 3 | ||||
-rw-r--r-- | apps/files_sharing/src/actions/restoreShareAction.spec.ts | 9 | ||||
-rw-r--r-- | apps/files_sharing/src/main.ts | 4 | ||||
-rw-r--r-- | apps/files_sharing/src/views/shares.ts | 3 |
16 files changed, 47 insertions, 25 deletions
diff --git a/__tests__/mock-window.js b/__tests__/mock-window.js index 47ff5f90580..0daeea122d7 100644 --- a/__tests__/mock-window.js +++ b/__tests__/mock-window.js @@ -1,3 +1,8 @@ +/** + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + window.OC = { ...window.OC } window.OCA = { ...window.OCA } window.OCP = { ...window.OCP } diff --git a/apps/files/src/actions/deleteAction.spec.ts b/apps/files/src/actions/deleteAction.spec.ts index 0dda5788a85..0ed19894c3f 100644 --- a/apps/files/src/actions/deleteAction.spec.ts +++ b/apps/files/src/actions/deleteAction.spec.ts @@ -191,6 +191,7 @@ describe('Delete action execute tests', () => { jest.spyOn(eventBus, 'emit') const confirmMock = jest.fn() + // @ts-expect-error We only mock what needed window.OC = { dialogs: { confirmDestructive: confirmMock } } const file1 = new File({ diff --git a/apps/files/src/actions/favoriteAction.spec.ts b/apps/files/src/actions/favoriteAction.spec.ts index e8bb1ce28b5..71ca0263d33 100644 --- a/apps/files/src/actions/favoriteAction.spec.ts +++ b/apps/files/src/actions/favoriteAction.spec.ts @@ -21,6 +21,7 @@ const favoriteView = { } as View global.window.OC = { + // @ts-expect-error This constant is currently missing in @nextcloud/typings TAG_FAVORITE: '_$!<Favorite>!$_', } diff --git a/apps/files/src/actions/openFolderAction.spec.ts b/apps/files/src/actions/openFolderAction.spec.ts index 57827ddc208..7ce79e0ad17 100644 --- a/apps/files/src/actions/openFolderAction.spec.ts +++ b/apps/files/src/actions/openFolderAction.spec.ts @@ -101,6 +101,7 @@ describe('Open folder action enabled tests', () => { describe('Open folder action execute tests', () => { test('Open folder', async () => { const goToRouteMock = jest.fn() + // @ts-expect-error We only mock what needed, we do not need Files.Router.goTo or Files.Navigation window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } const folder = new Folder({ @@ -119,6 +120,7 @@ describe('Open folder action execute tests', () => { test('Open folder fails without node', async () => { const goToRouteMock = jest.fn() + // @ts-expect-error We only mock what needed, we do not need Files.Router.goTo or Files.Navigation window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } const exec = await action.exec(null as unknown as Node, view, '/') @@ -128,6 +130,7 @@ describe('Open folder action execute tests', () => { test('Open folder fails without Folder', async () => { const goToRouteMock = jest.fn() + // @ts-expect-error We only mock what needed, we do not need Files.Router.goTo or Files.Navigation window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } const file = new File({ diff --git a/apps/files/src/actions/openInFilesAction.spec.ts b/apps/files/src/actions/openInFilesAction.spec.ts index f8745174b96..c1a80ad4425 100644 --- a/apps/files/src/actions/openInFilesAction.spec.ts +++ b/apps/files/src/actions/openInFilesAction.spec.ts @@ -43,6 +43,7 @@ describe('Open in files action enabled tests', () => { describe('Open in files action execute tests', () => { test('Open in files', async () => { const goToRouteMock = jest.fn() + // @ts-expect-error We only mock what needed, we do not need Files.Router.goTo or Files.Navigation window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } const file = new File({ @@ -64,6 +65,7 @@ describe('Open in files action execute tests', () => { test('Open in files with folder', async () => { const goToRouteMock = jest.fn() + // @ts-expect-error We only mock what needed, we do not need Files.Router.goTo or Files.Navigation window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } const file = new Folder({ diff --git a/apps/files/src/actions/sidebarAction.spec.ts b/apps/files/src/actions/sidebarAction.spec.ts index 9e1415b0b2c..2c23755a84d 100644 --- a/apps/files/src/actions/sidebarAction.spec.ts +++ b/apps/files/src/actions/sidebarAction.spec.ts @@ -110,6 +110,7 @@ describe('Open sidebar action exec tests', () => { const openMock = jest.fn() window.OCA = { Files: { Sidebar: { open: openMock } } } const goToRouteMock = jest.fn() + // @ts-expect-error We only mock what needed, we do not need Files.Router.goTo or Files.Navigation window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } const file = new File({ diff --git a/apps/files/src/actions/viewInFolderAction.spec.ts b/apps/files/src/actions/viewInFolderAction.spec.ts index cad99d25ab0..89519f1b64d 100644 --- a/apps/files/src/actions/viewInFolderAction.spec.ts +++ b/apps/files/src/actions/viewInFolderAction.spec.ts @@ -114,6 +114,7 @@ describe('View in folder action enabled tests', () => { describe('View in folder action execute tests', () => { test('View in folder', async () => { const goToRouteMock = jest.fn() + // @ts-expect-error We only mock what needed, we do not need Files.Router.goTo or Files.Navigation window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } const file = new File({ @@ -133,6 +134,7 @@ describe('View in folder action execute tests', () => { test('View in (sub) folder', async () => { const goToRouteMock = jest.fn() + // @ts-expect-error We only mock what needed, we do not need Files.Router.goTo or Files.Navigation window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } const file = new File({ @@ -153,6 +155,7 @@ describe('View in folder action execute tests', () => { test('View in folder fails without node', async () => { const goToRouteMock = jest.fn() + // @ts-expect-error We only mock what needed, we do not need Files.Router.goTo or Files.Navigation window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } const exec = await action.exec(null as unknown as Node, view, '/') @@ -162,6 +165,7 @@ describe('View in folder action execute tests', () => { test('View in folder fails without File', async () => { const goToRouteMock = jest.fn() + // @ts-expect-error We only mock what needed, we do not need Files.Router.goTo or Files.Navigation window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } const folder = new Folder({ diff --git a/apps/files/src/main.ts b/apps/files/src/main.ts index 9b057a5d378..62c4894d1e4 100644 --- a/apps/files/src/main.ts +++ b/apps/files/src/main.ts @@ -19,9 +19,10 @@ __webpack_nonce__ = btoa(getRequestToken()) declare global { interface Window { - OC: Nextcloud.v28.OC; - OCA: Record<string, unknown>; - OCP: Nextcloud.v28.OCP; + OC: Nextcloud.v29.OC + OCP: Nextcloud.v29.OCP + // eslint-disable-next-line @typescript-eslint/no-explicit-any + OCA: Record<string, any> } } diff --git a/apps/files_external/src/actions/openInFilesAction.spec.ts b/apps/files_external/src/actions/openInFilesAction.spec.ts index 7cbf953f9c8..83aa38f1753 100644 --- a/apps/files_external/src/actions/openInFilesAction.spec.ts +++ b/apps/files_external/src/actions/openInFilesAction.spec.ts @@ -74,6 +74,7 @@ describe('Open in files action enabled tests', () => { describe('Open in files action execute tests', () => { test('Open in files', async () => { const goToRouteMock = jest.fn() + // @ts-expect-error We only mock what needed, we do not need Files.Router.goTo or Files.Navigation window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } const storage = new Folder({ @@ -98,6 +99,7 @@ describe('Open in files action execute tests', () => { test('Open in files broken storage', async () => { const confirmMock = jest.fn() + // @ts-expect-error We only mock what is needed window.OC = { dialogs: { confirm: confirmMock } } const storage = new Folder({ diff --git a/apps/files_sharing/src/actions/acceptShareAction.spec.ts b/apps/files_sharing/src/actions/acceptShareAction.spec.ts index 14ff88fa885..848bdc5496b 100644 --- a/apps/files_sharing/src/actions/acceptShareAction.spec.ts +++ b/apps/files_sharing/src/actions/acceptShareAction.spec.ts @@ -5,6 +5,7 @@ import { action } from './acceptShareAction' import { expect } from '@jest/globals' import { File, Permission, View, FileAction } from '@nextcloud/files' +import { ShareType } from '@nextcloud/sharing' import eventBus from '@nextcloud/event-bus' import axios from '@nextcloud/axios' import '../main' @@ -103,7 +104,7 @@ describe('Accept share action execute tests', () => { permissions: Permission.READ, attributes: { id: 123, - share_type: window.OC.Share.SHARE_TYPE_USER, + share_type: ShareType.User, }, }) @@ -130,7 +131,7 @@ describe('Accept share action execute tests', () => { attributes: { id: 123, remote: 3, - share_type: window.OC.Share.SHARE_TYPE_USER, + share_type: ShareType.User, }, }) @@ -156,7 +157,7 @@ describe('Accept share action execute tests', () => { permissions: Permission.READ, attributes: { id: 123, - share_type: window.OC.Share.SHARE_TYPE_USER, + share_type: ShareType.User, }, }) @@ -168,7 +169,7 @@ describe('Accept share action execute tests', () => { permissions: Permission.READ, attributes: { id: 456, - share_type: window.OC.Share.SHARE_TYPE_USER, + share_type: ShareType.User, }, }) @@ -195,7 +196,7 @@ describe('Accept share action execute tests', () => { permissions: Permission.READ, attributes: { id: 123, - share_type: window.OC.Share.SHARE_TYPE_USER, + share_type: ShareType.User, }, }) diff --git a/apps/files_sharing/src/actions/openInFilesAction.spec.ts b/apps/files_sharing/src/actions/openInFilesAction.spec.ts index d48e3ac8144..aa73f020bc0 100644 --- a/apps/files_sharing/src/actions/openInFilesAction.spec.ts +++ b/apps/files_sharing/src/actions/openInFilesAction.spec.ts @@ -57,6 +57,7 @@ describe('Open in files action enabled tests', () => { describe('Open in files action execute tests', () => { test('Open in files', async () => { const goToRouteMock = jest.fn() + // @ts-expect-error We only mock what needed, we do not need Files.Router.goTo or Files.Navigation window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } const file = new File({ diff --git a/apps/files_sharing/src/actions/rejectShareAction.spec.ts b/apps/files_sharing/src/actions/rejectShareAction.spec.ts index dc4c9a69601..e4d37cd952c 100644 --- a/apps/files_sharing/src/actions/rejectShareAction.spec.ts +++ b/apps/files_sharing/src/actions/rejectShareAction.spec.ts @@ -5,6 +5,7 @@ import { action } from './rejectShareAction' import { expect } from '@jest/globals' import { File, Folder, Permission, View, FileAction } from '@nextcloud/files' +import { ShareType } from '@nextcloud/sharing' import eventBus from '@nextcloud/event-bus' import axios from '@nextcloud/axios' import '../main' @@ -96,7 +97,7 @@ describe('Reject share action enabled tests', () => { owner: 'admin', permissions: Permission.READ, attributes: { - share_type: window.OC.Share.SHARE_TYPE_USER, + share_type: ShareType.User, }, }) const folder2 = new Folder({ @@ -106,7 +107,7 @@ describe('Reject share action enabled tests', () => { permissions: Permission.READ, attributes: { remote_id: 1, - share_type: window.OC.Share.SHARE_TYPE_REMOTE_GROUP, + share_type: ShareType.RemoteGroup, }, }) @@ -130,7 +131,7 @@ describe('Reject share action execute tests', () => { permissions: Permission.READ, attributes: { id: 123, - share_type: window.OC.Share.SHARE_TYPE_USER, + share_type: ShareType.User, }, }) @@ -157,7 +158,7 @@ describe('Reject share action execute tests', () => { attributes: { id: 123, remote: 3, - share_type: window.OC.Share.SHARE_TYPE_USER, + share_type: ShareType.User, }, }) @@ -183,7 +184,7 @@ describe('Reject share action execute tests', () => { permissions: Permission.READ, attributes: { id: 123, - share_type: window.OC.Share.SHARE_TYPE_USER, + share_type: ShareType.User, }, }) @@ -195,7 +196,7 @@ describe('Reject share action execute tests', () => { permissions: Permission.READ, attributes: { id: 456, - share_type: window.OC.Share.SHARE_TYPE_USER, + share_type: ShareType.User, }, }) @@ -222,7 +223,7 @@ describe('Reject share action execute tests', () => { permissions: Permission.READ, attributes: { id: 123, - share_type: window.OC.Share.SHARE_TYPE_USER, + share_type: ShareType.User, }, }) diff --git a/apps/files_sharing/src/actions/rejectShareAction.ts b/apps/files_sharing/src/actions/rejectShareAction.ts index 5c3dc619f2c..ce47e0b5f13 100644 --- a/apps/files_sharing/src/actions/rejectShareAction.ts +++ b/apps/files_sharing/src/actions/rejectShareAction.ts @@ -8,6 +8,7 @@ import { emit } from '@nextcloud/event-bus' import { generateOcsUrl } from '@nextcloud/router' import { registerFileAction, FileAction } from '@nextcloud/files' import { translatePlural as n } from '@nextcloud/l10n' +import { ShareType } from '@nextcloud/sharing' import axios from '@nextcloud/axios' import CloseSvg from '@mdi/svg/svg/close.svg?raw' @@ -30,7 +31,7 @@ export const action = new FileAction({ // disable rejecting group shares from the pending list because they anyway // land back into that same list after rejecting them if (nodes.some(node => node.attributes.remote_id - && node.attributes.share_type === window.OC.Share.SHARE_TYPE_REMOTE_GROUP)) { + && node.attributes.share_type === ShareType.RemoteGroup)) { return false } diff --git a/apps/files_sharing/src/actions/restoreShareAction.spec.ts b/apps/files_sharing/src/actions/restoreShareAction.spec.ts index f35d0d0ef18..8132c76fe2b 100644 --- a/apps/files_sharing/src/actions/restoreShareAction.spec.ts +++ b/apps/files_sharing/src/actions/restoreShareAction.spec.ts @@ -5,6 +5,7 @@ import { action } from './restoreShareAction' import { expect } from '@jest/globals' import { File, Permission, View, FileAction } from '@nextcloud/files' +import { ShareType } from '@nextcloud/sharing' import eventBus from '@nextcloud/event-bus' import axios from '@nextcloud/axios' import '../main' @@ -103,7 +104,7 @@ describe('Restore share action execute tests', () => { permissions: Permission.READ, attributes: { id: 123, - share_type: window.OC.Share.SHARE_TYPE_USER, + share_type: ShareType.User, }, }) @@ -129,7 +130,7 @@ describe('Restore share action execute tests', () => { permissions: Permission.READ, attributes: { id: 123, - share_type: window.OC.Share.SHARE_TYPE_USER, + share_type: ShareType.User, }, }) @@ -141,7 +142,7 @@ describe('Restore share action execute tests', () => { permissions: Permission.READ, attributes: { id: 456, - share_type: window.OC.Share.SHARE_TYPE_USER, + share_type: ShareType.User, }, }) @@ -168,7 +169,7 @@ describe('Restore share action execute tests', () => { permissions: Permission.READ, attributes: { id: 123, - share_type: window.OC.Share.SHARE_TYPE_USER, + share_type: ShareType.User, }, }) diff --git a/apps/files_sharing/src/main.ts b/apps/files_sharing/src/main.ts index aaa07fddc36..3170fbc2a7b 100644 --- a/apps/files_sharing/src/main.ts +++ b/apps/files_sharing/src/main.ts @@ -4,10 +4,6 @@ */ // register default shares types -if (!window.OC) { - window.OC = {} -} - Object.assign(window.OC, { Share: { SHARE_TYPE_USER: 0, diff --git a/apps/files_sharing/src/views/shares.ts b/apps/files_sharing/src/views/shares.ts index e43c75b3a5e..98b68ee25e2 100644 --- a/apps/files_sharing/src/views/shares.ts +++ b/apps/files_sharing/src/views/shares.ts @@ -4,6 +4,7 @@ */ import { translate as t } from '@nextcloud/l10n' import { View, getNavigation } from '@nextcloud/files' +import { ShareType } from '@nextcloud/sharing' import AccountClockSvg from '@mdi/svg/svg/account-clock.svg?raw' import AccountGroupSvg from '@mdi/svg/svg/account-group.svg?raw' import AccountPlusSvg from '@mdi/svg/svg/account-plus.svg?raw' @@ -86,7 +87,7 @@ export default () => { columns: [], - getContents: () => getContents(false, true, false, false, [window.OC.Share.SHARE_TYPE_LINK]), + getContents: () => getContents(false, true, false, false, [ShareType.Link]), })) Navigation.register(new View({ |