Files
EVOLV/.claude/rules/testing.md
znetsixe 6a6c04d34b Migrate to new Gitea instance (gitea.wbd-rd.nl)
- Update all submodule URLs from gitea.centraal.wbd-rd.nl to gitea.wbd-rd.nl
- Add settler as proper submodule in .gitmodules
- Add agent skills, function anchors, decisions, and improvements
- Add Docker configuration and scripts
- Add manuals and third_party docs
- Update .gitignore with secrets and build artifacts
- Remove stale .tgz build artifact

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 21:07:04 +01:00

1.1 KiB

paths
paths
nodes/*/test/**

Testing Rules

3-Tier Test Structure

Every node must have:

  • test/basic/*.test.js — Unit tests for individual functions
  • test/integration/*.test.js — Node interaction and message passing tests
  • test/edge/*.test.js — Edge cases, error conditions, boundary values
  • test/helpers/ (optional) — Shared test utilities for this node

Test Runner

node --test nodes/<nodeName>/test/basic/*.test.js
node --test nodes/<nodeName>/test/integration/*.test.js
node --test nodes/<nodeName>/test/edge/*.test.js

Test Requirements

  • Every behavior change requires a failing-before/passing-after test
  • Tests must validate against function anchor expected behavior
  • Example flows (examples/) must stay in sync with implementation

Example Flows

Each node must maintain:

  • examples/README.md
  • examples/basic.flow.json
  • examples/integration.flow.json
  • examples/edge.flow.json

No Node-RED Runtime in Unit Tests

Basic tests should test specificClass domain logic without requiring a running Node-RED instance.