Name: [IMP] viin_brain,viin_web_editor: Brain core UI polish wave — runtime bug + a11y/responsive

State: Failed finished in 20m

PR State: merged

PR Author: David Tran

PR Author Email:

PR: #37

Committer: David Tran

Committer Email: davidtran.hp@gmail.com

Commit: aac2998278334790285ec1bfe175bd891da5a2cc

Description:

                                            [TEST] viin_brain: JS smoke + behaviour tests for the UI/UX polish wave

The wave reworked the form-sidebar quick-create flow heavily but left the JS
surfaces unguarded. Adds protection at two altitudes (ETHOS §11 - guard the
behaviour, not the click):

1. Quick-create drawer tour (brain_form_sidebar_drawer.js + Python runner):
   open the drawer, click a vault item and an entry-kind button (both crashed
   pre-fix via the bare-arrow "this" loss), assert the native web_editor
   Wysiwyg mounts, type a rich body, Save & Close. The runner then asserts the
   server outcome - page created, title + rich body persisted, entry_kind
   applied (so the crash fix produced an *effect*, not just "did not throw"),
   and the note surfaces on the record via the sidebar union (#1).
   Verified on a clean DB: 12/12 steps + all assertions green.

2. BrainFormSidebar layout unit tests (brain_form_sidebar_layout_tests.js):
   panel/rail/strip mapping + the resize-reactive guard - mutating the
   viewport size after mount must re-render the layout. This fails if the
   useState(useService('ui')) wrap regresses to a bare useService (the #3
   bug). All assertions pass (verified in isolation: 4/4).

Registers both in __manifest__.py (web.assets_tests / web.qunit_suite_tests)
and the runner in tests/__init__.py.
                                            

Branch: 17.0

Instance ID: 0

Age:

Up-time: