[IMP] viin_brain: extend TourCaseBase with _ensure_contracts_database (round 4 follow-up)
Address Gap 2 from CEO intent review: 7 tour JS files hardcode
:contains("Contracts Database") + :contains("Contract Alpha") selectors,
making those tours fail with --without-demo=all even after Phase B switch
to TourCaseBase.
Per CEO directive (Boil-the-Lake max): seed the demo_db_page_contracts
fixture inside cls._tour_vault so tours pass deterministically regardless
of demo data state.
_ensure_contracts_database() seeds (idempotent — prefer demo, fallback
search, finally create):
- Contracts Database page (page_type=database, icon 🗂️)
- Status property (select with Draft/Review/Signed options)
- Effective Date property (date)
- Contract Alpha + Contract Beta child pages (Gamma omitted — tours
reference only Alpha; Beta provides second row for List/Kanban)
- Property values for Alpha (Status=Review, Date=2025-01-15)
- Default database view (kind=list, is_default=True)
Sets cls._contracts_db_page + cls._contract_alpha_page for subclasses.
Tours now pass with both --without-demo=all and demo loaded:
brain_database_view, brain_database_calendar_tour,
brain_database_gallery_tour, brain_database_board_tour,
brain_properties, brain_wikilink (line 97 Contracts Database step)
WI14 cluster (graph_panel tour) already covered by
test_brain_graph_panel_tour.py's own setUpClass — no fixture extension
needed.
Refs PR #27.
| Subbuilds | Name | State | Detail |
|---|---|---|---|
| Build 381539 | Check the quality with Pylint: from test_lint to test_pylint 14m | Succeed | Log |
| Build 381540 | At install tests: from account to website_twitter 129m | Succeed | Log |
| Build 381541 | Post install tests: step install all modules 64m | Succeed | Log |
| Build 381542 | Post install tests: from account to payment_alipay 194m | Succeed | Log |
| Build 381543 | Post install tests: from payment_aps to test_viin_web_cohort 239m | Succeed | Log |
| Build 381544 | Post install tests: from test_website to to_website_apps_store 85m | Succeed | Log |
| Build 381545 | Post install tests: from to_website_apps_store_loc to viin_estimate_sale 99m | Succeed | Log |
| Build 381546 | Post install tests: from viin_event_checkin_website to viin_project_gantt 39m | Succeed | Log |
| Build 381547 | Post install tests: from viin_project_progress to website_twitter 49m | Succeed | Log |
| Build 381548 | Test install all modules without demo data: from account to website_twitter 49m | Succeed | Log |
| Create Date | Level | Message |
|---|---|---|
| 05/04/2026 08:40:36 | INFO |
Updated repository Viindoo-odoo
|
| 05/04/2026 08:40:36 | INFO |
Updated repository Viindoo-tvtmaaddons
|
| 05/04/2026 08:40:36 | INFO |
Updated repository Viindoo-erponline-enterprise
|
| 05/04/2026 08:40:36 | INFO |
Updated repository Viindoo-branding
|
| 05/04/2026 08:40:36 | INFO |
Cloned repository Viindoo-ai
|