Files
Orchestrator/bahn/db-planet-mcp-server/manual-test-plan.md
T
ankn a5f8fb49ab Migrate all repos into monorepo context folders
Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
      Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
      Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)

Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
2026-06-30 20:39:52 +02:00

12 KiB

DB Planet MCP Server — Manual Test Plan

Based on the 8 component specs and actual tool implementations. Test against staging: https://dbahn-staging.haiilo.cloud/


Tools: Search_FullText, Search_QuickEntity, Search_Grouped

# Use Case Tool Test Input Expected Result Status Notes
1.1 Global full-text search Search_FullText query: "sustainability" Returns result list with id, title, type, excerpt, modified
1.2 Full-text search with pagination Search_FullText query: "test", page: 0, pageSize: 3 Returns max 3 results
1.3 Full-text search — no results Search_FullText query: "xyznonexistent999" Returns "No results found" message
1.3a Full-text search — quoted query (LLM edge case) Search_FullText query: '"sustainability initiative"' Should strip quotes and return results Fixed: quote stripping added
1.4 Quick entity search (users, pages, etc.) Search_QuickEntity query: "Alexandra" Returns matching entities
1.5 Quick entity search — no results Search_QuickEntity query: "xyznonexistent999" Returns "No entities found" message
1.6 Grouped search by content type Search_Grouped query: "GenAI" Returns results grouped by type
1.7 Search for events Search_QuickEntity query: "Town Hall" Returns event entities
1.8 Search for workspaces Search_QuickEntity query: "Innovation" Returns workspace entities

Component 2: Workspace Management & Collaboration

Tools: Workspace_List, Workspace_Get, Workspace_GetMembers, Workspace_Join, Workspace_Create

# Use Case Tool Test Input Expected Result Status Notes
2.1 List all workspaces Workspace_List (no params) Returns list of workspaces
2.2 Get workspace details by ID Workspace_Get id: "<UUID from 2.1>" Returns workspace name, description, visibility
2.3 Get workspace members Workspace_GetMembers id: "<UUID from 2.1>" Returns member list with roles
2.4 Join a workspace Workspace_Join id: "<UUID of a workspace you're not in>" Returns success message
2.5 Create a new workspace Workspace_Create name: "Manual Test Workspace", visibility: "PUBLIC" Returns created workspace JSON
2.6 Create workspace with PRIVATE visibility Workspace_Create name: "Private Test WS", visibility: "PRIVATE" Returns created workspace with visibility=PRIVATE
2.7 Get non-existent workspace Workspace_Get id: "00000000-0000-0000-0000-000000000000" Returns 404 error

Component 3: News & Content Consumption

Tools: News_GetFeed

⚠️ Known Issue: GET /web/blog/newsfeed returns 404 on staging

# Use Case Tool Test Input Expected Result Status Notes
3.1 Get news feed (default) News_GetFeed (no params) Returns articles OR 404 (staging limitation) ⚠️ Endpoint missing on staging
3.2 Get only published articles News_GetFeed includePublished: true Returns published articles OR 404 ⚠️
3.3 Get scheduled articles News_GetFeed includeScheduled: true Returns scheduled articles OR 404 ⚠️
3.4 Get drafts News_GetFeed includeDrafts: true Returns draft articles OR 404 ⚠️
3.5 Filter by date News_GetFeed limitDate: "2025-01" Returns articles from Jan 2025 OR 404 ⚠️

Component 4: People Directory & User Profiles

# Use Case Tool Test Input Expected Result Status Notes
4.1 Get current user profile People_GetMe (no params) Returns authenticated user's profile
4.2 List users with pagination People_List page: 0, pageSize: 5 Returns max 5 users
4.3 List users — default People_List (no params) Returns user list
4.4 Search people by name People_Search query: "Alexandra" Returns matching users
4.5 Search people — no results People_Search query: "xyznonexistent999" Returns "No people found" message
4.6 Get user by ID People_Get id: "<UUID from 4.1 or 4.4>" Returns user profile details
4.7 Get non-existent user People_Get id: "00000000-0000-0000-0000-000000000000" Returns 404 error

Component 5: Event Discovery & Participation

Tools: Event_Get, Event_GetMemberships, Event_UpdateStatus, Event_Create

# Use Case Tool Test Input Expected Result Status Notes
5.1 Get event details Event_Get id: "<UUID from Search_QuickEntity>" Returns event name, dates, location, description
5.2 Get event participants Event_GetMemberships id: "<UUID with showParticipants=true>" Returns participant list
5.3 Get participants — hidden Event_GetMemberships id: "<UUID with showParticipants=false>" Returns 404
5.4 Accept event Event_UpdateStatus id: "<UUID>", status: "ATTENDING" Returns success message
5.5 Decline event Event_UpdateStatus id: "<UUID>", status: "NOT_ATTENDING" Returns success message
5.6 Tentative event Event_UpdateStatus id: "<UUID>", status: "TENTATIVE" Returns success message
5.7 Create event Event_Create title: "Test Event", startDate: "2026-05-01T10:00:00Z", endDate: "2026-05-01T12:00:00Z" Returns created event JSON
5.8 Create event with location Event_Create title: "Office Event", startDate: "2026-05-01T10:00:00Z", endDate: "2026-05-01T12:00:00Z", location: "Frankfurt HQ" Returns event with place=Frankfurt HQ
5.9 Get non-existent event Event_Get id: "00000000-0000-0000-0000-000000000000" Returns 404 error

