diff --git a/features/rageshake/impl/src/test/kotlin/io/element/android/features/rageshake/impl/DefaultRageshakeFeatureAvailabilityTest.kt b/features/rageshake/impl/src/test/kotlin/io/element/android/features/rageshake/impl/DefaultRageshakeFeatureAvailabilityTest.kt new file mode 100644 index 0000000000..7f59245647 --- /dev/null +++ b/features/rageshake/impl/src/test/kotlin/io/element/android/features/rageshake/impl/DefaultRageshakeFeatureAvailabilityTest.kt @@ -0,0 +1,33 @@ +/* + * Copyright 2025 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. + */ + +package io.element.android.features.rageshake.impl + +import app.cash.turbine.test +import com.google.common.truth.Truth.assertThat +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.test.runTest +import okhttp3.HttpUrl +import okhttp3.HttpUrl.Companion.toHttpUrl +import org.junit.Test + +class DefaultRageshakeFeatureAvailabilityTest { + @Test + fun `test isAvailable returns true when bug reporter URL is provided`() = runTest { + val flow = MutableStateFlow(null) + val sut = DefaultRageshakeFeatureAvailability( + bugReporterUrlProvider = { flow }, + ) + sut.isAvailable().test { + assertThat(awaitItem()).isFalse() + flow.value = "https://example.com/bugreport".toHttpUrl() + assertThat(awaitItem()).isTrue() + flow.value = null + assertThat(awaitItem()).isFalse() + } + } +}