-
Notifications
You must be signed in to change notification settings - Fork 614
[TESTING][FUNCTIONALITY]: Admin UI manual test plan (HTMX, Alpine.js, navigation, CRUD)Β #2428
Copy link
Copy link
Open
Open
Copy link
Labels
SHOULDP2: Important but not vital; high-value items that are not crucial for the immediate releaseP2: Important but not vital; high-value items that are not crucial for the immediate releasechoreLinting, formatting, dependency hygiene, or project maintenance choresLinting, formatting, dependency hygiene, or project maintenance choresfrontendFrontend development (HTML, CSS, JavaScript)Frontend development (HTML, CSS, JavaScript)manual-testingManual testing / test planning issuesManual testing / test planning issuesreadyValidated, ready-to-work-on itemsValidated, ready-to-work-on itemstestingTesting (unit, e2e, manual, automated, etc)Testing (unit, e2e, manual, automated, etc)
Milestone
Description
πΌοΈ [TESTING][FUNCTIONALITY]: Admin UI Manual Test Plan
Goal
Produce a comprehensive manual test plan for Admin UI functionality including HTMX interactions, Alpine.js components, navigation, CRUD operations, and responsive design.
Why Now?
The Admin UI is the primary management interface:
- Usability: Admins need intuitive server management
- Responsiveness: UI must work across devices
- Functionality: All CRUD operations must work
- Feedback: Actions need clear status indication
π User Stories
US-1: Admin - Dashboard Access
As an administrator
I want to access the admin dashboard
So that I can monitor and manage the gateway
Acceptance Criteria:
Feature: Dashboard Access
Scenario: Login to dashboard
Given valid admin credentials
When I access the admin UI
Then I should see the dashboard
And I should see system status
Scenario: Navigation
Given I am logged in
When I click on navigation links
Then I should navigate to the correct sectionUS-2: Admin - Entity Management
As an administrator
I want to manage entities through the UI
So that I don't need to use the API directly
Acceptance Criteria:
Feature: Entity Management
Scenario: Create entity
Given I am on the entity list page
When I click create and fill the form
Then the entity should be created
And I should see it in the list
Scenario: Edit entity
Given an entity exists
When I edit and save changes
Then the changes should be persistedπ Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ADMIN UI ARCHITECTURE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
BROWSER GATEWAY DATABASE
βββββββ βββββββ ββββββββ
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β Admin UI β β FastAPI β β PostgreSQL β
β (HTMX + ββββββββΆβ Server ββββββββΆβ / SQLite β
β Alpine.js) β β β β β
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β β
β HTMX requests β
β (partial HTML) β
β β
β hx-get, hx-post β
β hx-swap β
UI COMPONENTS
βββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Header (Navigation) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Sidebar β Main Content Area β
β β β
β - Dashboard β βββββββββββββββββββββββββββββββββββββββ β
β - Gateways β β Data Table β β
β - Servers β β - Search/Filter β β
β - Tools β β - Pagination β β
β - Users β β - Actions (Edit, Delete) β β
β - Teams β βββββββββββββββββββββββββββββββββββββββ β
β - Settings β β
βββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ
π Test Environment Setup
export GATEWAY_URL="http://localhost:8000"
export MCPGATEWAY_UI_ENABLED=true
# Start gateway with UI
make dev
# Access UI at
open "$GATEWAY_URL/admin"π§ͺ Manual Test Cases
Section 1: Authentication & Access
| Case | Scenario | Credentials | Expected | Validation |
|---|---|---|---|---|
| AU-01 | Login | Valid | Dashboard | Redirected |
| AU-02 | Invalid login | Wrong password | Error | Message shown |
| AU-03 | Session timeout | Expired | Redirect to login | Session ended |
AU-01: Successful Login
Steps:
- Navigate to
$GATEWAY_URL/admin - Enter valid username and password
- Click "Login"
- Verify dashboard loads
- Check session cookie is set
Expected Result:
- Dashboard displays
- User info visible
- Navigation active
Section 2: Navigation
| Case | Scenario | Link | Expected | Validation |
|---|---|---|---|---|
| NV-01 | Dashboard link | Dashboard | Main view | Stats visible |
| NV-02 | Gateways link | Gateways | Gateway list | Table shows |
| NV-03 | Mobile menu | Hamburger | Menu opens | Links visible |
NV-01: Dashboard Navigation
Steps:
- Click "Dashboard" in sidebar
- Verify main content updates
- Check URL changes (if applicable)
- Verify stats widgets load
Expected Result:
- Dashboard content displays
- Stats show current values
- Recent activity visible
Section 3: CRUD Operations
| Case | Scenario | Entity | Operation | Validation |
|---|---|---|---|---|
| CR-01 | Create gateway | Gateway | Create | Added to list |
| CR-02 | Edit gateway | Gateway | Update | Changes saved |
| CR-03 | Delete gateway | Gateway | Delete | Removed |
| CR-04 | Bulk delete | Multiple | Delete | All removed |
CR-01: Create Gateway via UI
Steps:
- Navigate to Gateways section
- Click "Add Gateway" button
- Fill form:
- Name: "test-gateway"
- URL: "http://localhost:9000"
- Transport: "SSE"
- Click "Save"
- Verify gateway appears in list
Expected Result:
- Form submits successfully
- Success message shown
- Gateway in list with correct details
CR-03: Delete Gateway via UI
Steps:
- Navigate to Gateways section
- Find gateway to delete
- Click delete icon/button
- Confirm deletion in modal
- Verify gateway removed from list
Expected Result:
- Confirmation modal appears
- Gateway removed after confirm
- List updates without refresh
Section 4: HTMX Interactions
| Case | Scenario | Trigger | Expected | Validation |
|---|---|---|---|---|
| HX-01 | Partial update | hx-swap | Content updates | No full reload |
| HX-02 | Form submit | hx-post | Form processed | Response injected |
| HX-03 | Search | hx-trigger | Results filter | Debounced |
HX-01: HTMX Partial Update
Steps:
- Open browser DevTools Network tab
- Click on a navigation item
- Observe network requests
- Verify only partial HTML returned
- Check page doesn't fully reload
Expected Result:
- XHR/Fetch request made
- Partial HTML response
- Only target element updates
- No full page reload
Section 5: Responsive Design
| Case | Scenario | Viewport | Expected | Validation |
|---|---|---|---|---|
| RD-01 | Desktop | 1920px | Full layout | Sidebar visible |
| RD-02 | Tablet | 768px | Adapted | Collapsible sidebar |
| RD-03 | Mobile | 375px | Mobile | Hamburger menu |
RD-03: Mobile Layout
Steps:
- Open DevTools and set viewport to 375px width
- Refresh page
- Verify hamburger menu appears
- Click hamburger to open menu
- Verify navigation works
Expected Result:
- Sidebar collapses to hamburger
- Menu opens on tap
- All functions accessible
- Touch-friendly buttons
π Test Matrix
| Test Case | Auth | Navigation | CRUD | HTMX | Responsive |
|---|---|---|---|---|---|
| AU-01 | β | ||||
| AU-02 | β | ||||
| AU-03 | β | ||||
| NV-01 | β | ||||
| NV-02 | β | ||||
| NV-03 | β | β | |||
| CR-01 | β | β | |||
| CR-02 | β | β | |||
| CR-03 | β | β | |||
| CR-04 | β | ||||
| HX-01 | β | ||||
| HX-02 | β | ||||
| HX-03 | β | ||||
| RD-01 | β | ||||
| RD-02 | β | ||||
| RD-03 | β |
β Success Criteria
- All 16 test cases pass
- Login/logout works correctly
- Navigation is functional
- CRUD operations work for all entities
- HTMX updates work without full reload
- UI is responsive across devices
π Related Files
mcpgateway/templates/mcpgateway/static/mcpgateway/routers/admin.py
π Related Issues
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
SHOULDP2: Important but not vital; high-value items that are not crucial for the immediate releaseP2: Important but not vital; high-value items that are not crucial for the immediate releasechoreLinting, formatting, dependency hygiene, or project maintenance choresLinting, formatting, dependency hygiene, or project maintenance choresfrontendFrontend development (HTML, CSS, JavaScript)Frontend development (HTML, CSS, JavaScript)manual-testingManual testing / test planning issuesManual testing / test planning issuesreadyValidated, ready-to-work-on itemsValidated, ready-to-work-on itemstestingTesting (unit, e2e, manual, automated, etc)Testing (unit, e2e, manual, automated, etc)