diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/composition/LocalManagerProvider.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/composition/LocalManagerProvider.kt index fa9738fcd1..22674eac08 100644 --- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/composition/LocalManagerProvider.kt +++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/composition/LocalManagerProvider.kt @@ -25,13 +25,17 @@ import com.bitwarden.authenticator.ui.platform.manager.permissions.PermissionsMa @Composable fun LocalManagerProvider( activity: Activity = requireNotNull(LocalActivity.current), + permissionsManager: PermissionsManager = PermissionsManagerImpl(activity), + intentManager: IntentManager = IntentManagerImpl(activity), + exitManager: ExitManager = ExitManagerImpl(activity), + biometricsManager: BiometricsManager = BiometricsManagerImpl(activity), content: @Composable () -> Unit, ) { CompositionLocalProvider( - LocalPermissionsManager provides PermissionsManagerImpl(activity), - LocalIntentManager provides IntentManagerImpl(activity), - LocalExitManager provides ExitManagerImpl(activity), - LocalBiometricsManager provides BiometricsManagerImpl(activity), + LocalPermissionsManager provides permissionsManager, + LocalIntentManager provides intentManager, + LocalExitManager provides exitManager, + LocalBiometricsManager provides biometricsManager, content = content, ) } diff --git a/authenticator/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingScreenTest.kt b/authenticator/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingScreenTest.kt index 42a94d381f..e82188df41 100644 --- a/authenticator/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingScreenTest.kt +++ b/authenticator/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingScreenTest.kt @@ -49,11 +49,12 @@ class ItemListingScreenTest : AuthenticatorComposeTest() { @Before fun setup() { - setContent { + setContent( + intentManager = intentManager, + permissionsManager = permissionsManager, + ) { ItemListingScreen( viewModel = viewModel, - intentManager = intentManager, - permissionsManager = permissionsManager, onNavigateBack = { onNavigateBackCalled = true }, onNavigateToSearch = { onNavigateToSearchCalled = true }, onNavigateToQrCodeScanner = { onNavigateToQrCodeScannerCalled = true }, diff --git a/authenticator/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/manualcodeentry/ManualCodeEntryScreenTest.kt b/authenticator/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/manualcodeentry/ManualCodeEntryScreenTest.kt index 24be096542..e22cb75b4a 100644 --- a/authenticator/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/manualcodeentry/ManualCodeEntryScreenTest.kt +++ b/authenticator/src/test/java/com/bitwarden/authenticator/ui/authenticator/feature/manualcodeentry/ManualCodeEntryScreenTest.kt @@ -33,13 +33,14 @@ class ManualCodeEntryScreenTest : AuthenticatorComposeTest() { @Before fun setup() { - setContent { + setContent( + intentManager = intentManager, + permissionsManager = permissionsManager, + ) { ManualCodeEntryScreen( onNavigateBack = {}, onNavigateToQrCodeScreen = {}, viewModel = viewModel, - intentManager = intentManager, - permissionsManager = permissionsManager, ) } } diff --git a/authenticator/src/test/java/com/bitwarden/authenticator/ui/platform/base/AuthenticatorComposeTest.kt b/authenticator/src/test/java/com/bitwarden/authenticator/ui/platform/base/AuthenticatorComposeTest.kt index 96bdd3cc9c..667e365bd6 100644 --- a/authenticator/src/test/java/com/bitwarden/authenticator/ui/platform/base/AuthenticatorComposeTest.kt +++ b/authenticator/src/test/java/com/bitwarden/authenticator/ui/platform/base/AuthenticatorComposeTest.kt @@ -2,9 +2,14 @@ package com.bitwarden.authenticator.ui.platform.base import androidx.compose.runtime.Composable import com.bitwarden.authenticator.ui.platform.composition.LocalManagerProvider +import com.bitwarden.authenticator.ui.platform.manager.biometrics.BiometricsManager +import com.bitwarden.authenticator.ui.platform.manager.exit.ExitManager +import com.bitwarden.authenticator.ui.platform.manager.intent.IntentManager +import com.bitwarden.authenticator.ui.platform.manager.permissions.PermissionsManager import com.bitwarden.authenticator.ui.platform.theme.AuthenticatorTheme import com.bitwarden.ui.platform.base.BaseComposeTest import com.bitwarden.ui.platform.feature.settings.appearance.model.AppTheme +import io.mockk.mockk /** * A base class that can be used for performing Compose-layer testing using Robolectric, Compose @@ -16,13 +21,24 @@ abstract class AuthenticatorComposeTest : BaseComposeTest() { * Helper for testing a basic Composable function that only requires a Composable environment * with the [AuthenticatorTheme]. */ + @Suppress("LongParameterList") protected fun setContent( theme: AppTheme = AppTheme.DEFAULT, + permissionsManager: PermissionsManager = mockk(), + intentManager: IntentManager = mockk(), + exitManager: ExitManager = mockk(), + biometricsManager: BiometricsManager = mockk(), test: @Composable () -> Unit, ) { setTestContent { AuthenticatorTheme(theme = theme) { - LocalManagerProvider { test() } + LocalManagerProvider( + permissionsManager = permissionsManager, + intentManager = intentManager, + exitManager = exitManager, + biometricsManager = biometricsManager, + content = test, + ) } } } diff --git a/authenticator/src/test/java/com/bitwarden/authenticator/ui/platform/feature/settings/SettingsScreenTest.kt b/authenticator/src/test/java/com/bitwarden/authenticator/ui/platform/feature/settings/SettingsScreenTest.kt index 1adba31caa..b0ee4d4dd5 100644 --- a/authenticator/src/test/java/com/bitwarden/authenticator/ui/platform/feature/settings/SettingsScreenTest.kt +++ b/authenticator/src/test/java/com/bitwarden/authenticator/ui/platform/feature/settings/SettingsScreenTest.kt @@ -56,11 +56,12 @@ class SettingsScreenTest : AuthenticatorComposeTest() { @Before fun setup() { - setContent { + setContent( + biometricsManager = biometricsManager, + intentManager = intentManager, + ) { SettingsScreen( viewModel = viewModel, - biometricsManager = biometricsManager, - intentManager = intentManager, onNavigateToTutorial = { onNavigateToTutorialCalled = true }, onNavigateToExport = { onNaviateToExportCalled = true }, onNavigateToImport = { onNavigateToImportCalled = true },