From ec75d863ecd4b45bd0da8d783dbacfd17f3a8f37 Mon Sep 17 00:00:00 2001 From: Prakash Date: Fri, 7 Nov 2025 16:50:57 +0530 Subject: [PATCH] @uppy/provider-views: add e2e tests for Server side search (#6015) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tests added as discussed in [slack_discussion](https://transloadit.slack.com/archives/C0FMW9PSB/p1759931999124149?thread_ts=1759700542.941939&cid=C0FMW9PSB) directory structure mocked : ``` root/ ├── first/ │ ├── second/ │ │ ├── third/ │ │ │ ├── nested-target.pdf │ │ │ └── new-file.pdf │ │ ├── deep-file.txt │ │ ├── target.pdf │ │ └── workspace.pdf │ └── intermediate.doc ├── workspace/ │ └── project/ │ └── code.js └── readme.md ``` Some of the mocked responses in CompanionHandler.ts aren’t used in the tests, but I’ve kept them to preserve the legitimacy of the above directory structure. --- packages/@uppy/dashboard/package.json | 1 + .../src/GlobalSearch.browser.test.ts | 568 ++++++++++++++++++ .../dashboard/src/mocks/CompanionHandler.ts | 447 ++++++++++++++ packages/@uppy/dashboard/src/setup.ts | 4 + .../src/ProviderView/ProviderView.tsx | 21 +- yarn.lock | 1 + 6 files changed, 1040 insertions(+), 2 deletions(-) create mode 100644 packages/@uppy/dashboard/src/GlobalSearch.browser.test.ts create mode 100644 packages/@uppy/dashboard/src/mocks/CompanionHandler.ts create mode 100644 packages/@uppy/dashboard/src/setup.ts diff --git a/packages/@uppy/dashboard/package.json b/packages/@uppy/dashboard/package.json index 711ad24ab..6e69e73dc 100644 --- a/packages/@uppy/dashboard/package.json +++ b/packages/@uppy/dashboard/package.json @@ -56,6 +56,7 @@ }, "devDependencies": { "@uppy/core": "workspace:^", + "@uppy/dropbox": "workspace:^", "@uppy/google-drive": "workspace:^", "@uppy/url": "workspace:^", "@uppy/webcam": "workspace:^", diff --git a/packages/@uppy/dashboard/src/GlobalSearch.browser.test.ts b/packages/@uppy/dashboard/src/GlobalSearch.browser.test.ts new file mode 100644 index 000000000..1b2050e56 --- /dev/null +++ b/packages/@uppy/dashboard/src/GlobalSearch.browser.test.ts @@ -0,0 +1,568 @@ +import Uppy from '@uppy/core' +import Dashboard from '@uppy/dashboard' +import Dropbox from '@uppy/dropbox' +import GoogleDrive from '@uppy/google-drive' +import { ProviderViews } from '@uppy/provider-views' +import { page, userEvent } from '@vitest/browser/context' +import { afterAll, afterEach, beforeAll, describe, expect, test } from 'vitest' +import { worker } from './setup.js' + +import '@uppy/core/css/style.css' +import '@uppy/dashboard/css/style.css' + +let uppy: Uppy | undefined + +/** + * In Normal mode (ListItem.tsx), folders are rendered as buttons, whereas files are rendered as checkboxes with a corresponding