refactor(#104): prune unused ChatMessageDao APIs and stale test stubs (#160)

Co-authored-by: M57 <hy4ri@users.noreply.github.com>
This commit is contained in:
M57andM57 authored and GitHub committed 2026-06-20 13:57:51 +03:00
1 parent 3f19224228
commit 0ec70beb84
2 files changed
-34

No files matched your search

@@ -4,13 +4,9 @@ import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import kotlinx.coroutines.flow.Flow
@Dao
interface ChatMessageDao {
@Query("SELECT * FROM chat_messages WHERE session_id = :sessionId ORDER BY timestamp ASC")
fun observeMessagesForSession(sessionId: String): Flow<List<ChatMessageEntity>>
@Query("SELECT * FROM chat_messages WHERE session_id = :sessionId ORDER BY timestamp ASC")
suspend fun getMessagesForSession(sessionId: String): List<ChatMessageEntity>
@@ -19,29 +15,4 @@ interface ChatMessageDao {
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun upsertAll(messages: List<ChatMessageEntity>)
@Query("UPDATE chat_messages SET content = :content, is_streaming = 0 WHERE id = :id")
suspend fun finalizeMessage(
id: String,
content: String,
)
@Query("UPDATE chat_messages SET content = :content WHERE id = :id")
suspend fun updateContent(
id: String,
content: String,
)
@Query("DELETE FROM chat_messages WHERE session_id = :sessionId")
suspend fun deleteMessagesForSession(sessionId: String)
@Query(
"DELETE FROM chat_messages WHERE session_id NOT IN " +
"(SELECT DISTINCT session_id FROM chat_messages " +
"ORDER BY timestamp DESC LIMIT :keepSessions)",
)
suspend fun pruneOldSessions(keepSessions: Int)
@Query("SELECT COUNT(*) FROM chat_messages")
suspend fun count(): Int
}
@@ -20,7 +20,6 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.test.StandardTestDispatcher
import kotlinx.coroutines.test.advanceUntilIdle
import kotlinx.coroutines.test.resetMain
@@ -68,13 +67,9 @@ class ChatViewModelTest {
every { HermesWsClient.disconnect() } returns Unit
every { mockDb.chatMessageDao() } returns mockDao
every { HermesDatabase.get(any()) } returns mockDb
every { mockDao.observeMessagesForSession(any()) } returns flowOf(emptyList())
coEvery { mockDao.getMessagesForSession(any()) } returns emptyList()
coEvery { mockDao.upsert(any()) } returns Unit
coEvery { mockDao.upsertAll(any()) } returns Unit
coEvery { mockDao.finalizeMessage(any(), any()) } returns Unit
coEvery { mockDao.deleteMessagesForSession(any()) } returns Unit
coEvery { mockDao.count() } returns 0
// Default mock stubs for requests returning unique IDs
var reqCount = 0