mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-05-11 16:30:57 +00:00
## Summary Fixed two minor documentation inaccuracies found during comprehensive documentation audit: - Corrected outdated "Lodash" reference to "Utility Functions" in unit testing guide - Updated package manager command from `npx` to `pnpm dlx` in Playwright skill documentation ## Changes Made ### Documentation Fixes #### docs/testing/unit-testing.md:150 - **Before**: `## Mocking Lodash Functions` - **After**: `## Mocking Utility Functions` - **Reason**: The section describes mocking `es-toolkit/compat` functions, not Lodash. The project uses es-toolkit as stated in AGENTS.md line 158 and docs/guidance/typescript.md line 60. #### .claude/skills/writing-playwright-tests/SKILL.md:117 - **Before**: `npx playwright show-trace trace.zip` - **After**: `pnpm dlx playwright show-trace trace.zip` - **Reason**: Project standardizes on pnpm, explicitly avoiding npx per AGENTS.md line 42: "use `pnpx` or `pnpm dlx` — never `npx`" ## Audit Summary Comprehensive audit verified accuracy of: - ✅ Core documentation (CLAUDE.md, AGENTS.md, README.md) - ✅ All docs/**/*.md files (40+ files including ADRs, testing guides, architecture docs) - ✅ All README files throughout repository (21 files) - ✅ All .claude/commands/*.md files (8 files) - ✅ Code examples and API references - ✅ File structure references (verified src/router.ts, src/i18n.ts, src/main.ts, config files exist) - ✅ Package dependencies (es-toolkit ^1.39.9 confirmed) - ✅ Script commands (pnpm test:unit, pnpm test:browser:local, etc.) - ✅ External resource links - ✅ ADR index and dates All other documentation remains accurate and up-to-date as of 2026-05-04. ## Review Notes This PR contains only two trivial corrections to terminology/commands. No functional changes, no code changes, no breaking changes. The documentation audit found the codebase documentation to be in excellent condition overall. Co-authored-by: christian-byrne <72887196+christian-byrne@users.noreply.github.com>
ComfyUI Frontend Testing Guide
This guide provides an overview of testing approaches used in the ComfyUI Frontend codebase. These guides are meant to document any particularities or nuances of writing tests in this codebase, rather than being a comprehensive guide to testing in general. By reading these guides first, you may save yourself some time when encountering issues.
Testing Documentation
Documentation for unit tests is organized into three guides:
- Component Testing - How to test Vue components
- Unit Testing - How to test utility functions, composables, and other non-component code
- Store Testing - How to test Pinia stores specifically
Testing Structure
The ComfyUI Frontend project uses colocated tests - test files are placed alongside their source files:
- Component Tests: Located directly alongside their components (e.g.,
MyComponent.test.tsnext toMyComponent.vue) - Unit Tests: Located alongside their source files (e.g.,
myUtil.test.tsnext tomyUtil.ts) - Store Tests: Located in
src/stores/alongside their store files - Browser Tests: Located in the
browser_tests/directory (see dedicated README there)
Test File Naming
- Use
.test.tsextension for test files - Name tests after their source file:
sourceFile.test.ts
Test Frameworks and Libraries
Our tests use the following frameworks and libraries:
- Vitest - Test runner and assertion library
- @testing-library/vue - Preferred for user-centric component testing
- @testing-library/user-event - Realistic user interaction simulation
- @vue/test-utils - Vue component testing utilities (legacy; new tests must use @testing-library/vue)
- Pinia - For store testing
Getting Started
To run the tests locally:
# Run unit tests
pnpm test:unit
# Run a specific test file
pnpm test:unit -- src/path/to/file.test.ts
# Run unit tests in watch mode
pnpm test:unit -- --watch
Refer to the specific guides for more detailed information on each testing type.