Commit graph

12 commits

Author SHA1 Message Date
9a63c9ed63
Add comprehensive frontend integration tests with Wallaby
This commit implements browser-based integration testing for the Phoenix LiveView
application using Wallaby and ChromeDriver to test the complete user experience
including JavaScript interactions.

## Changes Made

### Testing Infrastructure
- Add Wallaby dependency for browser automation testing
- Configure Chrome driver with headless mode for CI/CD
- Set up Phoenix server integration for test environment
- Enable screenshot capture on test failures

### Integration Tests
- `test/integration/simple_integration_test.exs` - Basic homepage functionality
- `test/integration/map_integration_test.exs` - Map interface and routing tests
- Tests validate page loading, content rendering, and navigation

### CI/CD Integration
- Update GitHub Actions workflow to install ChromeDriver
- Add separate integration test step in CI pipeline
- Configure headless Chrome for automated testing

### Configuration Updates
- Enable Phoenix server in test environment for Wallaby
- Configure Wallaby with proper base URL and screenshot settings
- Initialize Wallaby application in test helper

## Features Tested
-  Homepage loads with APRS content
-  Main page structure renders correctly
-  Route navigation functions properly
-  Basic Phoenix LiveView functionality

## Next Steps
This provides a solid foundation for expanding to test:
- Interactive map controls and JavaScript functionality
- Real-time packet updates via LiveView PubSub
- User authentication flows and form submissions
- Mobile responsive behavior

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 12:21:53 -05:00
a8e7b17ee1
Optimize test suite performance - 32.5% faster execution
Reduced test execution time from 21.2s to 14.3s through multiple optimizations:

1. Reduced test data size:
   - Memory efficiency test: 5000→1000 packets, smaller payloads (saved ~3.2s)
   - More focused test scenarios without sacrificing coverage

2. Reduced sleep times across test suite:
   - GPS movement tests: 100-500ms → 10-100ms
   - Broadcast supervisor tests: 50ms → 10ms
   - Packet consumer tests: 100-500ms → 20-50ms
   - Saved ~1-2 seconds total

3. Enabled parallel test execution:
   - Set max_cases to System.schedulers_online() * 2
   - Made DeviceIdentificationTest async
   - Made PasscodeTest and ConvertTest async
   - Better CPU utilization

4. Reduced assertion timeouts:
   - Changed from 1000ms to 200-500ms where appropriate
   - Faster failure detection

These optimizations maintain test reliability while significantly reducing
execution time. The occasional timing-sensitive LiveView test failures are
addressed with slightly more generous timeouts where needed.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-21 09:23:07 -05:00
48447ab42e
refactor and performance improvements 2025-07-10 10:53:34 -05:00
ce7c50caa1
refactor to use external parser 2025-06-24 14:22:09 -05:00
a48b2edcb3
add device identifier 2025-06-23 14:19:04 -05:00
fc94ec45a8
more tests 2025-06-23 11:01:32 -05:00
a05ec4b32c
refactoring 2025-06-22 10:49:35 -05:00
d6ac5cccfc
fixes 2025-06-21 12:26:43 -05:00
8c9b614677
optimize parser 2025-06-18 11:29:22 -05:00
3b8d1f2cff
storing fix 2025-06-16 13:11:58 -05:00
6e8f1e434f
dont connect to is server in test 2025-06-16 12:45:35 -05:00
d40567dfeb initial 2023-01-26 13:20:23 -06:00