Skip to content

Commit 410a2ad

Browse files
committed
Merge branch 'feature-module-daita'
2 parents e9ce0c9 + a68719d commit 410a2ad

File tree

234 files changed

+1050
-646
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

234 files changed

+1050
-646
lines changed

android/app/build.gradle.kts

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ plugins {
2929
alias(libs.plugins.kotlin.parcelize)
3030
alias(libs.plugins.kotlin.ksp)
3131
alias(libs.plugins.compose)
32-
alias(libs.plugins.junit5.android)
3332
alias(libs.plugins.baselineprofile)
34-
alias(libs.plugins.mullvad.test)
33+
alias(libs.plugins.mullvad.unit.test)
34+
id("de.mannodermaus.android-junit5")
3535
id("net.mullvad.rust-android")
3636
}
3737

@@ -158,6 +158,15 @@ android {
158158

159159
sourceSets {
160160
getByName("main") { assets.srcDirs(relayListDirectory, changelogAssetsDirectory) }
161+
// Workaround to include all instrumented tests in app module. Without this we'd have to
162+
// create an APK for each submodule and pass each on for testing with the orchestrator.
163+
getByName("androidTest") {
164+
rootProject.subprojects
165+
.mapNotNull { subProject ->
166+
subProject.file("src/androidTest/kotlin").takeIf { it.exists() }
167+
}
168+
.forEach { java.srcDir(it) }
169+
}
161170
}
162171

163172
buildFeatures {
@@ -377,8 +386,10 @@ dependencies {
377386
implementation(projects.lib.common)
378387
implementation(projects.lib.grpc)
379388
implementation(projects.lib.endpoint)
389+
implementation(projects.lib.feature.daita.impl)
380390
implementation(projects.lib.map)
381391
implementation(projects.lib.model)
392+
implementation(projects.lib.navigation)
382393
implementation(projects.lib.payment)
383394
implementation(projects.lib.repository)
384395
implementation(projects.lib.talpid)
@@ -455,15 +466,6 @@ dependencies {
455466
// Leak canary
456467
leakCanaryImplementation(libs.leakCanary)
457468

458-
testImplementation(projects.lib.commonTest)
459-
testImplementation(libs.kotlin.test)
460-
testImplementation(libs.kotlinx.coroutines.test)
461-
testImplementation(libs.mockk)
462-
testImplementation(libs.turbine)
463-
testImplementation(libs.junit.jupiter.api)
464-
testRuntimeOnly(libs.junit.jupiter.engine)
465-
testImplementation(libs.junit.jupiter.params)
466-
467469
// HACK:
468470
// Not used by app module, but otherwise an older version pre 1.8.0 will be used at runtime for
469471
// the e2e tests. This causes the deserialization to fail because of a missing function that was
@@ -481,4 +483,5 @@ dependencies {
481483
androidTestImplementation(libs.junit.jupiter.api)
482484
androidTestImplementation(libs.junit5.android.test.compose)
483485
androidTestImplementation(libs.androidx.espresso)
486+
androidTestImplementation(projects.lib.screenTest)
484487
}

android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/component/AddTimeBottomSheetTest.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,19 @@ import io.mockk.mockk
1212
import io.mockk.verify
1313
import kotlin.Unit
1414
import net.mullvad.mullvadvpn.compose.bottomsheet.addtime.AddTimeBottomSheetContent
15-
import net.mullvad.mullvadvpn.compose.createEdgeToEdgeComposeExtension
16-
import net.mullvad.mullvadvpn.compose.setContentWithTheme
1715
import net.mullvad.mullvadvpn.compose.state.AddTimeUiState
1816
import net.mullvad.mullvadvpn.compose.state.PaymentState
1917
import net.mullvad.mullvadvpn.compose.state.PurchaseState
18+
import net.mullvad.mullvadvpn.lib.common.Lc
19+
import net.mullvad.mullvadvpn.lib.common.toLc
2020
import net.mullvad.mullvadvpn.lib.payment.ProductIds
2121
import net.mullvad.mullvadvpn.lib.payment.model.PaymentProduct
2222
import net.mullvad.mullvadvpn.lib.payment.model.PaymentStatus
2323
import net.mullvad.mullvadvpn.lib.payment.model.ProductId
2424
import net.mullvad.mullvadvpn.lib.payment.model.ProductPrice
2525
import net.mullvad.mullvadvpn.lib.ui.tag.PLAY_PAYMENT_INFO_ICON_TEST_TAG
26-
import net.mullvad.mullvadvpn.util.Lc
27-
import net.mullvad.mullvadvpn.util.toLc
26+
import net.mullvad.mullvadvpn.screen.test.createEdgeToEdgeComposeExtension
27+
import net.mullvad.mullvadvpn.screen.test.setContentWithTheme
2828
import org.junit.jupiter.api.Test
2929
import org.junit.jupiter.api.extension.RegisterExtension
3030

android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/dialog/CreateCustomListDialogTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ import de.mannodermaus.junit5.compose.ComposeContext
99
import io.mockk.MockKAnnotations
1010
import io.mockk.mockk
1111
import io.mockk.verify
12-
import net.mullvad.mullvadvpn.compose.createEdgeToEdgeComposeExtension
13-
import net.mullvad.mullvadvpn.compose.setContentWithTheme
1412
import net.mullvad.mullvadvpn.compose.state.CreateCustomListUiState
1513
import net.mullvad.mullvadvpn.lib.model.CustomListAlreadyExists
1614
import net.mullvad.mullvadvpn.lib.model.UnknownCustomListError
1715
import net.mullvad.mullvadvpn.lib.ui.tag.CREATE_CUSTOM_LIST_DIALOG_INPUT_TEST_TAG
1816
import net.mullvad.mullvadvpn.lib.usecase.customlists.CreateWithLocationsError
17+
import net.mullvad.mullvadvpn.screen.test.createEdgeToEdgeComposeExtension
18+
import net.mullvad.mullvadvpn.screen.test.setContentWithTheme
1919
import org.junit.jupiter.api.BeforeEach
2020
import org.junit.jupiter.api.Test
2121
import org.junit.jupiter.api.extension.RegisterExtension

android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/dialog/CustomPortDialogTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ import de.mannodermaus.junit5.compose.ComposeContext
1414
import io.mockk.MockKAnnotations
1515
import io.mockk.mockk
1616
import io.mockk.verify
17-
import net.mullvad.mullvadvpn.compose.createEdgeToEdgeComposeExtension
18-
import net.mullvad.mullvadvpn.compose.setContentWithTheme
1917
import net.mullvad.mullvadvpn.lib.model.PortRange
2018
import net.mullvad.mullvadvpn.lib.ui.tag.CUSTOM_PORT_DIALOG_INPUT_TEST_TAG
2119
import net.mullvad.mullvadvpn.onNodeWithTagAndText
20+
import net.mullvad.mullvadvpn.screen.test.createEdgeToEdgeComposeExtension
21+
import net.mullvad.mullvadvpn.screen.test.setContentWithTheme
2222
import org.junit.jupiter.api.BeforeEach
2323
import org.junit.jupiter.api.Test
2424
import org.junit.jupiter.api.extension.RegisterExtension

android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/dialog/DeleteCustomListConfirmationDialogTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import de.mannodermaus.junit5.compose.ComposeContext
77
import io.mockk.MockKAnnotations
88
import io.mockk.mockk
99
import io.mockk.verify
10-
import net.mullvad.mullvadvpn.compose.createEdgeToEdgeComposeExtension
11-
import net.mullvad.mullvadvpn.compose.setContentWithTheme
1210
import net.mullvad.mullvadvpn.compose.state.DeleteCustomListUiState
1311
import net.mullvad.mullvadvpn.lib.model.CustomListName
12+
import net.mullvad.mullvadvpn.screen.test.createEdgeToEdgeComposeExtension
13+
import net.mullvad.mullvadvpn.screen.test.setContentWithTheme
1414
import org.junit.jupiter.api.BeforeEach
1515
import org.junit.jupiter.api.Test
1616
import org.junit.jupiter.api.extension.RegisterExtension

android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/dialog/DnsDialogTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import androidx.compose.ui.test.ExperimentalTestApi
44
import androidx.compose.ui.test.assertIsNotEnabled
55
import androidx.compose.ui.test.onNodeWithText
66
import de.mannodermaus.junit5.compose.ComposeContext
7-
import net.mullvad.mullvadvpn.compose.createEdgeToEdgeComposeExtension
8-
import net.mullvad.mullvadvpn.compose.setContentWithTheme
7+
import net.mullvad.mullvadvpn.screen.test.createEdgeToEdgeComposeExtension
8+
import net.mullvad.mullvadvpn.screen.test.setContentWithTheme
99
import net.mullvad.mullvadvpn.viewmodel.DnsDialogViewState
1010
import net.mullvad.mullvadvpn.viewmodel.ValidationError
1111
import org.junit.jupiter.api.Test

android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/dialog/EditCustomListNameDialogTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ import de.mannodermaus.junit5.compose.ComposeContext
99
import io.mockk.MockKAnnotations
1010
import io.mockk.mockk
1111
import io.mockk.verify
12-
import net.mullvad.mullvadvpn.compose.createEdgeToEdgeComposeExtension
13-
import net.mullvad.mullvadvpn.compose.setContentWithTheme
1412
import net.mullvad.mullvadvpn.compose.state.EditCustomListNameUiState
1513
import net.mullvad.mullvadvpn.lib.model.CustomListName
1614
import net.mullvad.mullvadvpn.lib.model.NameAlreadyExists
1715
import net.mullvad.mullvadvpn.lib.model.UnknownCustomListError
1816
import net.mullvad.mullvadvpn.lib.ui.tag.EDIT_CUSTOM_LIST_DIALOG_INPUT_TEST_TAG
1917
import net.mullvad.mullvadvpn.lib.usecase.customlists.RenameError
18+
import net.mullvad.mullvadvpn.screen.test.createEdgeToEdgeComposeExtension
19+
import net.mullvad.mullvadvpn.screen.test.setContentWithTheme
2020
import org.junit.jupiter.api.BeforeEach
2121
import org.junit.jupiter.api.Test
2222
import org.junit.jupiter.api.extension.RegisterExtension

android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/dialog/MtuDialogTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import de.mannodermaus.junit5.compose.ComposeContext
99
import io.mockk.MockKAnnotations
1010
import io.mockk.mockk
1111
import io.mockk.verify
12-
import net.mullvad.mullvadvpn.compose.createEdgeToEdgeComposeExtension
13-
import net.mullvad.mullvadvpn.compose.setContentWithTheme
12+
import net.mullvad.mullvadvpn.screen.test.createEdgeToEdgeComposeExtension
13+
import net.mullvad.mullvadvpn.screen.test.setContentWithTheme
1414
import net.mullvad.mullvadvpn.viewmodel.MtuDialogUiState
1515
import org.junit.jupiter.api.BeforeEach
1616
import org.junit.jupiter.api.Test

android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/dialog/RedeemVoucherDialogTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ import de.mannodermaus.junit5.compose.ComposeContext
99
import io.mockk.mockk
1010
import io.mockk.mockkObject
1111
import io.mockk.verify
12-
import net.mullvad.mullvadvpn.compose.createEdgeToEdgeComposeExtension
13-
import net.mullvad.mullvadvpn.compose.setContentWithTheme
1412
import net.mullvad.mullvadvpn.compose.state.VoucherDialogState
1513
import net.mullvad.mullvadvpn.compose.state.VoucherDialogUiState
1614
import net.mullvad.mullvadvpn.lib.model.RedeemVoucherError
1715
import net.mullvad.mullvadvpn.lib.ui.tag.VOUCHER_INPUT_TEST_TAG
16+
import net.mullvad.mullvadvpn.screen.test.createEdgeToEdgeComposeExtension
17+
import net.mullvad.mullvadvpn.screen.test.setContentWithTheme
1818
import net.mullvad.mullvadvpn.util.VoucherRegexHelper
1919
import org.junit.jupiter.api.BeforeEach
2020
import org.junit.jupiter.api.Test

android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/dialog/ResetServerIPOverridesConfirmationDialogTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import de.mannodermaus.junit5.compose.ComposeContext
77
import io.mockk.MockKAnnotations
88
import io.mockk.mockk
99
import io.mockk.verify
10-
import net.mullvad.mullvadvpn.compose.createEdgeToEdgeComposeExtension
11-
import net.mullvad.mullvadvpn.compose.setContentWithTheme
1210
import net.mullvad.mullvadvpn.lib.ui.tag.RESET_SERVER_IP_OVERRIDE_CANCEL_TEST_TAG
1311
import net.mullvad.mullvadvpn.lib.ui.tag.RESET_SERVER_IP_OVERRIDE_RESET_TEST_TAG
12+
import net.mullvad.mullvadvpn.screen.test.createEdgeToEdgeComposeExtension
13+
import net.mullvad.mullvadvpn.screen.test.setContentWithTheme
1414
import org.junit.jupiter.api.BeforeEach
1515
import org.junit.jupiter.api.Test
1616
import org.junit.jupiter.api.extension.RegisterExtension

0 commit comments

Comments
 (0)