Component 6: Social Engagement & Interaction

Tools: Social_GetComments, Social_PostComment, Social_GetLikes, Social_ToggleLike

# Use Case Tool Test Input Expected Result Status Notes
6.1 Get comments on blog article Social_GetComments targetId: "<blog-article UUID>", targetType: "blog-article" Returns comment list
6.2 Get comments on timeline item Social_GetComments targetId: "<timeline-item UUID>", targetType: "timeline-item" Returns comment list
6.3 Get comments on wiki article Social_GetComments targetId: "<wiki-article UUID>", targetType: "wiki-article" Returns comment list
6.4 Get comments — unsupported type Social_GetComments targetId: "<UUID>", targetType: "event" Returns error or empty (API rejects unsupported types)
6.5 Post a comment Social_PostComment targetId: "<blog-article UUID>", targetType: "blog-article", body: "Test comment from MCP" Returns success message
6.6 Get likes on blog article Social_GetLikes targetType: "blog-article", targetId: "<blog-article UUID>" Returns like count and list
6.7 Toggle like Social_ToggleLike targetType: "blog-article", targetId: "<blog-article UUID>", userId: "<your user UUID>" Returns "Like toggled successfully"
6.8 Toggle like again (unlike) Social_ToggleLike (same as 6.7) Toggles back — verify with Social_GetLikes
6.9 Get likes — unsupported type Social_GetLikes targetType: "event", targetId: "<UUID>" Returns error

Component 7: Notification Management

Tools: Notification_List, Notification_GetStatus, Notification_MarkSeen

# Use Case Tool Test Input Expected Result Status Notes
7.1 Get notification status Notification_GetStatus (no params) Returns unseen notification count
7.2 List ACTIVITY notifications Notification_List category: "ACTIVITY" Returns activity notifications
7.3 List DISCUSSION notifications Notification_List category: "DISCUSSION" Returns discussion notifications
7.4 List notifications with pagination Notification_List category: "ACTIVITY", page: 0, pageSize: 3 Returns max 3 notifications
7.5 List notifications — no category Notification_List (no params) Returns notifications or error if category required
7.6 Mark ACTIVITY as seen Notification_MarkSeen category: "ACTIVITY" Returns success message
7.7 Mark all as seen Notification_MarkSeen (no params) Returns success message
7.8 Verify mark seen worked Notification_GetStatus (no params) Unseen count should be 0 or lower than 7.1

Component 8: Page Management

Tools: Page_List, Page_Get, Page_GetMembers, Page_Create

⚠️ Known Issue: POST /api/pages returns 404 on staging

# Use Case Tool Test Input Expected Result Status Notes
8.1 List all pages Page_List (no params) Returns list of pages
8.2 Get page details by ID Page_Get id: "<UUID from 8.1>" Returns page name, visibility, details
8.3 Get page by slug Page_Get id: "<slug from 8.1>" Returns page details
8.4 Get page members Page_GetMembers id: "<UUID from 8.1>" Returns member/admin list
8.5 Create a page Page_Create title: "Manual Test Page" Returns created page OR 404 (staging) ⚠️ Endpoint missing on staging
8.6 Create page with options Page_Create title: "DE Test Page", visibility: "PUBLIC", defaultLanguage: "DE" Returns page OR 404 ⚠️
8.7 Get non-existent page Page_Get id: "00000000-0000-0000-0000-000000000000" Returns 404 error

Bonus: Content_GetFull (Cross-cutting)

# Use Case Tool Test Input Expected Result Status Notes
9.1 Get full blog article content Content_GetFull contentType: "blog-article", contentId: "<UUID>", appId: "<appId from Search_FullText>" Returns rendered article text
9.2 Get full wiki article content Content_GetFull contentType: "wiki-article", contentId: "<UUID>", appId: "<appId>" Returns rendered wiki text
9.3 Get page content Content_GetFull contentType: "page", contentId: "<UUID>" Returns page content
9.4 Get workspace content Content_GetFull contentType: "workspace", contentId: "<UUID>" Returns workspace content
9.5 Unsupported content type Content_GetFull contentType: "unknown-type", contentId: "abc" Returns "Unsupported content type" error

Test Workflow Tips

  1. Start with People_GetMe (4.1) to get your user UUID — needed for Social_ToggleLike and verifying create operations
  2. Use Search_FullText (1.1) with pageSize: 2 to get real content IDs, appIds, and slugs for other tests
  3. Use Search_QuickEntity (1.4) to find event UUIDs for Component 5 tests
  4. For Social tests (Component 6), first get a blog-article UUID from search results
  5. Components 3 (News) and 8.5-8.6 (Page_Create) are known to 404 on staging — document but don't block on them

Summary Template

After testing, fill in the Status column with:

  • = Pass
  • = Fail (add reason in Notes)
  • ⚠️ = Known limitation / staging issue