mirror of
https://github.com/bitwarden/android.git
synced 2025-12-11 04:39:19 -06:00
Update authenticator compose tests to allow for easier use of local compositions (#5228)
This commit is contained in:
parent
3d152f5c36
commit
34aed2ac65
@ -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,
|
||||
)
|
||||
}
|
||||
|
||||
@ -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 },
|
||||
|
||||
@ -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,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@ -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,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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 },
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user