Files
ComfyUI_frontend/tests-ui/tests/litegraph
Alexander Brown 84e6e99f17 Cleanup: Removing monkeypatches for litegraph logic (#5902)
## Summary

Putting the litegraph specific pieces into litegraph itself, using the
CanvasGraph and LiteGraphGlobal to coordinate options.

This was one part of the Image Previews reloading/calculating with every
canvas draw.

## Review Focus

Is this keeping things decoupled enough?
Is this the right place to put things?
Are there assumptions about the options that I'm missing here?

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-5902-WIP-Removing-monkeypatches-for-litegraph-logic-2816d73d3650818b860ec73579b89b54)
by [Unito](https://www.unito.io)

---------

Co-authored-by: github-actions <github-actions@github.com>
2025-10-03 21:22:42 -07:00
..
2025-08-27 06:10:15 -07:00

LiteGraph Tests

This directory contains the test suite for the LiteGraph library.

Structure

litegraph/
├── core/           # Core functionality tests (LGraph, LGraphNode, etc.)
├── canvas/         # Canvas-related tests (rendering, interactions)
├── infrastructure/ # Infrastructure tests (Rectangle, utilities)
├── subgraph/       # Subgraph-specific tests
├── utils/          # Utility function tests
└── fixtures/       # Test helpers, fixtures, and assets

Running Tests

# Run all litegraph tests
pnpm test:unit -- tests-ui/tests/litegraph/

# Run specific subdirectory
pnpm test:unit -- tests-ui/tests/litegraph/core/

# Run single test file
pnpm test:unit -- tests-ui/tests/litegraph/core/LGraph.test.ts

Migration Status

These tests were migrated from src/lib/litegraph/test/ to centralize test infrastructure. Currently, some tests are marked with .skip due to import/setup issues that need to be resolved.

TODO: Fix Skipped Tests

The following test files have been temporarily disabled and need fixes:

  • Most subgraph tests (circular dependency issues)
  • Some core tests (missing test utilities)
  • Canvas tests (mock setup issues)

See individual test files marked with // TODO: Fix these tests after migration for specific issues.

Writing New Tests

  1. Always import from the barrel export to avoid circular dependencies:

    import { LGraph, LGraphNode } from '@/lib/litegraph/src/litegraph'
    
  2. Use the test fixtures from fixtures/ directory

  3. Follow existing patterns for test organization

Test Fixtures

Test fixtures and helpers are located in the fixtures/ directory:

  • testExtensions.ts - Custom vitest extensions
  • subgraphHelpers.ts - Helpers for creating test subgraphs
  • subgraphFixtures.ts - Common subgraph test scenarios
  • assets/ - Test data files