## Summary
Migrates all unit tests from `tests-ui/` to colocate with their source
files in `src/`, improving discoverability and maintainability.
## Changes
- **What**: Relocated all unit tests to be adjacent to the code they
test, following the `<source>.test.ts` naming convention
- **Config**: Updated `vitest.config.ts` to remove `tests-ui` include
pattern and `@tests-ui` alias
- **Docs**: Moved testing documentation to `docs/testing/` with updated
paths and patterns
## Review Focus
- Migration patterns documented in
`temp/plans/migrate-tests-ui-to-src.md`
- Tests use `@/` path aliases instead of relative imports
- Shared fixtures placed in `__fixtures__/` directories
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7811-chore-migrate-tests-from-tests-ui-to-colocate-with-source-files-2da6d73d36508147a4cce85365dee614)
by [Unito](https://www.unito.io)
---------
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: GitHub Action <action@github.com>
* Add copyTerminal translation key
* Add copy terminal button with select all functionality
* Remove copy button from error view button group
* Add hover-based copy button overlay to terminal
* Fix clipboard copy implementation in BaseTerminal
* Add 'Copy all' tooltip to terminal copy button
* Fix copy button to be away from right hand side
* Update copy button to respect existing selection
- Copy only selected text if any exists
- Copy all text and clear selection if nothing selected
- Update tooltip to reflect new behavior
* Add dynamic tooltip showing actual copy action
- Show 'Copy selection' when text is selected
- Show 'Copy all' when no text is selected
* Remove redundant i18n
* Fix aria-label to use dynamic tooltip text
* Remove debug console.error statements from useTerminal
Clean up debug logging added during development:
- Remove selection change debug logging
- Remove focus state debug logging
- Remove keyboard event debug logging
- Remove copy/paste debug logging
* Remove redundant keyboard handling from useTerminal
The rebase commit already fixed basic copy/paste.
Removed only the complex keyboard event handling that
duplicates the rebase fix. Kept the valuable UI features:
- Hover copy button overlay
- Right-click context menu
* Use Tailwind transition classes instead of custom CSS
Replace custom .animate-fade-in with standard Tailwind
transition-opacity duration-200 classes
* Use VueUse useElementHover for robust hover handling
Replace manual mouseenter/mouseleave events with VueUse
useElementHover composable which properly handles all
edge cases including mouseout and interrupted events
* Move tooltip to left of button
Relieves squished tooltip
* Simplify code
* Fix listener lifecycle management
Consolidate setup into single onMounted block instead
of creating unnecessary duplicate lifecycle hooks
* Replace any type with proper IDisposable type
* Refactor copy logic for clarity
* Use v-show for proper opacity transitions
* Prefer optional chaining
* Use useEventListener for context menu
* Remove redundant opacity classes
* Add BaseTerminal component tests
* Use pointer-events for button interactivity
* Update tests for pointer-events button behavior
* Fix clipboard mock in tests
* Fix test expectations for opacity classes
* Simplify hover tests for button state
* Remove low-value 'renders terminal container' test
* Remove non-functional 'button responds to hover' test
* Remove implementation detail test for dispose listener
* Remove redundant 'tracks selection changes' test
* Remove obvious comments from test file
* Use cn() utility for conditional classes
* Update tests-ui/tests/components/bottomPanel/tabs/terminal/BaseTerminal.spec.ts
Co-authored-by: Alexander Brown <drjkl@comfy.org>
* [auto-fix] Apply ESLint and Prettier fixes
* Remove 'any' types from wrapper and terminalMock variables
Add assertion to verify onSelectionChange was called
* Move mountBaseTerminal factory to module scope
* Rename test file
- Current consensus is .test.ts for component files
* Update src/components/bottomPanel/tabs/terminal/BaseTerminal.vue
* nit
---------
Co-authored-by: Alexander Brown <drjkl@comfy.org>
Co-authored-by: GitHub Action <action@github.com>
* fix: Update command label rendering to use i18n normalization
* fix: Replace deprecated with t for command label rendering
* fix: Simplify command rendering check in ShortcutsList tests
* fix: Add missing translation for command label in ShortcutsList tests