mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 21:32:34 +00:00
Add missing test on RustNotificationService
This commit is contained in:
committed by
Benoit Marty
parent
488932c4e3
commit
2953704d34
+3
@@ -14,8 +14,11 @@ import org.matrix.rustcomponents.sdk.NotificationItemsRequest
|
|||||||
|
|
||||||
class FakeFfiNotificationClient(
|
class FakeFfiNotificationClient(
|
||||||
var notificationItemResult: Map<String, NotificationItem> = emptyMap(),
|
var notificationItemResult: Map<String, NotificationItem> = emptyMap(),
|
||||||
|
val closeResult: () -> Unit = { }
|
||||||
) : NotificationClient(NoPointer) {
|
) : NotificationClient(NoPointer) {
|
||||||
override suspend fun getNotifications(requests: List<NotificationItemsRequest>): Map<String, NotificationItem> {
|
override suspend fun getNotifications(requests: List<NotificationItemsRequest>): Map<String, NotificationItem> {
|
||||||
return notificationItemResult
|
return notificationItemResult
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun close() = closeResult()
|
||||||
}
|
}
|
||||||
|
|||||||
+14
@@ -19,6 +19,7 @@ import io.element.android.libraries.matrix.test.A_SESSION_ID
|
|||||||
import io.element.android.libraries.matrix.test.A_USER_ID_2
|
import io.element.android.libraries.matrix.test.A_USER_ID_2
|
||||||
import io.element.android.services.toolbox.api.systemclock.SystemClock
|
import io.element.android.services.toolbox.api.systemclock.SystemClock
|
||||||
import io.element.android.services.toolbox.test.systemclock.FakeSystemClock
|
import io.element.android.services.toolbox.test.systemclock.FakeSystemClock
|
||||||
|
import io.element.android.tests.testutils.lambda.lambdaRecorder
|
||||||
import io.element.android.tests.testutils.testCoroutineDispatchers
|
import io.element.android.tests.testutils.testCoroutineDispatchers
|
||||||
import kotlinx.coroutines.test.TestScope
|
import kotlinx.coroutines.test.TestScope
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
@@ -61,6 +62,19 @@ class RustNotificationServiceTest {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `close should invoke the close method of the service`() = runTest {
|
||||||
|
val closeResult = lambdaRecorder<Unit> { }
|
||||||
|
val notificationClient = FakeFfiNotificationClient(
|
||||||
|
closeResult = closeResult,
|
||||||
|
)
|
||||||
|
val sut = createRustNotificationService(
|
||||||
|
notificationClient = notificationClient,
|
||||||
|
)
|
||||||
|
sut.close()
|
||||||
|
closeResult.assertions().isCalledOnce()
|
||||||
|
}
|
||||||
|
|
||||||
private fun TestScope.createRustNotificationService(
|
private fun TestScope.createRustNotificationService(
|
||||||
notificationClient: NotificationClient = FakeFfiNotificationClient(),
|
notificationClient: NotificationClient = FakeFfiNotificationClient(),
|
||||||
clock: SystemClock = FakeSystemClock(),
|
clock: SystemClock = FakeSystemClock(),
|
||||||
|
|||||||
Reference in New Issue
Block a user