Skip to content

Commit 2953704

Browse files
committed
Add missing test on RustNotificationService
1 parent 488932c commit 2953704

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeFfiNotificationClient.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,11 @@ import org.matrix.rustcomponents.sdk.NotificationItemsRequest
1414

1515
class FakeFfiNotificationClient(
1616
var notificationItemResult: Map<String, NotificationItem> = emptyMap(),
17+
val closeResult: () -> Unit = { }
1718
) : NotificationClient(NoPointer) {
1819
override suspend fun getNotifications(requests: List<NotificationItemsRequest>): Map<String, NotificationItem> {
1920
return notificationItemResult
2021
}
22+
23+
override fun close() = closeResult()
2124
}

libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/notification/RustNotificationServiceTest.kt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import io.element.android.libraries.matrix.test.A_SESSION_ID
1919
import io.element.android.libraries.matrix.test.A_USER_ID_2
2020
import io.element.android.services.toolbox.api.systemclock.SystemClock
2121
import io.element.android.services.toolbox.test.systemclock.FakeSystemClock
22+
import io.element.android.tests.testutils.lambda.lambdaRecorder
2223
import io.element.android.tests.testutils.testCoroutineDispatchers
2324
import kotlinx.coroutines.test.TestScope
2425
import kotlinx.coroutines.test.runTest
@@ -61,6 +62,19 @@ class RustNotificationServiceTest {
6162
)
6263
}
6364

65+
@Test
66+
fun `close should invoke the close method of the service`() = runTest {
67+
val closeResult = lambdaRecorder<Unit> { }
68+
val notificationClient = FakeFfiNotificationClient(
69+
closeResult = closeResult,
70+
)
71+
val sut = createRustNotificationService(
72+
notificationClient = notificationClient,
73+
)
74+
sut.close()
75+
closeResult.assertions().isCalledOnce()
76+
}
77+
6478
private fun TestScope.createRustNotificationService(
6579
notificationClient: NotificationClient = FakeFfiNotificationClient(),
6680
clock: SystemClock = FakeSystemClock(),

0 commit comments

Comments
 (0)