mirror of
https://github.com/oxen-io/session-android.git
synced 2025-12-05 09:52:13 +00:00
feat: Add conversation filtering for message requests (#830)
* feat: Message requests * Apply contact sync message * Filter based on message requests toggle * Add message requests screen * Implement message requests screen * Handle message request buttons * Handle approval syncing * Display message request response * Display pending message request * Display pending message request * Add approval migrations * Send message request response * Fix conversation filters * Add approval migration * Handle message request response * Update message request response proto * Update message request response handling * Refresh message requests * Show message request banner on new message request * Message request item layout tweaks * Fix latest unapproved conversation query * Handle sent message request responses on restore * QA feedback tweaks * Remove send limit on message requests * Config message handling tweaks * Reverse conversation upon message request approval * Remove read receipts, delete declined conversations * Fix contact filtering in config messages * Fix message request order and handle deletion * Fix message request snippet on home screen * Refresh message request list after decline or clearing all * Fix message request reversal * Fix message request notifications * Disable media buttons for message requests * Hide message request banner after reading * Refresh message request banner
This commit is contained in:
@@ -158,6 +158,20 @@ class ConversationViewModelTest: BaseViewModelTest() {
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `should accept message request`() = runBlockingTest {
|
||||
viewModel.acceptMessageRequest()
|
||||
|
||||
verify(repository).acceptMessageRequest(threadId, recipient)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `should decline message request`() {
|
||||
viewModel.declineMessageRequest()
|
||||
|
||||
verify(repository).declineMessageRequest(threadId, recipient)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `should remove shown message`() = runBlockingTest {
|
||||
// Given that a message is generated
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package org.thoughtcrime.securesms.messagerequests
|
||||
|
||||
import org.junit.Test
|
||||
import org.mockito.Mockito.mock
|
||||
import org.mockito.Mockito.verify
|
||||
import org.thoughtcrime.securesms.BaseViewModelTest
|
||||
import org.thoughtcrime.securesms.database.model.ThreadRecord
|
||||
import org.thoughtcrime.securesms.repository.ConversationRepository
|
||||
|
||||
class MessageRequestsViewModelTest : BaseViewModelTest() {
|
||||
|
||||
private val repository = mock(ConversationRepository::class.java)
|
||||
|
||||
private val viewModel: MessageRequestsViewModel by lazy {
|
||||
MessageRequestsViewModel(repository)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `should delete message request`() = runBlockingTest {
|
||||
val thread = mock(ThreadRecord::class.java)
|
||||
|
||||
viewModel.deleteMessageRequest(thread)
|
||||
|
||||
verify(repository).deleteMessageRequest(thread)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `should clear all message requests`() = runBlockingTest {
|
||||
viewModel.clearAllMessageRequests()
|
||||
|
||||
verify(repository).clearAllMessageRequests()
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user