Implement dialog handling tests for system-level permission and alert dialogs.
Test case
testBluetoothPermissionDialog() — first-run flow, handle system "Allow Bluetooth?" alert
Implementation
Uses addUIInterruptionMonitor:
addUIInterruptionMonitor(withDescription: "Bluetooth Permission") { alert in
if alert.buttons["Allow"].exists {
alert.buttons["Allow"].tap()
return true
}
return false
}
Notes
- System pairing/bonding dialog (CoreBluetooth sheet) is not reliably handled by XCUITest — full pairing flow remains manual
- This test verifies only the permission dialog, not the pairing dialog
Acceptance criteria
Parent: #12
Implement dialog handling tests for system-level permission and alert dialogs.
Test case
testBluetoothPermissionDialog()— first-run flow, handle system "Allow Bluetooth?" alertImplementation
Uses
addUIInterruptionMonitor:Notes
Acceptance criteria
setUp()and unregistered intearDown()Parent: #12
accessibilityIdentifierto every interactive UI element in the storyboard and Swift code so XCUITest can locate them reliably. #14