chore: remove stale test doc files
This commit is contained in:
1 parent
bd5977fc92
commit
c91651302a
2 files changed
-98
No files matched your search
@@ -1,58 +0,0 @@
|
||||
# Test Infrastructure - hermes-mobile
|
||||
|
||||
This document describes the test infrastructure, philosophy, architecture, and feature coverage for the **hermes-mobile** Jetpack Compose Android application.
|
||||
|
||||
## Test Philosophy
|
||||
The test suite utilizes **opaque-box JVM-based integration and E2E tests** that drive the ViewModels directly, bypassing the UI rendering layer, with mocked Retrofit responses using `Mockk` for service stubs. This allows testing the application logic, optimistic UI state changes, API integration pathways, and navigation flows synchronously and reliably without requiring an Android emulator or device.
|
||||
|
||||
## Feature Inventory
|
||||
|
||||
### Feature 1: Skills Management Screen
|
||||
- **Listing**: Fetches and lists available agent skills.
|
||||
- **Category/Description Display**: Shows skill details (category, optional description, name).
|
||||
- **Toggle Success**: Modifies a skill's state optimistically, sends API request, and confirms success state.
|
||||
- **Toggle Failure Revert**: Handles API failure, displays toast, and reverts the state optimistically.
|
||||
- **Refresh**: Supports reloading/refreshing the list of skills from the API.
|
||||
|
||||
### Feature 2: Cron Jobs Screen
|
||||
- **Listing**: Fetches and lists all configured cron jobs.
|
||||
- **State/Last Run/Next Run Display**: Displays status fields (state, last_run_status, next_run).
|
||||
- **Pause Action**: Optimistically transitions a job's state to "paused", sends API request.
|
||||
- **Resume Action**: Optimistically transitions a job's state to "active", sends API request.
|
||||
- **Trigger Action**: Triggers a job immediately and displays a success toast.
|
||||
- **Delete Action**: Optimistically removes a job from the list and sends a DELETE API request.
|
||||
- **Refresh**: Supports reloading/refreshing the list of cron jobs.
|
||||
|
||||
### Feature 3: Navigation Drawer
|
||||
- **Transitions**: Simulates moving between top-level destinations (Chat, Skills, Cron Jobs) via the Material3 Navigation Drawer using the Custom `NavigationController` and its `backStack`.
|
||||
|
||||
---
|
||||
|
||||
## Test Architecture
|
||||
|
||||
- **Test Runner**:
|
||||
- Main Test suite command: `nix develop --command ./gradlew test`
|
||||
- Style checking command: `nix develop --command ./gradlew ktlintCheck`
|
||||
- Total test count: 123 across 7 test files (see TEST_READY.md for per-file breakdown).
|
||||
- **Test Case Format**:
|
||||
- JUnit 4 / JUnit Platform JVM tests implemented in Kotlin.
|
||||
- Mocking library: `Mockk` for mock objects, static mocks, and API endpoints.
|
||||
- **Directory Layout**:
|
||||
- `app/src/test/java/com/m57/hermescontrol/E2eIntegrationTest.kt` contains the complete end-to-end integration test suite.
|
||||
|
||||
---
|
||||
|
||||
## Tier 4 Scenario: Complete User Journey
|
||||
The Tier 4 scenario is implemented in `testFullUserSessionFlow()` which simulates a complete user session:
|
||||
1. **Connect**: User enters coordinates and token, successfully authenticating/connecting.
|
||||
2. **Open Drawer & Navigate**: Transitions from Chat to Skills.
|
||||
3. **Toggle a Skill (Optimistic Update -> API Failure -> Toast/Revert)**:
|
||||
- User toggles a skill.
|
||||
- UI updates optimistically to the new state.
|
||||
- Retrofit API returns a simulated HTTP 500 error.
|
||||
- The state is reverted back to original, and an error Toast message is shown.
|
||||
4. **Navigate to Cron Jobs**: User navigates from Skills to Cron Jobs.
|
||||
5. **Trigger Cron Job**:
|
||||
- User triggers a cron job.
|
||||
- Retrofit API returns a success code.
|
||||
- Success Toast message is displayed and verified.
|
||||
@@ -1,40 +0,0 @@
|
||||
# Test Readiness - hermes-mobile
|
||||
|
||||
This document provides a summary of test readiness, including test suite execution details, expected outcomes, coverage summary, and a feature readiness checklist.
|
||||
|
||||
## Execution and Expected Outcome
|
||||
- **Test Runner Command**: `nix develop --command ./gradlew test`
|
||||
- **Expected Outcome**: All tests pass successfully.
|
||||
- **Total Test Count**: 275 tests
|
||||
|
||||
---
|
||||
|
||||
## Coverage Summary
|
||||
|
||||
### Per-File Breakdown
|
||||
|
||||
| Test File | Test Count |
|
||||
|-----------|------------|
|
||||
| E2eIntegrationTest.kt | 37 |
|
||||
| ModelSerializationTest.kt | 30 |
|
||||
| HermesApiServiceTest.kt | 19 |
|
||||
| ConnectViewModelTest.kt | 14 |
|
||||
| ChatViewModelTest.kt | 9 |
|
||||
| AuthManagerTest.kt | 8 |
|
||||
| EventParserTest.kt | 6 |
|
||||
| **Total** | **275** |
|
||||
|
||||
---
|
||||
|
||||
## Feature Checklist
|
||||
|
||||
| Feature | Tier 1 (Coverage) | Tier 2 (Boundaries) | Tier 3 (Combinations) | Tier 4 (E2E Scenario) |
|
||||
|---------|:-----------------:|:-------------------:|:---------------------:|:---------------------:|
|
||||
| **Skills Management** | ✅ | ✅ | ✅ | ✅ |
|
||||
| **Cron Jobs** | ✅ | ✅ | N/A | ✅ |
|
||||
| **Navigation Drawer** | ✅ | N/A | ✅ | ✅ |
|
||||
| **Authentication** | N/A | N/A | ✅ | ✅ |
|
||||
|
||||
### Legend:
|
||||
- ✅: Covered by tests in `E2eIntegrationTest.kt`
|
||||
- N/A: Not applicable or handled by combinations/other screens.
|
||||
Reference in new issue
Block a user