x
This commit is contained in:
1 parent
70877882b0
commit
ce2f4cf0c8
93 files changed
+4200
-67
No files matched your search
@@ -0,0 +1,57 @@
|
||||
# BRIEFING — 2026-06-29T12:02:00Z
|
||||
|
||||
## Mission
|
||||
Outline the E2E test strategy, feature inventory, and coverage for the Premium Mega Menu E2E Testing Track in TEST_INFRA.md.
|
||||
|
||||
## 🔒 My Identity
|
||||
- Archetype: worker_m1
|
||||
- Roles: implementer, qa, specialist
|
||||
- Working directory: /home/ti/git/homaroma/.agents/worker_m1
|
||||
- Original parent: f5557127-1c9c-40d2-90e6-d996a7381786
|
||||
- Milestone: Premium Mega Menu E2E Testing Track
|
||||
|
||||
## 🔒 Key Constraints
|
||||
- Test Philosophy: Opaque-box, requirement-driven, using the Bun test runner.
|
||||
- Feature Inventory:
|
||||
- Feature 1: Seeding Premium Mega Menu Payload (rootImage, columnImage, hoverImage).
|
||||
- Feature 2: Storefront Server-Rendered HTML Verification (cheerio parsing, next/image attributes, lazy loading properties, CSS/layout classes).
|
||||
- Feature 3: Responsive Layout Verification (mobile drawer hides complex image layouts).
|
||||
- Feature 4: MCP Tools API Integration (MCP tools correctly read and write menu payloads containing new image fields).
|
||||
- Test Architecture:
|
||||
- Spawn Elysia backend and Next.js storefront.
|
||||
- Use Bun test runner to execute tests in tests/mega-menu.test.ts.
|
||||
- Utilize cheerio and axios/fetch for page inspections.
|
||||
- Communicate with the MCP server to verify tool execution.
|
||||
- MANDATORY INTEGRITY WARNING: No cheating, no dummy/facade implementations, no hardcoded results.
|
||||
|
||||
## Current Parent
|
||||
- Conversation ID: f5557127-1c9c-40d2-90e6-d996a7381786
|
||||
- Updated: not yet
|
||||
|
||||
## Task Summary
|
||||
- **What to build**: Create `/home/ti/git/homaroma/TEST_INFRA.md` containing the E2E testing track specifications.
|
||||
- **Success criteria**: The file details the testing strategy, feature inventory, and coverage metrics aligning with the user request.
|
||||
- **Interface contracts**: /home/ti/git/homaroma/TEST_INFRA.md
|
||||
- **Code layout**: Root folder of homaroma repository.
|
||||
|
||||
## Key Decisions Made
|
||||
- Use exact requirements specified in user prompt for Features 1-4 and Test Architecture.
|
||||
|
||||
## Artifact Index
|
||||
- /home/ti/git/homaroma/TEST_INFRA.md — Testing track strategy and documentation.
|
||||
|
||||
## Change Tracker
|
||||
- **Files modified**:
|
||||
- `/home/ti/git/homaroma/TEST_INFRA.md` (Created, outlining E2E test strategy, feature inventory, and coverage)
|
||||
- **Build status**: N/A
|
||||
- **Pending issues**: None
|
||||
|
||||
## Quality Status
|
||||
- **Build/test result**: N/A
|
||||
- **Lint status**: N/A
|
||||
- **Tests added/modified**: N/A
|
||||
|
||||
## Loaded Skills
|
||||
- **Source**: N/A
|
||||
- **Local copy**: N/A
|
||||
- **Core methodology**: N/A
|
||||
@@ -0,0 +1,21 @@
|
||||
## 2026-06-29T11:49:06Z
|
||||
You are an implementation worker. Your working directory is /home/ti/git/homaroma/.agents/worker_m1.
|
||||
Your task is to create the file /home/ti/git/homaroma/TEST_INFRA.md outlining the test strategy, feature inventory, and coverage for the Premium Mega Menu E2E Testing Track.
|
||||
|
||||
Please base the design on the following features and guidelines:
|
||||
- Test Philosophy: Opaque-box, requirement-driven, using the Bun test runner.
|
||||
- Feature Inventory:
|
||||
- Feature 1: Seeding Premium Mega Menu Payload (containing rootImage, columnImage, hoverImage).
|
||||
- Feature 2: Storefront Server-Rendered HTML Verification (cheerio parsing, next/image attributes, lazy loading properties for hover images, CSS/layout classes).
|
||||
- Feature 3: Responsive Layout Verification (verifying that mobile drawer hides complex image layouts).
|
||||
- Feature 4: MCP Tools API Integration (verifying MCP tools correctly read and write menu payloads containing new image fields).
|
||||
- Test Architecture:
|
||||
- Spawn Elysia backend and Next.js storefront.
|
||||
- Use Bun test runner to execute tests located in tests/mega-menu.test.ts.
|
||||
- Utilize cheerio and axios/fetch for page inspections.
|
||||
- Communicate with the MCP server to verify tool execution.
|
||||
|
||||
MANDATORY INTEGRITY WARNING:
|
||||
DO NOT CHEAT. All implementations must be genuine. DO NOT hardcode test results, create dummy/facade implementations, or circumvent the intended task. A Forensic Auditor will independently verify your work. Integrity violations WILL be detected and your work WILL be rejected.
|
||||
|
||||
Please write the file /home/ti/git/homaroma/TEST_INFRA.md and provide a handoff report at /home/ti/git/homaroma/.agents/worker_m1/handoff.md. Send a message to the parent (f5557127-1c9c-40d2-90e6-d996a7381786) when done.
|
||||
@@ -0,0 +1,56 @@
|
||||
# Handoff Report — Premium Mega Menu E2E Testing Track
|
||||
|
||||
This report summaries the findings, reasoning, and verified outputs regarding the creation of the E2E test strategy document for the Premium Mega Menu.
|
||||
|
||||
---
|
||||
|
||||
## 1. Observation
|
||||
|
||||
* **Target File Creation**: Created `/home/ti/git/homaroma/TEST_INFRA.md` containing the E2E testing framework specifications, test philosophy, feature inventory, responsive drawer constraints, and sample test assertions.
|
||||
* **Component Structures Observed**:
|
||||
* In `/home/ti/git/homaroma/apps/website/src/components/navigation/DesktopMegaMenu.tsx` (lines 120-127, 134-142, 169-177):
|
||||
* Desktop renders root image (`item.rootImageUrl`), column icons (`column.iconUrl`), and hover previews (`hoveredLinkImage`).
|
||||
* Uses a custom wrapper component `MenuImage` invoking Next.js's `<Image>` component with optimization attributes like `fill`, `sizes="(max-width: 1024px) 0px, 224px"`, and `loading="lazy"` (for hover images).
|
||||
* In `/home/ti/git/homaroma/apps/website/src/components/navigation/MobileDrawer.tsx` (lines 63-149):
|
||||
* Mobile drawer renders only text-based menu link hierarchies (`getLocalizedMenuText(item.label, lang)`).
|
||||
* No `<img>` tags or visual layouts rendering `rootImageUrl`, `iconUrl`, or `hoverImage` exist inside `MobileDrawer.tsx`.
|
||||
* In `/home/ti/git/homaroma/apps/website/src/components/navigation/menuTypes.ts` (lines 1-28):
|
||||
* Payloads utilize the keys `rootImageUrl`, `iconUrl`, and `imageUrl`.
|
||||
* MCP Tools: Verified from MCP server specifications the existence of tools `upsert_menu` and `get_menu`.
|
||||
|
||||
---
|
||||
|
||||
## 2. Logic Chain
|
||||
|
||||
1. **Requirement Verification**: The task asks to create `TEST_INFRA.md` outlining the test strategy, feature inventory, and coverage for the Premium Mega Menu E2E Testing Track.
|
||||
2. **Analysis of Features**:
|
||||
* *Feature 1*: Must cover seeding menu payload with `rootImage`, `columnImage`, and `hoverImage`. This maps directly to the DB fields and frontend fields.
|
||||
* *Feature 2*: Must cover server-rendered HTML inspection. Since `DesktopMegaMenu.tsx` uses `<Image>` with explicit sizes (`sizes="(max-width: 1024px) 0px, 224px"`) and `loading="lazy"` on hover images, the Cheerio queries outlined in the testing guide check for these exact structures.
|
||||
* *Feature 3*: Must cover responsive layout verification. Since `MobileDrawer.tsx` does not render images, E2E tests must verify that the mobile HTML drawer remains free of large visual assets to save bandwidth.
|
||||
* *Feature 4*: Must cover MCP Tools API integration. By invoking MCP tool calls, we verify JSON-RPC validation correctness on the backend.
|
||||
3. **Execution/Test Runner**: Since the project is built on Bun, the `Bun test` runner is designated to execute typescript test files under `tests/mega-menu.test.ts`.
|
||||
|
||||
---
|
||||
|
||||
## 3. Caveats
|
||||
|
||||
* The Next.js storefront currently relies on client-island overrides (using `use client` directives) for parts of the interaction flow (such as hover states). Opaque-box E2E testing will inspect static SSR HTML output and class names, but dynamic transition behavior (e.g. actual hover visibility) would require a full browser automation tool (like Playwright or Puppeteer) if verified visually in a browser. This distinction is clearly detailed in the philosophy section of the document.
|
||||
|
||||
---
|
||||
|
||||
## 4. Conclusion
|
||||
|
||||
The file `/home/ti/git/homaroma/TEST_INFRA.md` has been successfully created. It aligns with all user requirements, referencing actual file layouts, CSS helper classes, and Next.js optimization properties implemented in the `homaroma` workspace.
|
||||
|
||||
---
|
||||
|
||||
## 5. Verification Method
|
||||
|
||||
To verify the work:
|
||||
1. Open and view `/home/ti/git/homaroma/TEST_INFRA.md` using any markdown reader or file viewing tool.
|
||||
2. Confirm the document outlines the 4 required features:
|
||||
* **Feature 1**: Seeding Premium Mega Menu Payload
|
||||
* **Feature 2**: Storefront Server-Rendered HTML Verification (cheerio parsing, next/image attributes, lazy loading properties, and CSS/layout classes)
|
||||
* **Feature 3**: Responsive Layout Verification (verifying mobile drawer hides complex layouts/images)
|
||||
* **Feature 4**: MCP Tools API Integration (tool read/write payload validation)
|
||||
3. Confirm the test runner specified is Bun and the proposed test script path is `tests/mega-menu.test.ts`.
|
||||
@@ -0,0 +1,10 @@
|
||||
# Progress Tracker
|
||||
|
||||
Last visited: 2026-06-29T12:05:00Z
|
||||
|
||||
- [x] Create and configure `ORIGINAL_REQUEST.md` and `BRIEFING.md`.
|
||||
- [x] Analyze codebase menu types, desktop mega menu, mobile drawer, and previous test strategies.
|
||||
- [x] Create `TEST_INFRA.md` containing the E2E testing track strategy, feature inventory, responsive layout verification constraints, and test execution instructions.
|
||||
- [x] Verify file paths and layout compliance.
|
||||
- [x] Create `handoff.md` report.
|
||||
- [x] Send handoff message to parent.
|
||||
Reference in new issue
Block a user