Implement connected flow tests that verify end-to-end interaction with a real, already-paired TNC.
Test cases
testScanFindsTnc() — tap Scan, wait for device list, assert cell exists
testConnectToTnc() — tap device cell, tap Connect, assert menu screen
testReadTxDelay() — navigate to TX Delay, assert value label non-empty
testChangeTxDelay() — move slider, tap Save, assert success
testReadModemConfig() — navigate to Modem Config, assert type label non-empty
testChangeModemType() — select picker row, tap Save, assert success
testReadBattery() — navigate to Power, assert battery label non-empty
testReadFirmwareVersion() — navigate to TNC Info, assert version label non-empty
testDisconnect() — tap Disconnect, assert scan screen reappears
Prerequisites
- TNC is on and advertising
- TNC is already paired/bonded in iOS Settings
- Bluetooth is enabled on phone
Requirements
Acceptance criteria
Parent: #12
Implement connected flow tests that verify end-to-end interaction with a real, already-paired TNC.
Test cases
testScanFindsTnc()— tap Scan, wait for device list, assert cell existstestConnectToTnc()— tap device cell, tap Connect, assert menu screentestReadTxDelay()— navigate to TX Delay, assert value label non-emptytestChangeTxDelay()— move slider, tap Save, assert successtestReadModemConfig()— navigate to Modem Config, assert type label non-emptytestChangeModemType()— select picker row, tap Save, assert successtestReadBattery()— navigate to Power, assert battery label non-emptytestReadFirmwareVersion()— navigate to TNC Info, assert version label non-emptytestDisconnect()— tap Disconnect, assert scan screen reappearsPrerequisites
Requirements
accessibilityIdentifierto every interactive UI element in the storyboard and Swift code so XCUITest can locate them reliably. #14Acceptance criteria
waitForExistence(timeout: 15)for BLE scan timingParent: #12
accessibilityIdentifierto every interactive UI element in the storyboard and Swift code so XCUITest can locate them reliably. #14