fix(notification): resume stored session before reply (#805)

This commit is contained in:
AlexDev_ authored and GitHub committed 2026-08-04 19:54:49 +03:00
1 parent e1a04a9396
commit 356ccc98b5
13 files changed
+268 -39

No files matched your search

@@ -27,11 +27,13 @@ class NavigationControllerTest {
fun setUp() {
// Start fresh — no pinned back stack from a previous test
NavigationController.backStack = null
NavigationController.consumePendingSessionId()
}
@After
fun tearDown() {
NavigationController.backStack = null
NavigationController.consumePendingSessionId()
}
// ── Dedup guard: navigateTo with same key ──────────────────────────────
@@ -121,6 +123,29 @@ class NavigationControllerTest {
assertEquals(KeysScreen, backStack.lastOrNull())
}
@Test
fun `openChatSession navigates once and exposes a consumable session id`() {
val backStack = NavBackStack<NavKey>(HistoryScreen)
NavigationController.backStack = backStack
NavigationController.openChatSession("stored-session")
assertEquals(ChatScreen, backStack.lastOrNull())
assertEquals("stored-session", NavigationController.consumePendingSessionId())
assertNull(NavigationController.consumePendingSessionId())
}
@Test
fun `openChatSession ignores blank ids`() {
val backStack = NavBackStack<NavKey>(HistoryScreen)
NavigationController.backStack = backStack
NavigationController.openChatSession(" ")
assertEquals(HistoryScreen, backStack.lastOrNull())
assertNull(NavigationController.consumePendingSessionId())
}
// ── resetTo: atomic clear + navigate ──────────────────────────────────
@Test