Skip to content

test(ux): render + interaction coverage for new UX components - #126

Merged
os-zhuang merged 1 commit into
mainfrom
test/ux-component-coverage
Jun 11, 2026
Merged

test(ux): render + interaction coverage for new UX components#126
os-zhuang merged 1 commit into
mainfrom
test/ux-component-coverage

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

Component test coverage

The UX pass added three components that only had store/helper unit tests. This adds render + interaction coverage.

DensitySelector

  • Renders both options (Comfortable / Compact).
  • Pressing one writes the global density through ui-store; toggles back.

QuickCreateSheet

  • Flattens object leaves from app navigation including nested groups, dedupes an object surfaced under multiple views, and ignores non-object leaves (dashboards etc.).
  • Pressing a row routes to /(app)/<app>/<object>/new and closes the sheet.
  • Shows the empty hint when nothing is creatable.

EditableSelectField (via DetailViewRenderer)

  • Stays read-only (no edit affordance) without an onFieldEdit handler.
  • Opening the picker and choosing a new option calls onFieldEdit(field, value).
  • Re-selecting the current value is a no-op.

Note

QuickCreateSheet's import chain doesn't transitively pull in ~/lib/i18n, so the test imports it to initialize i18next (otherwise t() returns raw keys). Full suite: 1337 passing.

🤖 Generated with Claude Code

Cover the three components added in the UX pass that had only store/helper
unit tests:

- DensitySelector — renders both options; pressing one writes the global
  density through ui-store; toggles back.
- QuickCreateSheet — flattens object leaves from app navigation (incl. nested
  groups), dedupes an object surfaced under multiple views, ignores non-object
  leaves; pressing a row routes to the object's create form and closes the
  sheet; empty hint when nothing is creatable.
- EditableSelectField (via DetailViewRenderer) — stays read-only without an
  onFieldEdit handler; opening the picker and choosing a new option calls
  onFieldEdit(field, value); re-selecting the current value is a no-op.

QuickCreateSheet's chain doesn't transitively import ~/lib/i18n, so the test
imports it to initialize i18next. Full suite 1337 passing.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@os-zhuang
os-zhuang merged commit ff0e053 into main Jun 11, 2026
@os-zhuang
os-zhuang deleted the test/ux-component-coverage branch June 11, 2026 12:17
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