61 lines
No EOL
1.9 KiB
Kotlin
61 lines
No EOL
1.9 KiB
Kotlin
package be.ugent.sel.studeez
|
|
|
|
import androidx.compose.ui.test.junit4.createComposeRule
|
|
import androidx.compose.ui.test.onNodeWithContentDescription
|
|
import androidx.compose.ui.test.onNodeWithText
|
|
import androidx.compose.ui.test.performClick
|
|
import be.ugent.sel.studeez.common.composable.drawer.DrawerActions
|
|
import be.ugent.sel.studeez.common.composable.navbar.NavigationBarActions
|
|
import be.ugent.sel.studeez.screens.profile.ProfileActions
|
|
import be.ugent.sel.studeez.screens.profile.ProfileScreen
|
|
import kotlinx.coroutines.flow.flowOf
|
|
import org.junit.Rule
|
|
import org.junit.Test
|
|
|
|
class ProfileScreenTest {
|
|
@get:Rule
|
|
val composeTestRule = createComposeRule()
|
|
|
|
@Test
|
|
fun profileScreenTest() {
|
|
var edit = false
|
|
var view_friends = false
|
|
|
|
composeTestRule.setContent {
|
|
ProfileScreen(
|
|
profileActions = ProfileActions(
|
|
getUsername = {null},
|
|
onEditProfileClick = {edit = true},
|
|
getBiography = {null},
|
|
getAmountOfFriends = { flowOf(0) },
|
|
onViewFriendsClick = {view_friends = true}
|
|
),
|
|
drawerActions = DrawerActions({}, {}, {}, {}, {}),
|
|
navigationBarActions = NavigationBarActions({ false }, {}, {}, {}, {}, {}, {}, {})
|
|
)
|
|
}
|
|
|
|
composeTestRule.waitForIdle()
|
|
|
|
composeTestRule
|
|
.onNodeWithContentDescription(
|
|
label = "edit profile",
|
|
substring = true,
|
|
ignoreCase = true
|
|
)
|
|
.assertExists()
|
|
.performClick()
|
|
|
|
composeTestRule
|
|
.onNodeWithText(
|
|
text = "friends",
|
|
substring = true,
|
|
ignoreCase = true,
|
|
)
|
|
.assertExists()
|
|
.performClick()
|
|
|
|
assert(edit)
|
|
assert(view_friends)
|
|
}
|
|
} |