summaryrefslogtreecommitdiffhomepage
path: root/android/app/src/androidTest
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2023-03-22 09:07:53 +0100
committerAlbin <albin@mullvad.net>2023-03-22 10:39:58 +0100
commit68c356e5afa2165cadef86d43966e51d9203102c (patch)
tree0a172dacad334066be40ea1239691ed963139dac /android/app/src/androidTest
parente5d106c9260e0f282c75d105da7b0247535cdfdd (diff)
downloadmullvadvpn-68c356e5afa2165cadef86d43966e51d9203102c.tar.xz
mullvadvpn-68c356e5afa2165cadef86d43966e51d9203102c.zip
Apply project-wide `kotlinLangStyle` formatting
Diffstat (limited to 'android/app/src/androidTest')
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/RecyclerViewMatcher.kt22
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/ChangelogDialogTest.kt27
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceRevokedScreenTest.kt48
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/ipc/HandlerFlowTest.kt12
-rw-r--r--android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/ui/fragment/SplitTunnelingFragmentTest.kt46
5 files changed, 58 insertions, 97 deletions
diff --git a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/RecyclerViewMatcher.kt b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/RecyclerViewMatcher.kt
index 2e87df9720..c5093f3ceb 100644
--- a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/RecyclerViewMatcher.kt
+++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/RecyclerViewMatcher.kt
@@ -19,27 +19,27 @@ class RecyclerViewMatcher(private val recyclerViewId: Int) {
var childView: View? = null
override fun describeTo(description: Description) {
- val idDescription = resources?.let {
- try {
- it.getResourceName(recyclerViewId)
- } catch (var4: NotFoundException) {
- "$recyclerViewId (resource name not found)"
+ val idDescription =
+ resources?.let {
+ try {
+ it.getResourceName(recyclerViewId)
+ } catch (var4: NotFoundException) {
+ "$recyclerViewId (resource name not found)"
+ }
}
- } ?: recyclerViewId.toString()
+ ?: recyclerViewId.toString()
description.appendText("with id: $idDescription")
}
override fun matchesSafely(view: View): Boolean {
resources = view.resources
- val recyclerView =
- view.rootView.findViewById<View>(recyclerViewId) as RecyclerView?
+ val recyclerView = view.rootView.findViewById<View>(recyclerViewId) as RecyclerView?
if (recyclerView == null || recyclerView.id != recyclerViewId) {
return false
}
childView = recyclerView.findViewHolderForAdapterPosition(position)?.itemView
- val targetView = targetViewId?.let { id ->
- childView?.findViewById<View>(id)
- } ?: childView
+ val targetView =
+ targetViewId?.let { id -> childView?.findViewById<View>(id) } ?: childView
return view == targetView
}
}
diff --git a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/ChangelogDialogTest.kt b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/ChangelogDialogTest.kt
index 4c94fced01..3fffcb63c1 100644
--- a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/ChangelogDialogTest.kt
+++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/ChangelogDialogTest.kt
@@ -19,11 +19,9 @@ import org.junit.Rule
import org.junit.Test
class ChangelogDialogTest {
- @get:Rule
- val composeTestRule = createComposeRule()
+ @get:Rule val composeTestRule = createComposeRule()
- @MockK
- lateinit var mockedViewModel: ChangelogViewModel
+ @MockK lateinit var mockedViewModel: ChangelogViewModel
@Before
fun setup() {
@@ -33,34 +31,25 @@ class ChangelogDialogTest {
@Test
fun testShowChangeLogWhenNeeded() {
// Arrange
- every {
- mockedViewModel.changelogDialogUiState
- } returns MutableStateFlow(ChangelogDialogUiState.Show(listOf(CHANGELOG_ITEM)))
- every {
- mockedViewModel.dismissChangelogDialog()
- } just Runs
+ every { mockedViewModel.changelogDialogUiState } returns
+ MutableStateFlow(ChangelogDialogUiState.Show(listOf(CHANGELOG_ITEM)))
+ every { mockedViewModel.dismissChangelogDialog() } just Runs
composeTestRule.setContent {
AppTheme {
ChangelogDialog(
changesList = listOf(CHANGELOG_ITEM),
version = CHANGELOG_VERSION,
- onDismiss = {
- mockedViewModel.dismissChangelogDialog()
- }
+ onDismiss = { mockedViewModel.dismissChangelogDialog() }
)
}
}
// Check changelog content showed within dialog
- composeTestRule
- .onNodeWithText(CHANGELOG_ITEM)
- .assertExists()
+ composeTestRule.onNodeWithText(CHANGELOG_ITEM).assertExists()
// perform click on Got It button to check if dismiss occur
- composeTestRule
- .onNodeWithText(CHANGELOG_BUTTON_TEXT)
- .performClick()
+ composeTestRule.onNodeWithText(CHANGELOG_BUTTON_TEXT).performClick()
// Assert
verify { mockedViewModel.dismissChangelogDialog() }
diff --git a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceRevokedScreenTest.kt b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceRevokedScreenTest.kt
index 13d98455c5..741e57612e 100644
--- a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceRevokedScreenTest.kt
+++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/compose/screen/DeviceRevokedScreenTest.kt
@@ -18,11 +18,9 @@ import org.junit.Rule
import org.junit.Test
class DeviceRevokedScreenTest {
- @get:Rule
- val composeTestRule = createComposeRule()
+ @get:Rule val composeTestRule = createComposeRule()
- @MockK
- lateinit var mockedViewModel: DeviceRevokedViewModel
+ @MockK lateinit var mockedViewModel: DeviceRevokedViewModel
@Before
fun setup() {
@@ -33,59 +31,35 @@ class DeviceRevokedScreenTest {
@Test
fun testUnblockWarningShowingWhenSecured() {
// Arrange
- every {
- mockedViewModel.uiState
- } returns MutableStateFlow(DeviceRevokedUiState.SECURED)
+ every { mockedViewModel.uiState } returns MutableStateFlow(DeviceRevokedUiState.SECURED)
// Act
- composeTestRule.setContent {
- AppTheme {
- DeviceRevokedScreen(mockedViewModel)
- }
- }
+ composeTestRule.setContent { AppTheme { DeviceRevokedScreen(mockedViewModel) } }
// Assert
- composeTestRule
- .onNodeWithText(UNBLOCK_WARNING)
- .assertExists()
+ composeTestRule.onNodeWithText(UNBLOCK_WARNING).assertExists()
}
@Test
fun testUnblockWarningNotShowingWhenNotSecured() {
// Arrange
- every {
- mockedViewModel.uiState
- } returns MutableStateFlow(DeviceRevokedUiState.UNSECURED)
+ every { mockedViewModel.uiState } returns MutableStateFlow(DeviceRevokedUiState.UNSECURED)
// Act
- composeTestRule.setContent {
- AppTheme {
- DeviceRevokedScreen(mockedViewModel)
- }
- }
+ composeTestRule.setContent { AppTheme { DeviceRevokedScreen(mockedViewModel) } }
// Assert
- composeTestRule
- .onNodeWithText(UNBLOCK_WARNING)
- .assertDoesNotExist()
+ composeTestRule.onNodeWithText(UNBLOCK_WARNING).assertDoesNotExist()
}
@Test
fun testGoToLogin() {
// Arrange
- every {
- mockedViewModel.uiState
- } returns MutableStateFlow(DeviceRevokedUiState.UNSECURED)
- composeTestRule.setContent {
- AppTheme {
- DeviceRevokedScreen(mockedViewModel)
- }
- }
+ every { mockedViewModel.uiState } returns MutableStateFlow(DeviceRevokedUiState.UNSECURED)
+ composeTestRule.setContent { AppTheme { DeviceRevokedScreen(mockedViewModel) } }
// Act
- composeTestRule
- .onNodeWithText(GO_TO_LOGIN_BUTTON_TEXT)
- .performClick()
+ composeTestRule.onNodeWithText(GO_TO_LOGIN_BUTTON_TEXT).performClick()
// Assert
verify { mockedViewModel.onGoToLoginClicked() }
diff --git a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/ipc/HandlerFlowTest.kt b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/ipc/HandlerFlowTest.kt
index 709f330b0d..1dcb4dff5b 100644
--- a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/ipc/HandlerFlowTest.kt
+++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/ipc/HandlerFlowTest.kt
@@ -15,9 +15,7 @@ class HandlerFlowTest {
val looper by lazy { Looper.getMainLooper() }
val handler: HandlerFlow<Data?> by lazy {
- HandlerFlow(looper) { message ->
- message.data.getParcelable(DATA_KEY)
- }
+ HandlerFlow(looper) { message -> message.data.getParcelable(DATA_KEY) }
}
@Test
@@ -32,9 +30,8 @@ class HandlerFlowTest {
}
private fun sendMessage(messageData: Data) {
- val message = Message().apply {
- data = Bundle().apply { putParcelable(DATA_KEY, messageData) }
- }
+ val message =
+ Message().apply { data = Bundle().apply { putParcelable(DATA_KEY, messageData) } }
handler.handleMessage(message)
}
@@ -42,7 +39,6 @@ class HandlerFlowTest {
companion object {
const val DATA_KEY = "data"
- @Parcelize
- data class Data(val id: Int) : Parcelable
+ @Parcelize data class Data(val id: Int) : Parcelable
}
}
diff --git a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/ui/fragment/SplitTunnelingFragmentTest.kt b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/ui/fragment/SplitTunnelingFragmentTest.kt
index 0a48801f81..f0b6d0a24d 100644
--- a/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/ui/fragment/SplitTunnelingFragmentTest.kt
+++ b/android/app/src/androidTest/kotlin/net/mullvad/mullvadvpn/ui/fragment/SplitTunnelingFragmentTest.kt
@@ -62,12 +62,13 @@ class SplitTunnelingFragmentTest : KoinTest {
}
@get:Rule
- val mockProvider = MockProviderRule.create { clazz ->
- when (clazz) {
- SplitTunnelingViewModel::class -> mockedViewModel
- else -> mockkClass(clazz)
+ val mockProvider =
+ MockProviderRule.create { clazz ->
+ when (clazz) {
+ SplitTunnelingViewModel::class -> mockedViewModel
+ else -> mockkClass(clazz)
+ }
}
- }
@Before
fun setUp() {
@@ -95,21 +96,22 @@ class SplitTunnelingFragmentTest : KoinTest {
@Test
fun test_fragment_loading() {
- val scenario = launchFragmentInContainer<SplitTunnelingFragment>(
- themeResId = R.style.AppTheme, initialState = Lifecycle.State.CREATED
- )
+ val scenario =
+ launchFragmentInContainer<SplitTunnelingFragment>(
+ themeResId = R.style.AppTheme,
+ initialState = Lifecycle.State.CREATED
+ )
scenario.moveToState(Lifecycle.State.RESUMED)
sharedFlow.tryEmit(emptyList())
- verifyAll {
- mockedViewModel.listItems
- }
+ verifyAll { mockedViewModel.listItems }
}
@Test
fun test_fragment_list_displayed() = runBlocking {
launchFragmentInContainer<SplitTunnelingFragment>(
- themeResId = R.style.AppTheme, initialState = Lifecycle.State.RESUMED
+ themeResId = R.style.AppTheme,
+ initialState = Lifecycle.State.RESUMED
)
sharedFlow.emit(
@@ -125,26 +127,26 @@ class SplitTunnelingFragmentTest : KoinTest {
onView(withRecyclerView(R.id.recyclerView).atPositionOnView(0, R.id.plain_text))
.check(matches(withText("Test Item")))
- verifyAll {
- mockedViewModel.listItems
- }
+ verifyAll { mockedViewModel.listItems }
}
@Test
fun test_fragment_list_click_application_item() = runBlocking {
- val testListItem = ListItemData.build("test.package.name") {
- type = ListItemData.APPLICATION
- text = "Test App Name"
- action = ListItemData.ItemAction("test.package.name")
- widget = WidgetState.ImageState(R.drawable.ic_icons_add)
- }
+ val testListItem =
+ ListItemData.build("test.package.name") {
+ type = ListItemData.APPLICATION
+ text = "Test App Name"
+ action = ListItemData.ItemAction("test.package.name")
+ widget = WidgetState.ImageState(R.drawable.ic_icons_add)
+ }
coEvery {
mockedViewModel.processIntent(ViewIntent.ChangeApplicationGroup(testListItem))
} just Runs
launchFragmentInContainer<SplitTunnelingFragment>(
- themeResId = R.style.AppTheme, initialState = Lifecycle.State.RESUMED
+ themeResId = R.style.AppTheme,
+ initialState = Lifecycle.State.RESUMED
)
sharedFlow.emit(listOf(testListItem))