WellNuo/.maestro/06-activate-device.yaml
Sergei b5ab28aa3e Add bulk sensor operations API
Implemented comprehensive bulk operations for BLE sensor management to improve
efficiency when working with multiple sensors simultaneously.

Features Added:
- bulkDisconnect: Disconnect multiple sensors at once
- bulkReboot: Reboot multiple sensors sequentially
- bulkSetWiFi: Configure WiFi for multiple sensors with progress tracking

Implementation Details:
- Added BulkOperationResult and BulkWiFiResult types to track operation outcomes
- Implemented bulk operations in both RealBLEManager and MockBLEManager
- Exposed bulk operations through BLEContext for easy UI integration
- Sequential processing ensures reliable operation completion
- Progress callbacks for real-time UI updates during bulk operations

Testing:
- Added comprehensive test suite with 14 test cases
- Tests cover success scenarios, error handling, and edge cases
- All tests passing with appropriate timeout configurations
- Verified both individual and sequential bulk operations

Technical Notes:
- Bulk operations maintain device connection state consistency
- Error handling allows graceful continuation despite individual failures
- MockBLEManager includes realistic delays for testing
- Integration with existing BLE service architecture preserved

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-31 16:40:36 -08:00

53 lines
1.2 KiB
YAML

appId: com.wellnuo.app
---
# WellNuo Device Activation (Demo Mode)
# Screen title: "Connect Sensors"
# Has "Use demo code" link that auto-fills DEMO-1234-5678
# Should be on Connect Sensors screen
- assertVisible:
text: "Connect Sensors"
optional: true
- takeScreenshot: "14-activation-screen"
# Tap "Use demo code" link
# This auto-fills the activation code field with "DEMO-1234-5678"
- tapOn:
text: "Use demo code"
optional: true
# Wait for code to be filled
- extendedWaitUntil:
visible: "DEMO-1234-5678"
timeout: 3000
- takeScreenshot: "15-demo-code-filled"
# Tap Activate button
- tapOn:
text: "Activate"
optional: true
# Wait for success screen "Sensors Connected!" (with exclamation mark)
- extendedWaitUntil:
visible: ".*Sensors Connected.*"
timeout: 15000
- takeScreenshot: "16-sensors-connected"
# Tap "Go to Dashboard" button
- tapOn:
text: "Go to Dashboard"
optional: true
# App navigates to Subscription screen (expected behavior)
# Wait for Subscription screen to appear
- extendedWaitUntil:
visible: ".*Subscription.*|.*No Active Subscription.*|.*Subscribe.*"
timeout: 15000
- takeScreenshot: "17-subscription-screen"
# Note: We stay on Subscription screen for next test (08-subscribe.yaml)