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 c0df98fe8..d17eb39c6 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 @@ -348,4 +348,12 @@ class CallServiceLifecycleTest { assertNull(state); assertFalse(CallService.cleanupPending()); assertTrue(CallController.blocksMedia()) gate.countDown(); await("cancelled media preparation finished") { !CallController.blocksMedia() } } + + @Test fun destroyAfterLocalShutdownStillReportsTheOriginalOwnedCallToTheController() { + val service = active(); val id = requireNotNull(state).callId + assertTrue(service.shutdown().isCompleted) + assertEquals(CallPhase.ACTIVE, state?.phase) // Сигналинг ещё принадлежит контроллеру, не аудиосервису. + service.onDestroy() + assertEquals(id, state?.callId); assertEquals(CallPhase.ENDED, state?.phase) + } }