Skip to content

Introduce test/ directory for manual UX test cases#604

Merged
softmarshmallow merged 1 commit intomainfrom
feature/pensive-blackwell
Mar 28, 2026
Merged

Introduce test/ directory for manual UX test cases#604
softmarshmallow merged 1 commit intomainfrom
feature/pensive-blackwell

Conversation

@softmarshmallow
Copy link
Copy Markdown
Member

@softmarshmallow softmarshmallow commented Mar 28, 2026

Summary

  • Replaces the monolithic editor/grida-canvas/ASSERTIONS.md with a structured test/ directory at the repo root
  • Each test case is a standalone markdown file with YAML frontmatter (id, module, area, status, severity, tags, automatable, covered_by) for machine-parseable metadata and future tooling
  • Migrated all 9 existing assertions + added 1 new TC (live text update during editing)
  • Includes README.md, AGENTS.md, and _template.md for contributing new entries

Why

ASSERTIONS.md was a single flat file — hard to discover, no structured metadata, no way to filter or track status across entries. The new structure:

  • One file per test case — git blame per behavior, easy to find via {module}-{area}-{description}.md naming
  • Frontmatter — enables future tooling (index generation, status dashboards, coverage tracking)
  • covered_by field — bridges manual TCs to automated tests as coverage grows
  • AGENTS.md — guides AI agents on when/how to add new TCs

Files

File Purpose
test/README.md Purpose, naming convention, frontmatter schema, workflow
test/AGENTS.md Agent guide: when to add, how to reference, rules
test/_template.md Copy-paste template for new TCs
test/canvas-*.md (10 files) Migrated assertions + 1 new TC

Test plan

  • All 9 original assertions migrated with matching content
  • Source code reference updated (surface-text-editor.tsx comment)
  • ASSERTIONS.md deleted, no dangling references in source
  • CLAUDE.md and editor/AGENTS.md updated with test/ references

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation

    • Established a new structured test case registry for manual UX testing and behavior verification
    • Implemented standardized processes for documenting and maintaining complex interaction test cases
    • Centralized test case specifications for improved maintainability
  • Chores

    • Reorganized test documentation structure for better project organization

Replace the monolithic editor/grida-canvas/ASSERTIONS.md with a structured
test/ directory at the repo root. Each test case is a standalone markdown
file with YAML frontmatter (id, module, area, status, severity, tags, etc.)
for machine-parseable metadata and future tooling.

Migrated all 9 existing assertions plus added one new TC for live text
update during editing. Includes README, AGENTS.md, and a template for
new entries.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented Mar 28, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
blog Ready Ready Preview, Comment Mar 28, 2026 5:54pm
docs Ready Ready Preview, Comment Mar 28, 2026 5:54pm
grida Ready Ready Preview, Comment Mar 28, 2026 5:54pm
viewer Ready Ready Preview, Comment Mar 28, 2026 5:54pm
3 Skipped Deployments
Project Deployment Actions Updated (UTC)
backgrounds Ignored Ignored Preview Mar 28, 2026 5:54pm
code Ignored Ignored Mar 28, 2026 5:54pm
legacy Ignored Ignored Mar 28, 2026 5:54pm

Request Review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 28, 2026

Caution

Review failed

Pull request was closed or merged during review

Walkthrough

Introduces a new structured test case registry in test/ directory to document manual UX behaviors and verification specifications, replacing ad-hoc documentation previously in ASSERTIONS.md. Establishes standardized metadata schemas and step-by-step procedures for canvas features including resize, clipboard, input handling, layout, and overlay interactions.

Changes

Cohort / File(s) Summary
Test Registry Infrastructure
test/README.md, test/AGENTS.md, test/_template.md
Establishes framework for manual test case registry with standardized directory conventions, YAML frontmatter schemas (id, module, area, status, severity, automatable, covered\_by fields), and template for future test specs. Includes guidance on when/how to add test cases and workflow for promoting manual tests to automated.
Canvas Resize & Handle Tests
test/canvas-resize-vector-aspect-ratio.md, test/canvas-resize-handle-visibility-threshold.md, test/canvas-resize-handle-z-order-zoom.md
Documents resize behavior specifications including SHIFT+drag aspect-ratio preservation for vectors, handle visibility thresholds at small node sizes, and conditional z-order priority based on zoom level with side-handle priority for "text resize-to-fit" interactions.
Canvas Input & History Tests
test/canvas-input-history-undo-cem.md, test/canvas-input-guideline-event-blocking.md, test/canvas-input-text-live-update.md
Specifies input mode behaviors: editor undo/redo precedence in content-edit mode (CEM) to prevent browser history interference, guideline event blocking during eager input states, and live text rendering updates during active editing with regression note about prior WASM backend issue.
Canvas Clipboard & Layout Tests
test/canvas-clipboard-internal-priority.md, test/canvas-clipboard-context-menu-paste-position.md, test/canvas-layout-auto-layout-direct-apply.md
Documents clipboard behavior (Grida internal format priority over external payloads, context-menu paste positioning at cursor rather than viewport center) and auto-layout direct application to single containers with analysis-based flex configuration.
Canvas Overlay & Structure
test/canvas-overlay-frame-title-bar-z-order.md
Specifies z-order layering ensuring frame/container title bars remain interactive above selection overlays but below resize/rotation handles via FLOATING\_BAR\_Z\_INDEX.
Documentation Updates & Deletions
AGENTS.md, editor/AGENTS.md, editor/.../surface-text-editor.tsx, editor/grida-canvas/ASSERTIONS.md
Updated AGENTS.md to document test/ module purpose; added guidance in editor/AGENTS.md to consult test/ for UX behaviors; updated code comment in surface-text-editor.tsx undo/redo section to reference test/canvas-input-history-undo-cem.md instead of deleted ASSERTIONS.md; removed ASSERTIONS.md (63 lines of prior UX specifications migrated to test/).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~18 minutes

Possibly related PRs

  • Grida Canvas CG: save layer optimizations & UX improvements #479: Implements editor undo/redo override in content-edit mode (explicitlyOverrideInputUndoRedo); directly corresponds to the test/canvas-input-history-undo-cem.md specification added here.
  • Daily RC #478: Updates resize-handle visibility threshold behavior with MIN\_NODE\_OVERLAY\_RESIZE\_HANDLES\_VISIBLE\_UI\_SIZE constant; aligns with test/canvas-resize-handle-visibility-threshold.md documentation.
  • Daily RC #465: Introduces UX behavior changes and implementation updates for various canvas interactions (undo, guideline blocking, auto-layout, clipboard, overlay z-order); specifications for these behaviors are now documented in corresponding test files.

Suggested labels

documentation, migration, ux

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title directly and accurately summarizes the primary change: introducing a new test/ directory for manual UX test cases. This matches the main objective of reorganizing assertions into a structured directory.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/pensive-blackwell

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant