E2e User Journey
Ecosistema completo para organización y gestión de contenido con interfaces espaciales
E2E User Journey Testing Guide
Overview
This document outlines the complete end-to-end user journeys for the GoGrab Space platform, ensuring all tools work together seamlessly in the multiverse architecture.
Testing Philosophy
"Test the user's experience, not just the code."
- Every test scenario represents a real user workflow
- Tests must pass through multiple tools (Editor, Singularity, Modularity, Launch Station)
- Context must persist across navigation
- Universe-scoped routes must work correctly
Manual Testing Checklist
Execute this checklist before each phase completion and before any release:
Core Navigation
- Can access
/landing- platform landing page - Can access
/dashboard- main dashboard - Dashboard shows list of universes
- Can access
/universe/create- universe creation wizard - Universe creation wizard works (3 steps)
- After creation, redirects to
/space-map/:universeId
Space Map Journey
- Can access
/space-map/:universeId- universe detail - Universe detail shows galaxies and pages
- Can navigate to galaxy detail
/space-map/:universeId/:galaxyId - Can create new galaxy
- Can create new page
- Pages appear in Space Map after creation
- Universe context persists (shown in breadcrumb/header)
Editor Journey
- Can access
/editor/:universeId/workspace- editor workspace - If no page selected, page selector modal appears
- Can select existing page from modal
- Editor loads with selected page
- Can drag widgets from panel onto canvas
- Can configure widget properties
- Can save page (Ctrl+S or Save button)
- Saved changes persist after navigation away and back
- Universe context shows correct universe
Singularity Journey
- Can access
/singularity/:universeId/dashboard- Singularity dashboard - Dashboard shows existing flows
- Can navigate to
/singularity/:universeId/logic-builder- Logic Builder - Logic Builder loads correctly with canvas
- Can drag blocks from library onto canvas
- Can connect blocks via ports
- Can configure block properties
- Can save flow (Save button or Ctrl+S)
- Can execute flow (Run button)
- Execution results appear in panel
- Can navigate to
/singularity/:universeId/database- Database Integration - Can create database schema
- Universe context persists across all Singularity routes
Modularity Journey
- Can access
/modularity- Modularity dashboard - Dashboard shows existing modules
- Can click "Create Module" button
- Module builder opens with 3 tabs: Content, Logic, Deploy
- Content Tab: Shows pages from current universe
- Can select multiple pages
- Logic Tab: Shows flows from Singularity
- Can select multiple flows
- Deploy Tab: Can configure module manifest
- Can deploy module
- Deployed module appears in module list
- Deployed module routes are accessible
Launch Station Journey (Future)
- Can access
/launch-station- Launch Station dashboard - Dashboard shows all universes with deployment status
- Can click "Deploy Universe" button
- Deployment wizard opens (5 steps)
- Step 1: Domain configuration (subdomain or custom)
- Step 2: SEO settings (meta tags, OG image)
- Step 3: Analytics (Google Analytics, Plausible)
- Step 4: Performance (CDN, caching)
- Step 5: Review & Deploy
- Can deploy universe
- Universe status changes to "Published"
- Can access marketplace
- Can browse and install modules
- Can access template gallery
- Can apply template to universe
Test Scenarios
Scenario 1: Universe Creation to Space Map
Objective: Verify complete universe creation flow and redirect.
Steps:
- Navigate to
/dashboard - Click "Create Universe" button → redirects to
/universe/create - Fill in universe details:
- Name: "Test Universe"
- Description: "E2E Test Universe"
- Select "Blank Universe" template
- Click through wizard steps (3 total)
- Click "Create Universe" on final step
- Expected: Redirects to
/space-map/test-universe(or generated ID) - Expected: Universe appears in Space Map
- Expected: Breadcrumb shows "Test Universe"
Pass Criteria:
- ✅ Universe created successfully
- ✅ Redirect works correctly
- ✅ Universe visible in Space Map
- ✅ Context service has correct universe ID
Scenario 2: Create Page in Editor
Objective: Create a page using the Editor and verify it appears in Space Map.
Steps:
- Navigate to
/space-map/:universeId - Click "Open Editor" button → redirects to
/editor/:universeId/workspace - Page selector modal appears (no page selected)
- Click "Create New Page"
- Fill in page details:
- Title: "Homepage"
- Slug: "home"
- Editor loads with empty canvas
- Drag "Heading" widget from panel onto canvas
- Configure heading text: "Welcome to Test Universe"
- Click Save button (or Ctrl+S)
- Expected: Success message appears
- Navigate back to
/space-map/:universeId - Expected: "Homepage" appears in pages list
Pass Criteria:
- ✅ Editor loads correctly
- ✅ Widgets can be dragged onto canvas
- ✅ Page saves successfully
- ✅ Page appears in Space Map
- ✅ Page persists after refresh
Scenario 3: Create Flow in Singularity
Objective: Create a logic flow in Singularity and save it.
Steps:
- Navigate to
/space-map/:universeId - Click "Open Singularity" button → redirects to
/singularity/:universeId/dashboard - Click "Logic Builder" in navigation
- Logic Builder canvas loads
- Drag "Start" block from library onto canvas
- Drag "Function" block onto canvas
- Configure function block:
- Name: "calculateSum"
- Operation: "add"
- Inputs: a=5, b=10
- Connect Start block output to Function block input
- Drag "Output" block onto canvas
- Connect Function block output to Output block input
- Click Save button
- Name flow: "Simple Addition"
- Expected: Flow saved successfully
- Click Run button
- Expected: Execution panel shows result: 15
- Navigate to
/singularity/:universeId/dashboard - Expected: "Simple Addition" flow appears in dashboard
Pass Criteria:
- ✅ Logic Builder loads correctly
- ✅ Blocks can be dragged and connected
- ✅ Flow saves successfully
- ✅ Flow executes correctly
- ✅ Flow appears in dashboard
Scenario 4: Package Module with Pages and Flows
Objective: Package a module that combines pages from Editor and flows from Singularity.
Prerequisites:
- At least 2 pages created in Editor
- At least 1 flow created in Singularity
Steps:
- Navigate to
/modularity - Click "Create Module" button
- Module Builder opens
- Content Tab:
- Select "Homepage" page (checkbox)
- Select "About" page (checkbox)
- Click "Next" or switch to Logic Tab
- Logic Tab:
- Select "Simple Addition" flow (checkbox)
- Check "Expose as Action"
- Action name: "calculateSum"
- Click "Next" or switch to Deploy Tab
- Deploy Tab:
- Module Name: "Basic Module"
- Base Route: "/basic"
- Click "Generate Manifest"
- Review generated manifest
- Click "Deploy Module"
- Expected: Module deployed successfully
- Expected: Module appears in Modularity dashboard
- Try accessing
/basic(module's base route) - Expected: Module homepage loads
Pass Criteria:
- ✅ Can select pages from Content tab
- ✅ Can select flows from Logic tab
- ✅ Manifest generates correctly
- ✅ Module deploys without errors
- ✅ Module routes are accessible
- ✅ Module pages render correctly
Scenario 5: Universe Context Persistence
Objective: Verify universe context persists across tool navigation.
Steps:
- Navigate to
/space-map/:universeId(Universe A) - Note universe ID/name in breadcrumb
- Navigate to
/editor/:universeId/workspace - Expected: Breadcrumb still shows Universe A
- Navigate to
/singularity/:universeId/logic-builder - Expected: Breadcrumb still shows Universe A
- Navigate to
/modularity - Expected: Breadcrumb still shows Universe A (or "All Universes")
- Navigate to
/dashboard - Select different universe (Universe B)
- Navigate to
/editor/:universeBId/workspace - Expected: Breadcrumb now shows Universe B
- Expected: Editor loads pages from Universe B (not Universe A)
Pass Criteria:
- ✅ Universe context persists across navigation
- ✅ Context service updates correctly
- ✅ Each tool loads correct universe data
- ✅ Context breadcrumb updates correctly
- ✅ Switching universes updates all tools
Scenario 6: AI Integration (Future)
Objective: Use AI to generate widgets, flows, and modules.
Steps:
- Navigate to
/editor/:universeId/workspace - Click "AI Widget Styler" button
- Describe widget: "Create a purple gradient button with rounded corners"
- AI generates 3 style variations
- Select variation and apply to widget
- Navigate to
/singularity/:universeId/logic-builder - Click "AI Assist" button
- Describe function: "Validate email addresses and return true/false"
- AI generates TypeScript function
- Add function as block to canvas
- Test function with sample email
- Navigate to
/modularity - Click "AI Module Generator"
- Describe module: "Create a simple blog module with post list and detail pages"
- AI generates complete module
- Review and deploy module
Pass Criteria (Future):
- ✅ AI generates widget style variations
- ✅ AI generates executable TypeScript functions
- ✅ AI generates complete modules
- ✅ Generated code is production-ready
- ✅ Generated code uses theme utilities
Automated Testing Strategy (Future)
Unit Tests
- Test individual services in isolation
- Mock dependencies
- Cover edge cases
Integration Tests
- Test service interactions
- Test component communication
- Test data flow between services
E2E Tests (Playwright)
- Automate the scenarios above
- Run before each deployment
- Test critical paths only (to save time)
Visual Regression Tests
- Capture screenshots of key pages
- Compare against baseline
- Detect unintended visual changes
Test Data Requirements
Minimum Data for E2E Testing
Users:
- Test User 1:
[email protected](admin) - Test User 2:
[email protected](viewer)
Universes:
- Universe 1: "Test Universe" (for creation/editing tests)
- Universe 2: "Demo Universe" (for context switching tests)
- Universe 3: "E-commerce Demo" (for module/template tests)
Pages (in Test Universe):
- Homepage (slug: home)
- About Page (slug: about)
- Contact Page (slug: contact)
Flows (in Test Universe):
- Simple Addition (basic math flow)
- Email Validator (string processing flow)
- Database Query (storage integration flow)
Modules:
- Basic Module (combines Homepage + About)
- Contact Module (Contact page + Email Validator flow)
Known Issues & Workarounds
Issue 1: Route Params Not Updating
Symptom: Navigation works but universe context doesn't update.
Workaround: Use ActivatedRoute.params subscription in layout components.
Status: FIXED in Singularity layout (Phase 0.1)
Issue 2: Page Selector Modal Doesn't Appear
Symptom: Editor loads without page selector modal.
Workaround: Navigate to /editor/:universeId/workspace/:pageId with explicit page ID.
Status: Needs investigation
Issue 3: Module Routes Not Accessible
Symptom: Deployed modules return 404 errors. Workaround: Manually add routes to app.routes.ts. Status: Needs DynamicRouteService implementation (Phase 1.2)
Test Execution Log
| Date | Tester | Scenario | Status | Notes |
|---|---|---|---|---|
| 2025-10-26 | System | Scenario 1 | ⏳ Pending | After Phase 0.1 fix |
| 2025-10-26 | System | Scenario 2 | ⏳ Pending | After Phase 0.2 fix |
| 2025-10-26 | System | Scenario 3 | ⏳ Pending | After Phase 0.1 fix |
Next Steps
- Phase 0.1: Fix Singularity routes ✅ COMPLETE
- Phase 0.2: Fix Editor routes
- Phase 0.3: Fix Space Map routes
- Phase 0.4: Test all scenarios manually
- Phase 1+: Continue with plan implementation
Contact
For questions or issues with testing:
- Documentation:
docs/english/GoGrab-Space/ - GitHub Issues: Tag with
testinglabel - Slack:
#qa-testingchannel