diff --git a/app/src/main/java/com/infomaniak/swisstransfer/ui/navigation/NavigationDestination.kt b/app/src/main/java/com/infomaniak/swisstransfer/ui/navigation/NavigationDestination.kt index f1a0d25b7..786f94d66 100644 --- a/app/src/main/java/com/infomaniak/swisstransfer/ui/navigation/NavigationDestination.kt +++ b/app/src/main/java/com/infomaniak/swisstransfer/ui/navigation/NavigationDestination.kt @@ -84,7 +84,7 @@ sealed class MainNavigation(override val matomoValue: String) : NavigationDestin private const val sentDestinationName = "SentDestination" private const val receivedDestinationName = "ReceivedDestination" private const val settingsDestinationName = "SettingsDestination" - val destinationsNames = listOf( + val mainDestinationsNames = listOf( sentDestinationName, receivedDestinationName, settingsDestinationName, @@ -93,10 +93,10 @@ sealed class MainNavigation(override val matomoValue: String) : NavigationDestin fun NavBackStackEntry.toMainDestination(): MainNavigation? { return runCatching { val destinationRoute = destination.route ?: error("Destination route cannot be empty") - when (destinationsNames.firstOrNull { destinationRoute.contains(it) }) { - sentDestinationName -> this.toRoute() - receivedDestinationName -> this.toRoute() - settingsDestinationName -> this.toRoute() + when (mainDestinationsNames.firstOrNull { destinationRoute.contains(it) }) { + sentDestinationName -> toRoute() + receivedDestinationName -> toRoute() + settingsDestinationName -> toRoute() else -> error("Destination $destinationRoute is not handled") } }.getOrElse { exception -> @@ -152,33 +152,33 @@ sealed class NewTransferNavigation(override val matomoValue: String) : Navigatio private val TAG = NewTransferNavigation::class.java.simpleName private const val importFilesDestinationName = "ImportFilesDestination" - private const val ValidateUserEmailDestinationName = "ValidateUserEmailDestination" - private const val UploadProgressDestinationName = "UploadProgressDestination" - private const val UploadSuccessDestinationName = "UploadSuccessDestination" - private const val UploadErrorDestinationName = "UploadErrorDestination" - private const val UploadIntegrityErrorDestinationName = "UploadIntegrityErrorDestination" - private const val NewTransferFilesDetailsDestinationName = "NewTransferFilesDetailsDestination" + private const val validateUserEmailDestinationName = "ValidateUserEmailDestination" + private const val uploadProgressDestinationName = "UploadProgressDestination" + private const val uploadSuccessDestinationName = "UploadSuccessDestination" + private const val uploadErrorDestinationName = "UploadErrorDestination" + private const val uploadIntegrityErrorDestinationName = "UploadIntegrityErrorDestination" + private const val newTransferFilesDetailsDestinationName = "NewTransferFilesDetailsDestination" val newTransferDestinationsNames = listOf( importFilesDestinationName, - ValidateUserEmailDestinationName, - UploadProgressDestinationName, - UploadSuccessDestinationName, - UploadErrorDestinationName, - UploadIntegrityErrorDestinationName, - NewTransferFilesDetailsDestinationName, + validateUserEmailDestinationName, + uploadProgressDestinationName, + uploadSuccessDestinationName, + uploadErrorDestinationName, + uploadIntegrityErrorDestinationName, + newTransferFilesDetailsDestinationName, ) fun NavBackStackEntry.toNewTransferDestination(): NewTransferNavigation? { return runCatching { val destinationRoute = destination.route ?: error("Destination route cannot be empty") when (newTransferDestinationsNames.firstOrNull(destinationRoute::contains)) { - importFilesDestinationName -> this.toRoute() - ValidateUserEmailDestinationName -> this.toRoute() - UploadProgressDestinationName -> this.toRoute() - UploadSuccessDestinationName -> this.toRoute() - UploadErrorDestinationName -> this.toRoute() - UploadIntegrityErrorDestinationName -> this.toRoute() - NewTransferFilesDetailsDestinationName -> this.toRoute() + importFilesDestinationName -> toRoute() + validateUserEmailDestinationName -> toRoute() + uploadProgressDestinationName -> toRoute() + uploadSuccessDestinationName -> toRoute() + uploadErrorDestinationName -> toRoute() + uploadIntegrityErrorDestinationName -> toRoute() + newTransferFilesDetailsDestinationName -> toRoute() else -> error("Destination $destinationRoute is not handled") } }.getOrElse { exception -> diff --git a/app/src/test/java/com/infomaniak/swisstransfer/NavigationDestinationUnitTest.kt b/app/src/test/java/com/infomaniak/swisstransfer/NavigationDestinationUnitTest.kt index 4b1751062..b98241cce 100644 --- a/app/src/test/java/com/infomaniak/swisstransfer/NavigationDestinationUnitTest.kt +++ b/app/src/test/java/com/infomaniak/swisstransfer/NavigationDestinationUnitTest.kt @@ -18,19 +18,37 @@ package com.infomaniak.swisstransfer import com.infomaniak.swisstransfer.ui.navigation.MainNavigation +import com.infomaniak.swisstransfer.ui.navigation.NewTransferNavigation import org.junit.Assert.assertNotNull import org.junit.Test class NavigationDestinationUnitTest { /** - * Make sure that NavigationDestination names are not changed without changing the `entries` list, because of minification issue. + * Make sure that MainNavigationDestination names are not changed without changing the `entries` list, + * because of minification issue. */ @Test - fun check_destinations_names_are_correct() { - val destinationsNames = MainNavigation.Companion.destinationsNames + fun check_main_destinations_names_are_correct() { + val destinationsNames = MainNavigation.Companion.mainDestinationsNames assertNotNull(destinationsNames.find { it == MainNavigation.SentDestination::class.simpleName }) assertNotNull(destinationsNames.find { it == MainNavigation.ReceivedDestination::class.simpleName }) assertNotNull(destinationsNames.find { it == MainNavigation.SettingsDestination::class.simpleName }) } + + /** + * Make sure that NewTransferNavigationDestination names are not changed without changing the `entries` list, + * because of minification issue. + */ + @Test + fun check_new_transfer_destinations_names_are_correct() { + val destinationsNames = NewTransferNavigation.Companion.newTransferDestinationsNames + assertNotNull(destinationsNames.find { it == NewTransferNavigation.ImportFilesDestination::class.simpleName }) + assertNotNull(destinationsNames.find { it == NewTransferNavigation.ValidateUserEmailDestination::class.simpleName }) + assertNotNull(destinationsNames.find { it == NewTransferNavigation.UploadProgressDestination::class.simpleName }) + assertNotNull(destinationsNames.find { it == NewTransferNavigation.UploadSuccessDestination::class.simpleName }) + assertNotNull(destinationsNames.find { it == NewTransferNavigation.UploadIntegrityErrorDestination::class.simpleName }) + assertNotNull(destinationsNames.find { it == NewTransferNavigation.UploadIntegrityErrorDestination::class.simpleName }) + assertNotNull(destinationsNames.find { it == NewTransferNavigation.NewTransferFilesDetailsDestination::class.simpleName }) + } }