diff --git a/tools/chatgui-android/call-service-tests/src/test/kotlin/com/utun/chat/data/CallServiceLifecycleTest.kt b/tools/chatgui-android/call-service-tests/src/test/kotlin/com/utun/chat/data/CallServiceLifecycleTest.kt index d17eb39c..a5a4bd64 100644 --- a/tools/chatgui-android/call-service-tests/src/test/kotlin/com/utun/chat/data/CallServiceLifecycleTest.kt +++ b/tools/chatgui-android/call-service-tests/src/test/kotlin/com/utun/chat/data/CallServiceLifecycleTest.kt @@ -356,4 +356,11 @@ class CallServiceLifecycleTest { service.onDestroy() assertEquals(id, state?.callId); assertEquals(CallPhase.ENDED, state?.phase) } + + @Test fun aMissingServiceComponentCannotLeaveTheControllerWaitingForOnCreate() { + context.acceptServiceStart = false + request() + assertEquals(CallPhase.ENDED, state?.phase); assertEquals(7, state?.reason) + diagnostic("service request") + } } diff --git a/tools/chatgui-android/router-tests/src/test/kotlin/com/utun/chat/data/RadioOverlayLifecycleTest.kt b/tools/chatgui-android/router-tests/src/test/kotlin/com/utun/chat/data/RadioOverlayLifecycleTest.kt index 6b55dc77..cf7db1c6 100644 --- a/tools/chatgui-android/router-tests/src/test/kotlin/com/utun/chat/data/RadioOverlayLifecycleTest.kt +++ b/tools/chatgui-android/router-tests/src/test/kotlin/com/utun/chat/data/RadioOverlayLifecycleTest.kt @@ -310,4 +310,11 @@ class RadioOverlayLifecycleTest { touch(MotionEvent.ACTION_UP, time = 900, down = 500) main.advanceBy(251); drain(); assertFalse(radio.isTalking()) } + + @Test fun aMissingServiceComponentDoesNotLatchTheOverlayStartingFlag() { + context.acceptServiceStart = false; RadioOverlayService.setActivityVisible(true) + assertFalse(static("starting").getBoolean(null)); diagnostic("Service start failed") + context.acceptServiceStart = true; RadioOverlayService.sync(context) + assertEquals(2, context.serviceStarts.size) + } }