From 240445554348a9ced46cf1ffe8765ad1cf224ef4 Mon Sep 17 00:00:00 2001 From: Siddharth Agarwal Date: Wed, 17 Jul 2024 14:32:00 +0530 Subject: [PATCH] Add Snapshot test for `NavigationBar` --- .../designsystem/NavigationBarSnapShotTest.kt | 215 ++++++++++++++++++ ...ionBarSnapShotTest_launchNavigationBar.png | Bin 0 -> 38459 bytes 2 files changed, 215 insertions(+) create mode 100644 designsystem/src/androidUnitTest/kotlin/org/hisp/dhis/mobile/ui/designsystem/NavigationBarSnapShotTest.kt create mode 100644 designsystem/src/test/snapshots/images/org.hisp.dhis.mobile.ui.designsystem_NavigationBarSnapShotTest_launchNavigationBar.png diff --git a/designsystem/src/androidUnitTest/kotlin/org/hisp/dhis/mobile/ui/designsystem/NavigationBarSnapShotTest.kt b/designsystem/src/androidUnitTest/kotlin/org/hisp/dhis/mobile/ui/designsystem/NavigationBarSnapShotTest.kt new file mode 100644 index 000000000..2ddbc4848 --- /dev/null +++ b/designsystem/src/androidUnitTest/kotlin/org/hisp/dhis/mobile/ui/designsystem/NavigationBarSnapShotTest.kt @@ -0,0 +1,215 @@ +package org.hisp.dhis.mobile.ui.designsystem + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.height +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.filled.Assignment +import androidx.compose.material.icons.automirrored.filled.List +import androidx.compose.material.icons.automirrored.filled.StickyNote2 +import androidx.compose.material.icons.automirrored.outlined.Assignment +import androidx.compose.material.icons.automirrored.outlined.List +import androidx.compose.material.icons.automirrored.outlined.StickyNote2 +import androidx.compose.material.icons.filled.BarChart +import androidx.compose.material.icons.filled.Description +import androidx.compose.material.icons.filled.Hub +import androidx.compose.material.icons.filled.Map +import androidx.compose.material.icons.outlined.BarChart +import androidx.compose.material.icons.outlined.Description +import androidx.compose.material.icons.outlined.Hub +import androidx.compose.material.icons.outlined.Map +import androidx.compose.material3.Icon +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import org.hisp.dhis.mobile.ui.designsystem.component.ColumnComponentContainer +import org.hisp.dhis.mobile.ui.designsystem.component.NavigationBar +import org.hisp.dhis.mobile.ui.designsystem.component.NavigationBarItem +import org.hisp.dhis.mobile.ui.designsystem.component.SubTitle +import org.hisp.dhis.mobile.ui.designsystem.theme.Spacing +import org.hisp.dhis.mobile.ui.designsystem.theme.SurfaceColor +import org.junit.Rule +import org.junit.Test + +class NavigationBarSnapShotTest { + @get:Rule + val paparazzi = paparazzi() + + @Test + fun launchNavigationBar() { + paparazzi.snapshot { + val homeItems = listOf( + NavigationBarItem( + defaultIcon = { + Icon(imageVector = Icons.Outlined.Description, contentDescription = null) + }, + selectedIcon = { + Icon(imageVector = Icons.Filled.Description, contentDescription = null) + }, + label = "Description", + ), + NavigationBarItem( + defaultIcon = { + Icon(imageVector = Icons.Outlined.BarChart, contentDescription = null) + }, + selectedIcon = { + Icon(imageVector = Icons.Filled.BarChart, contentDescription = null) + }, + label = "Charts", + showBadge = true, + ), + ) + + val programItems = listOf( + NavigationBarItem( + defaultIcon = { + Icon(imageVector = Icons.AutoMirrored.Outlined.List, contentDescription = null) + }, + selectedIcon = { + Icon(imageVector = Icons.AutoMirrored.Filled.List, contentDescription = null) + }, + label = "List", + ), + NavigationBarItem( + defaultIcon = { + Icon(imageVector = Icons.Outlined.Map, contentDescription = null) + }, + selectedIcon = { + Icon(imageVector = Icons.Filled.Map, contentDescription = null) + }, + label = "Maps", + ), + NavigationBarItem( + defaultIcon = { + Icon(imageVector = Icons.Outlined.BarChart, contentDescription = null) + }, + selectedIcon = { + Icon(imageVector = Icons.Filled.BarChart, contentDescription = null) + }, + label = "Charts", + showBadge = true, + badgeText = "32", + ), + ) + + val enrollmentItems = listOf( + NavigationBarItem( + defaultIcon = { + Icon(imageVector = Icons.AutoMirrored.Outlined.Assignment, contentDescription = null) + }, + selectedIcon = { + Icon(imageVector = Icons.AutoMirrored.Filled.Assignment, contentDescription = null) + }, + label = "Details", + ), + NavigationBarItem( + defaultIcon = { + Icon(imageVector = Icons.Outlined.BarChart, contentDescription = null) + }, + selectedIcon = { + Icon(imageVector = Icons.Filled.BarChart, contentDescription = null) + }, + label = "Charts", + ), + NavigationBarItem( + defaultIcon = { + Icon(imageVector = Icons.Outlined.Hub, contentDescription = null) + }, + selectedIcon = { + Icon(imageVector = Icons.Filled.Hub, contentDescription = null) + }, + label = "Relationships", + ), + NavigationBarItem( + defaultIcon = { + Icon(imageVector = Icons.AutoMirrored.Outlined.StickyNote2, contentDescription = null) + }, + selectedIcon = { + Icon(imageVector = Icons.AutoMirrored.Filled.StickyNote2, contentDescription = null) + }, + label = "Notes", + showBadge = true, + ), + ) + + val formItems = listOf( + NavigationBarItem( + defaultIcon = { + Icon(imageVector = Icons.Outlined.Description, contentDescription = null) + }, + selectedIcon = { + Icon(imageVector = Icons.Filled.Description, contentDescription = null) + }, + label = "Description", + ), + NavigationBarItem( + defaultIcon = { + Icon(imageVector = Icons.Outlined.BarChart, contentDescription = null) + }, + selectedIcon = { + Icon(imageVector = Icons.Filled.BarChart, contentDescription = null) + }, + label = "Charts", + ), + NavigationBarItem( + defaultIcon = { + Icon(imageVector = Icons.AutoMirrored.Outlined.StickyNote2, contentDescription = null) + }, + selectedIcon = { + Icon(imageVector = Icons.AutoMirrored.Filled.StickyNote2, contentDescription = null) + }, + label = "Notes", + showBadge = true, + badgeText = "3", + ), + ) + + ColumnComponentContainer( + title = "Navigation Bar", + modifier = Modifier + .background(SurfaceColor.Container), + ) { + SubTitle("Home") + var selectedHomeItemIndex by remember { mutableStateOf(null) } + NavigationBar( + items = homeItems, + selectedItemIndex = selectedHomeItemIndex, + ) { + selectedHomeItemIndex = it + } + + Spacer(modifier = Modifier.height(Spacing.Spacing24)) + SubTitle("Program dashboard") + var selectedProgramItemIndex by remember { mutableStateOf(null) } + NavigationBar( + items = programItems, + selectedItemIndex = selectedProgramItemIndex, + ) { + selectedProgramItemIndex = it + } + + Spacer(modifier = Modifier.height(Spacing.Spacing24)) + SubTitle("Enrollment dashboard") + var selectedEnrollmentItemIndex by remember { mutableStateOf(null) } + NavigationBar( + items = enrollmentItems, + selectedItemIndex = selectedEnrollmentItemIndex, + ) { + selectedEnrollmentItemIndex = it + } + + Spacer(modifier = Modifier.height(Spacing.Spacing24)) + SubTitle("Form") + var selectedFormItemIndex by remember { mutableStateOf(null) } + NavigationBar( + items = formItems, + selectedItemIndex = selectedFormItemIndex, + ) { + selectedFormItemIndex = it + } + } + } + } +} diff --git a/designsystem/src/test/snapshots/images/org.hisp.dhis.mobile.ui.designsystem_NavigationBarSnapShotTest_launchNavigationBar.png b/designsystem/src/test/snapshots/images/org.hisp.dhis.mobile.ui.designsystem_NavigationBarSnapShotTest_launchNavigationBar.png new file mode 100644 index 0000000000000000000000000000000000000000..45d8345a0a1f35676439e10dbc5e904d7707a627 GIT binary patch literal 38459 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 literal 0 HcmV?d00001