Skip to content

Commit cf3f913

Browse files
committed
test task updates
1 parent 0ce6564 commit cf3f913

1 file changed

Lines changed: 47 additions & 53 deletions

File tree

specs/LK R&D EHR - React Animal History - Search By Id.md

Lines changed: 47 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -743,59 +743,53 @@ Add tracking for:
743743

744744
## Testing
745745

746-
12. Unit tests - ID resolution service
747-
- Test direct ID match scenario
748-
- Test alias resolution scenario
749-
- Test mixed valid/invalid IDs
750-
- Test case-insensitive matching
751-
- Test empty results
752-
- Mock LabKey SQL queries
753-
754-
13. Unit tests - SearchByIdPanel component
755-
- Test ID parsing with all separator types
756-
- Test 100 ID limit validation
757-
- Test filter mode toggle behavior
758-
- Test URL Params mode read-only view
759-
- Test "Modify Search" button
760-
- Test "Alive at Center" button disabled state
761-
- Test input clearing on mode switch
762-
763-
14. Unit tests - IdResolutionFeedback component
764-
- Test visibility logic
765-
- Test resolved vs not-found categorization
766-
- Test alias type display
767-
768-
15. Integration tests - Filter mode integration
769-
- Test ID Search mode applies correct filters
770-
- Test All Records mode applies no filters
771-
- Test Alive at Center mode applies status filter
772-
- Test URL Params mode applies URL subjects filter
773-
- Test mode switching updates reports correctly
774-
- Test report metadata query
775-
776-
16. Integration tests - URL hash sync
777-
- Test initial load for all filter types
778-
- Test URL Params mode activation with readOnly parameter
779-
- Test URL update on filter change
780-
- Test readOnly parameter removal on mode switch
781-
782-
17. Manual test plan
783-
- Document test scenarios for all four filter modes
784-
- Document filter switching scenarios
785-
- Document edge cases to verify
786-
- Create test data for various scenarios
787-
788-
18. Manual testing - ID Search mode
789-
- Single animal (direct and alias)
790-
- Multiple animals (various combinations)
791-
- 100 ID limit validation
792-
- Report data verification
793-
794-
19. Manual testing - Other filter modes
795-
- All Records mode functionality
796-
- Alive at Center mode with supported/unsupported reports
797-
- URL Params mode (shared links, modify search)
798-
- Filter mode switching
746+
### Unit Tests (Jest/React Testing Library)
747+
748+
12. Unit tests - Core services and utilities
749+
- idResolutionService.ts: Direct/alias resolution, case-insensitive matching, de-duplication, special characters, error handling, API mocking
750+
- urlHashUtils.ts: URL hash generation/parsing for all filter modes, special character encoding, conflict resolution
751+
752+
13. Unit tests - SearchByIdPanel and IdResolutionFeedback components
753+
- SearchByIdPanel: ID parsing (all separators), 100 ID limit validation, filter mode toggles, URL Params read-only view, "Modify Search" button, "Alive at Center" button state, input clearing, accessibility (ARIA, keyboard)
754+
- IdResolutionFeedback: Visibility logic, resolved/not-found categorization, alias type display
755+
756+
14. Unit tests - Report integration components
757+
- ParticipantReports.tsx: URL hash detection, filter state management, `activeReportSupportsNonIdFilters` querying, mode switching, race conditions
758+
- TabbedReportPanel.tsx: Filter creation for all modes (ID Search, URL Params, All Records, Alive at Center), filter structure validation, error handling for unsupported modes
759+
760+
### Integration Tests (Selenium - Java)
761+
762+
15. Selenium test setup and test data
763+
- Add helper methods to EHR_AppTest: navigation, ID entry, button clicks, assertions
764+
- Create test data: animal IDs with aliases (tattoos/chips), mix of alive/dead animals
765+
- Configure report metadata: set `supportsNonIdFilters` for test reports
766+
767+
16. Selenium tests - ID Search and All Records modes
768+
- ID Search: Single animal (direct and alias), multi-animal, mixed valid/invalid IDs, 100 ID limit, case-insensitive matching
769+
- All Records: Click button, verify no filters, URL bookmarking
770+
771+
17. Selenium tests - Alive at Center and URL Params modes
772+
- Alive at Center: Verify alive filter, test button disabled on unsupported reports, test report tab switching
773+
- URL Params: Navigate to readOnly URL, verify read-only view, test "Modify Search" button
774+
775+
18. Selenium tests - Filter mode switching and performance
776+
- Mode switching: Test all transitions (ID Search ↔ All Records ↔ Alive at Center), multi-step transitions
777+
- Performance: Large dataset handling, keyboard navigation
778+
779+
### Manual Testing
780+
781+
19. Manual test execution - All filter modes and switching
782+
- Execute scenarios 1-23: ID Search (single/multi-animal, direct/alias, duplicates, limit, case), All Records, Alive at Center (supported/unsupported reports, tab switching), URL Params (shared links, modify search)
783+
- Filter mode transitions and browser navigation
784+
785+
20. Manual test execution - Cross-report consistency and error cases
786+
- Scenarios 24-25: Data consistency across report types, single vs multi-animal report variants
787+
- Error cases: ID resolution errors, validation errors, report loading errors, URL/navigation errors, permission errors
788+
789+
21. Manual test execution - Accessibility, performance, and cross-browser
790+
- Scenarios 26-27: Keyboard-only operation, screen reader compatibility
791+
- Scenarios 28-30: ID resolution performance, report rendering performance, filter mode switching performance
792+
- Cross-browser testing: Chrome (all scenarios), Firefox/Safari/Edge (core scenarios), mobile browsers if supported
799793

800794
# Testing
801795

0 commit comments

Comments
 (0)