diff --git a/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/json/JsonProvider.kt b/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/json/JsonProvider.kt index 08226060db..2e91cd6784 100644 --- a/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/json/JsonProvider.kt +++ b/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/json/JsonProvider.kt @@ -17,7 +17,7 @@ import kotlinx.serialization.json.Json /** * Provides a Json instance configured to ignore unknown keys. */ -interface JsonProvider : Provider +fun interface JsonProvider : Provider @ContributesBinding(AppScope::class) @SingleIn(AppScope::class) diff --git a/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/workmanager/SyncNotificationWorkManagerRequestTest.kt b/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/workmanager/SyncNotificationWorkManagerRequestTest.kt index fcefd8ab8b..ebbe4eb865 100644 --- a/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/workmanager/SyncNotificationWorkManagerRequestTest.kt +++ b/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/workmanager/SyncNotificationWorkManagerRequestTest.kt @@ -49,14 +49,24 @@ class SyncNotificationWorkManagerRequestTest { assertThat(result.isFailure).isTrue() } - // TODO add test for invalid serialization (how?) + @Test + fun `build - invalid serialization`() = runTest { + val request = createSyncNotificationWorkManagerRequest( + sessionId = A_SESSION_ID, + notificationEventRequests = listOf(aNotificationEventRequest()), + workerDataConverter = WorkerDataConverter({ error("error during serialization") }) + ) + val result = request.build() + assertThat(result.isFailure).isTrue() + } } private fun createSyncNotificationWorkManagerRequest( sessionId: SessionId, notificationEventRequests: List, + workerDataConverter: WorkerDataConverter = WorkerDataConverter(DefaultJsonProvider()) ) = SyncNotificationWorkManagerRequest( sessionId = sessionId, notificationEventRequests = notificationEventRequests, - workerDataConverter = WorkerDataConverter(DefaultJsonProvider()), + workerDataConverter = workerDataConverter, )