From 6eb17297bc125895a40b40eb5fe38232d0bac730 Mon Sep 17 00:00:00 2001 From: polymeth Date: Mon, 8 Apr 2024 14:36:30 +0200 Subject: [PATCH] fix: added missing navigation bar --- .../github/se/assocify/TreasuryScreenTest.kt | 58 ------------------- .../se/assocify/screens/TreasuryScreenTest.kt | 32 ++++++++++ .../ui/screens/treasury/TreasuryScreen.kt | 12 +++- 3 files changed, 43 insertions(+), 59 deletions(-) delete mode 100644 app/src/androidTest/java/com/github/se/assocify/TreasuryScreenTest.kt diff --git a/app/src/androidTest/java/com/github/se/assocify/TreasuryScreenTest.kt b/app/src/androidTest/java/com/github/se/assocify/TreasuryScreenTest.kt deleted file mode 100644 index 20e2308e5..000000000 --- a/app/src/androidTest/java/com/github/se/assocify/TreasuryScreenTest.kt +++ /dev/null @@ -1,58 +0,0 @@ -package com.github.se.assocify.ui.screens - -import androidx.compose.ui.test.junit4.createComposeRule -import androidx.test.ext.junit.runners.AndroidJUnit4 -import com.github.se.assocify.ui.screens.treasury.TreasuryMainScreen -import com.kaspersky.components.composesupport.config.withComposeSupport -import com.kaspersky.kaspresso.kaspresso.Kaspresso -import com.kaspersky.kaspresso.testcases.api.testcase.TestCase -import io.github.kakaocup.compose.node.element.ComposeScreen.Companion.onComposeScreen -import io.mockk.junit4.MockKRule -import org.junit.Assert.* -import org.junit.Before -import org.junit.Rule -import org.junit.Test -import org.junit.runner.RunWith - -@RunWith(AndroidJUnit4::class) -class TreasuryScreenTest : TestCase(kaspressoBuilder = Kaspresso.Builder.withComposeSupport()) { - @get:Rule val composeTestRule = createComposeRule() - - // This rule automatic initializes lateinit properties with @MockK, @RelaxedMockK, etc. - @get:Rule val mockkRule = MockKRule(this) - - @Before - fun testSetup() { - composeTestRule.setContent { TreasuryMainScreen() } - } - - @Test - fun testTabSwitching() { - onComposeScreen(composeTestRule) { - budgetTab.assertIsDisplayed() - budgetTab.performClick() - budgetTab.assertIsSelected() - - balanceTab.assertIsDisplayed() - balanceTab.performClick() - balanceTab.assertIsSelected() - - myReceiptsTab.assertIsDisplayed() - myReceiptsTab.performClick() - myReceiptsTab.assertIsSelected() - } - } - - @Test - fun testTodoListItem() = run { - onComposeScreen(composeTestRule) { receiptItemBox.assertIsDisplayed() } - } - - @Test - fun createTodo() = run { - onComposeScreen(composeTestRule) { - createReceiptFab.assertIsDisplayed() - createReceiptFab.performClick() - } - } -} diff --git a/app/src/androidTest/java/com/github/se/assocify/screens/TreasuryScreenTest.kt b/app/src/androidTest/java/com/github/se/assocify/screens/TreasuryScreenTest.kt index b7a5c3e76..b963a16ec 100644 --- a/app/src/androidTest/java/com/github/se/assocify/screens/TreasuryScreenTest.kt +++ b/app/src/androidTest/java/com/github/se/assocify/screens/TreasuryScreenTest.kt @@ -6,10 +6,12 @@ import androidx.compose.ui.test.onNodeWithTag import androidx.compose.ui.test.performClick import androidx.test.ext.junit.runners.AndroidJUnit4 import com.github.se.assocify.navigation.NavigationActions +import com.github.se.assocify.ui.screens.TreasuryScreen import com.github.se.assocify.ui.screens.treasury.TreasuryScreen import com.kaspersky.components.composesupport.config.withComposeSupport import com.kaspersky.kaspresso.kaspresso.Kaspresso import com.kaspersky.kaspresso.testcases.api.testcase.TestCase +import io.github.kakaocup.compose.node.element.ComposeScreen import io.mockk.every import io.mockk.mockk import org.junit.Before @@ -42,4 +44,34 @@ class TreasuryScreenTest : TestCase(kaspressoBuilder = Kaspresso.Builder.withCom assert(tabSelected) } } + + @Test + fun testTabSwitching() { + ComposeScreen.onComposeScreen(composeTestRule) { + budgetTab.assertIsDisplayed() + budgetTab.performClick() + budgetTab.assertIsSelected() + + balanceTab.assertIsDisplayed() + balanceTab.performClick() + balanceTab.assertIsSelected() + + myReceiptsTab.assertIsDisplayed() + myReceiptsTab.performClick() + myReceiptsTab.assertIsSelected() + } + } + + @Test + fun testTodoListItem() = run { + ComposeScreen.onComposeScreen(composeTestRule) { receiptItemBox.assertIsDisplayed() } + } + + @Test + fun createTodo() = run { + ComposeScreen.onComposeScreen(composeTestRule) { + createReceiptFab.assertIsDisplayed() + createReceiptFab.performClick() + } + } } diff --git a/app/src/main/java/com/github/se/assocify/ui/screens/treasury/TreasuryScreen.kt b/app/src/main/java/com/github/se/assocify/ui/screens/treasury/TreasuryScreen.kt index 3d4c91d31..33f5daefc 100644 --- a/app/src/main/java/com/github/se/assocify/ui/screens/treasury/TreasuryScreen.kt +++ b/app/src/main/java/com/github/se/assocify/ui/screens/treasury/TreasuryScreen.kt @@ -45,7 +45,10 @@ import androidx.compose.ui.platform.testTag import androidx.compose.ui.text.TextStyle import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import com.github.se.assocify.navigation.Destination +import com.github.se.assocify.navigation.MAIN_TABS_LIST import com.github.se.assocify.navigation.NavigationActions +import com.github.se.assocify.ui.composables.MainNavigationBar import kotlinx.coroutines.launch // Number of tabs at the top @@ -60,10 +63,17 @@ const val PAGE_BALANCE_INDEX: Int = 2 @SuppressLint("UnusedMaterial3ScaffoldPaddingParameter") @OptIn(ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class) @Composable -fun TreasuryScreen(navigationActions: NavigationActions) { +fun TreasuryScreen(navActions: NavigationActions) { Scaffold( modifier = Modifier.testTag("treasuryScreen"), topBar = { TreasuryTopBar({}, {}) }, + bottomBar = { + MainNavigationBar( + onTabSelect = { navActions.navigateToMainTab(it) }, + tabList = MAIN_TABS_LIST, + selectedTab = Destination.Profile + ) + }, floatingActionButton = { FloatingActionButton( modifier = Modifier.testTag("createReceipt"),