From c6753a5ebd7c8a1047dc20bf95ab6c1fd4e5601e Mon Sep 17 00:00:00 2001 From: MiMoHo <37556964+MiMoHo@users.noreply.github.com> Date: Mon, 6 Jul 2026 02:43:18 +0200 Subject: [PATCH] Fix instrumented test compilation after composable refactor The Error composable was replaced by Placeholder and TopAppBar lost its onNavigateUp parameter, but ErrorTest and TopAppBarTest were not updated, so the androidTest sources no longer compiled. Rewrite ErrorTest as PlaceholderTest against the new API (the action button is now omitted entirely without a handler instead of rendered disabled) and use showNavigationIcon in TopAppBarTest. Co-Authored-By: Claude Fable 5 --- .../store/compose/composable/ErrorTest.kt | 34 ------------ .../compose/composable/PlaceholderTest.kt | 54 +++++++++++++++++++ .../store/compose/composable/TopAppBarTest.kt | 2 +- 3 files changed, 55 insertions(+), 35 deletions(-) delete mode 100644 app/src/androidTest/java/com/aurora/store/compose/composable/ErrorTest.kt create mode 100644 app/src/androidTest/java/com/aurora/store/compose/composable/PlaceholderTest.kt diff --git a/app/src/androidTest/java/com/aurora/store/compose/composable/ErrorTest.kt b/app/src/androidTest/java/com/aurora/store/compose/composable/ErrorTest.kt deleted file mode 100644 index 2cd0b9374..000000000 --- a/app/src/androidTest/java/com/aurora/store/compose/composable/ErrorTest.kt +++ /dev/null @@ -1,34 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2025 The Calyx Institute - * SPDX-License-Identifier: GPL-3.0-or-later - */ - -package com.aurora.store.compose.composable - -import androidx.compose.ui.res.painterResource -import androidx.compose.ui.test.assertHasClickAction -import androidx.compose.ui.test.assertIsDisplayed -import androidx.compose.ui.test.assertIsNotEnabled -import androidx.compose.ui.test.onNodeWithText -import com.aurora.store.IsolatedTest -import com.aurora.store.R -import org.junit.Test - -class ErrorTest : IsolatedTest() { - - @Test - fun testErrorWithoutActionHandling() { - setContent { - Error( - painter = painterResource(R.drawable.ic_apps_outage), - message = "An error occurred!", - actionMessage = "Retry" - ) - } - - composeTestRule.onNodeWithText("Retry") - .assertIsDisplayed() - .assertHasClickAction() - .assertIsNotEnabled() - } -} diff --git a/app/src/androidTest/java/com/aurora/store/compose/composable/PlaceholderTest.kt b/app/src/androidTest/java/com/aurora/store/compose/composable/PlaceholderTest.kt new file mode 100644 index 000000000..fda30c966 --- /dev/null +++ b/app/src/androidTest/java/com/aurora/store/compose/composable/PlaceholderTest.kt @@ -0,0 +1,54 @@ +/* + * SPDX-FileCopyrightText: 2025 The Calyx Institute + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +package com.aurora.store.compose.composable + +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.test.assertIsDisplayed +import androidx.compose.ui.test.onNodeWithText +import androidx.compose.ui.test.performClick +import com.aurora.store.IsolatedTest +import com.aurora.store.R +import org.junit.Assert.assertTrue +import org.junit.Test + +class PlaceholderTest : IsolatedTest() { + + @Test + fun testPlaceholderWithoutActionHandling() { + setContent { + Placeholder( + painter = painterResource(R.drawable.ic_apps_outage), + message = "An error occurred!", + actionLabel = "Retry" + ) + } + + composeTestRule.onNodeWithText("An error occurred!") + .assertIsDisplayed() + + composeTestRule.onNodeWithText("Retry") + .assertDoesNotExist() + } + + @Test + fun testPlaceholderActionClick() { + var clicked = false + setContent { + Placeholder( + painter = painterResource(R.drawable.ic_apps_outage), + message = "An error occurred!", + actionLabel = "Retry", + onAction = { clicked = true } + ) + } + + composeTestRule.onNodeWithText("Retry") + .assertIsDisplayed() + .performClick() + + assertTrue(clicked) + } +} diff --git a/app/src/androidTest/java/com/aurora/store/compose/composable/TopAppBarTest.kt b/app/src/androidTest/java/com/aurora/store/compose/composable/TopAppBarTest.kt index 0dec80424..16f64b1d5 100644 --- a/app/src/androidTest/java/com/aurora/store/compose/composable/TopAppBarTest.kt +++ b/app/src/androidTest/java/com/aurora/store/compose/composable/TopAppBarTest.kt @@ -16,7 +16,7 @@ class TopAppBarTest : IsolatedTest() { @Test fun testTitleWithNoNavigationAction() { setContent { - TopAppBar(title = "About", onNavigateUp = null) + TopAppBar(title = "About", showNavigationIcon = false) } composeTestRule.onNodeWithText("About")