Let enterprise build be able to override (or disable) the bug report URL.
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
package io.element.android.features.login.impl.screens.onboarding
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.collectAsState
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.produceState
|
||||
@@ -82,7 +83,7 @@ class OnBoardingPresenter @AssistedInject constructor(
|
||||
value = linkAccountProvider == null &&
|
||||
featureFlagService.isFeatureEnabled(FeatureFlags.QrCodeLogin)
|
||||
}
|
||||
val canReportBug = remember { rageshakeFeatureAvailability.isAvailable() }
|
||||
val canReportBug by remember { rageshakeFeatureAvailability.isAvailable() }.collectAsState(false)
|
||||
var showReportBug by rememberSaveable { mutableStateOf(false) }
|
||||
|
||||
val loginMode by loginHelper.collectLoginMode()
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.google.common.truth.Truth.assertThat
|
||||
import io.element.android.features.enterprise.test.FakeEnterpriseService
|
||||
import io.element.android.features.login.impl.changeserver.AccountProviderAccessException
|
||||
import io.element.android.features.wellknown.test.FakeWellknownRetriever
|
||||
import io.element.android.features.wellknown.test.anElementWellKnown
|
||||
import io.element.android.libraries.matrix.test.AN_ACCOUNT_PROVIDER
|
||||
import io.element.android.libraries.matrix.test.AN_ACCOUNT_PROVIDER_2
|
||||
import io.element.android.libraries.matrix.test.AN_ACCOUNT_PROVIDER_URL
|
||||
@@ -25,7 +26,7 @@ class DefaultAccountProviderAccessControlTest {
|
||||
val accessControl = createDefaultAccountProviderAccessControl(
|
||||
isEnterpriseBuild = false,
|
||||
isAllowedToConnectToHomeserver = true,
|
||||
elementWellKnown = ElementWellKnown(
|
||||
elementWellKnown = anElementWellKnown(
|
||||
enforceElementPro = true,
|
||||
),
|
||||
)
|
||||
@@ -38,7 +39,7 @@ class DefaultAccountProviderAccessControlTest {
|
||||
isEnterpriseBuild = false,
|
||||
// false here.
|
||||
isAllowedToConnectToHomeserver = false,
|
||||
elementWellKnown = ElementWellKnown(
|
||||
elementWellKnown = anElementWellKnown(
|
||||
enforceElementPro = true,
|
||||
),
|
||||
)
|
||||
@@ -50,7 +51,7 @@ class DefaultAccountProviderAccessControlTest {
|
||||
val accessControl = createDefaultAccountProviderAccessControl(
|
||||
isEnterpriseBuild = false,
|
||||
isAllowedToConnectToHomeserver = true,
|
||||
elementWellKnown = ElementWellKnown(
|
||||
elementWellKnown = anElementWellKnown(
|
||||
enforceElementPro = false,
|
||||
),
|
||||
)
|
||||
@@ -62,7 +63,7 @@ class DefaultAccountProviderAccessControlTest {
|
||||
val accessControl = createDefaultAccountProviderAccessControl(
|
||||
isEnterpriseBuild = false,
|
||||
isAllowedToConnectToHomeserver = true,
|
||||
elementWellKnown = ElementWellKnown(
|
||||
elementWellKnown = anElementWellKnown(
|
||||
enforceElementPro = null,
|
||||
),
|
||||
)
|
||||
@@ -85,7 +86,7 @@ class DefaultAccountProviderAccessControlTest {
|
||||
isEnterpriseBuild = false,
|
||||
isAllowedToConnectToHomeserver = false,
|
||||
allowedAccountProviders = listOf(AN_ACCOUNT_PROVIDER_2),
|
||||
elementWellKnown = ElementWellKnown(
|
||||
elementWellKnown = anElementWellKnown(
|
||||
enforceElementPro = false,
|
||||
),
|
||||
)
|
||||
@@ -97,7 +98,7 @@ class DefaultAccountProviderAccessControlTest {
|
||||
val accessControl = createDefaultAccountProviderAccessControl(
|
||||
isEnterpriseBuild = true,
|
||||
isAllowedToConnectToHomeserver = true,
|
||||
elementWellKnown = ElementWellKnown(
|
||||
elementWellKnown = anElementWellKnown(
|
||||
enforceElementPro = true,
|
||||
),
|
||||
)
|
||||
@@ -109,7 +110,7 @@ class DefaultAccountProviderAccessControlTest {
|
||||
val accessControl = createDefaultAccountProviderAccessControl(
|
||||
isEnterpriseBuild = true,
|
||||
isAllowedToConnectToHomeserver = true,
|
||||
elementWellKnown = ElementWellKnown(
|
||||
elementWellKnown = anElementWellKnown(
|
||||
enforceElementPro = false,
|
||||
),
|
||||
)
|
||||
@@ -122,7 +123,7 @@ class DefaultAccountProviderAccessControlTest {
|
||||
isEnterpriseBuild = true,
|
||||
isAllowedToConnectToHomeserver = false,
|
||||
allowedAccountProviders = listOf(AN_ACCOUNT_PROVIDER_2),
|
||||
elementWellKnown = ElementWellKnown(
|
||||
elementWellKnown = anElementWellKnown(
|
||||
enforceElementPro = true,
|
||||
),
|
||||
)
|
||||
@@ -135,7 +136,7 @@ class DefaultAccountProviderAccessControlTest {
|
||||
isEnterpriseBuild = true,
|
||||
isAllowedToConnectToHomeserver = false,
|
||||
allowedAccountProviders = listOf(AN_ACCOUNT_PROVIDER_2),
|
||||
elementWellKnown = ElementWellKnown(
|
||||
elementWellKnown = anElementWellKnown(
|
||||
enforceElementPro = false,
|
||||
),
|
||||
)
|
||||
|
||||
@@ -15,6 +15,7 @@ import io.element.android.features.login.impl.accountprovider.AccountProvider
|
||||
import io.element.android.features.login.impl.accountprovider.AccountProviderDataSource
|
||||
import io.element.android.features.login.impl.error.ChangeServerError
|
||||
import io.element.android.features.wellknown.test.FakeWellknownRetriever
|
||||
import io.element.android.features.wellknown.test.anElementWellKnown
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
import io.element.android.libraries.core.uri.ensureProtocol
|
||||
import io.element.android.libraries.matrix.test.A_HOMESERVER
|
||||
@@ -114,7 +115,7 @@ class ChangeServerPresenterTest {
|
||||
@Test
|
||||
fun `present - change server element pro required error`() = runTest {
|
||||
val getElementWellKnownResult = lambdaRecorder<String, ElementWellKnown> {
|
||||
ElementWellKnown(
|
||||
anElementWellKnown(
|
||||
enforceElementPro = true,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -36,6 +36,8 @@ import io.element.android.libraries.oidc.test.customtab.FakeOidcActionFlow
|
||||
import io.element.android.libraries.wellknown.api.WellknownRetriever
|
||||
import io.element.android.tests.testutils.WarmUpRule
|
||||
import io.element.android.tests.testutils.test
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.flowOf
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
@@ -78,7 +80,6 @@ class OnBoardingPresenterTest {
|
||||
enterpriseService = FakeEnterpriseService(
|
||||
defaultHomeserverListResult = { listOf(ACCOUNT_PROVIDER_FROM_CONFIG, EnterpriseService.ANY_ACCOUNT_PROVIDER) },
|
||||
),
|
||||
rageshakeFeatureAvailability = { true },
|
||||
)
|
||||
presenter.test {
|
||||
val initialState = awaitItem()
|
||||
@@ -94,7 +95,7 @@ class OnBoardingPresenterTest {
|
||||
@Test
|
||||
fun `present - clicking on version 7 times has no effect if rageshake not available`() = runTest {
|
||||
val presenter = createPresenter(
|
||||
rageshakeFeatureAvailability = { false },
|
||||
rageshakeFeatureAvailability = { flowOf(false) },
|
||||
)
|
||||
presenter.test {
|
||||
skipItems(1)
|
||||
@@ -239,7 +240,7 @@ private fun createPresenter(
|
||||
featureFlagService: FeatureFlagService = FakeFeatureFlagService(),
|
||||
enterpriseService: EnterpriseService = FakeEnterpriseService(),
|
||||
wellknownRetriever: WellknownRetriever = FakeWellknownRetriever(),
|
||||
rageshakeFeatureAvailability: () -> Boolean = { true },
|
||||
rageshakeFeatureAvailability: () -> Flow<Boolean> = { flowOf(true) },
|
||||
loginHelper: LoginHelper = createLoginHelper(),
|
||||
) = OnBoardingPresenter(
|
||||
params = params,
|
||||
|
||||
Reference in New Issue
Block a user