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>
75 lines
1.7 KiB
YAML
75 lines
1.7 KiB
YAML
appId: com.wellnuo.app
|
|
---
|
|
# WellNuo Subscribe - Pay for subscription via Stripe
|
|
# Assumes we're on the Subscription screen with "No Active Subscription"
|
|
|
|
# Should be on Subscription screen
|
|
- assertVisible:
|
|
text: ".*Subscription.*"
|
|
optional: true
|
|
|
|
- takeScreenshot: "23-subscription-screen"
|
|
|
|
# Check that we see "No Active Subscription"
|
|
- assertVisible:
|
|
text: ".*No Active Subscription.*"
|
|
optional: true
|
|
|
|
# Tap Subscribe button
|
|
- tapOn:
|
|
text: "Subscribe"
|
|
|
|
# Wait for Stripe Payment Sheet to appear
|
|
# Payment sheet shows card input fields
|
|
- extendedWaitUntil:
|
|
visible: ".*Card.*|.*Pay.*|.*Payment.*"
|
|
timeout: 10000
|
|
|
|
- takeScreenshot: "24-stripe-payment-sheet"
|
|
|
|
# Stripe Payment Sheet - enter test card details
|
|
# Card number field - tap and enter test card
|
|
- tapOn:
|
|
text: ".*Card number.*|.*Card information.*"
|
|
optional: true
|
|
|
|
# Input test card number (Stripe test card)
|
|
- inputText: "4242424242424242"
|
|
|
|
# Input expiry date (MM/YY)
|
|
- inputText: "1229"
|
|
|
|
# Input CVC
|
|
- inputText: "123"
|
|
|
|
# Input ZIP/Postal code (for US)
|
|
- inputText: "12345"
|
|
|
|
- takeScreenshot: "25-card-entered"
|
|
|
|
# Hide keyboard
|
|
- hideKeyboard
|
|
|
|
# Tap Pay button (may show as "Pay $49.00" or "Subscribe")
|
|
- tapOn:
|
|
text: ".*Pay.*|.*Subscribe.*|.*Confirm.*"
|
|
|
|
# Wait for payment processing and success
|
|
- extendedWaitUntil:
|
|
visible: ".*Subscription Active.*|.*Active Subscription.*|.*success.*|.*Continue.*"
|
|
timeout: 30000
|
|
|
|
- takeScreenshot: "26-subscription-success"
|
|
|
|
# If success modal appears, tap Continue
|
|
- tapOn:
|
|
text: "Continue"
|
|
optional: true
|
|
|
|
# Verify we're back on subscription screen with active status
|
|
- extendedWaitUntil:
|
|
visible: ".*Active Subscription.*|.*Renews.*"
|
|
timeout: 10000
|
|
|
|
- takeScreenshot: "27-subscription-active"
|