From 2daad8e7ac0be78b99019c5fcdd67cf2bff5e836 Mon Sep 17 00:00:00 2001 From: Wally Hackenslacker Date: Wed, 18 Mar 2026 08:26:29 -0400 Subject: [PATCH] fix: harden drawer test assertions and workspace state selectors --- .../kanbn4droid/app/BoardsFlowTest.kt | 29 ++++--------------- .../color/workspace_drawer_row_background.xml | 1 + .../res/color/workspace_drawer_row_stroke.xml | 1 + .../res/color/workspace_drawer_row_text.xml | 1 + 4 files changed, 9 insertions(+), 23 deletions(-) diff --git a/app/src/androidTest/java/space/hackenslacker/kanbn4droid/app/BoardsFlowTest.kt b/app/src/androidTest/java/space/hackenslacker/kanbn4droid/app/BoardsFlowTest.kt index 8b69bbf..820871f 100644 --- a/app/src/androidTest/java/space/hackenslacker/kanbn4droid/app/BoardsFlowTest.kt +++ b/app/src/androidTest/java/space/hackenslacker/kanbn4droid/app/BoardsFlowTest.kt @@ -2,11 +2,8 @@ package space.hackenslacker.kanbn4droid.app import androidx.test.core.app.ActivityScenario import androidx.test.espresso.Espresso.onView -import androidx.test.espresso.ViewAction +import androidx.test.espresso.contrib.DrawerActions import androidx.test.espresso.action.ViewActions.click -import androidx.test.espresso.action.GeneralSwipeAction -import androidx.test.espresso.action.Press -import androidx.test.espresso.action.Swipe import androidx.test.espresso.action.ViewActions.longClick import androidx.test.espresso.action.ViewActions.replaceText import androidx.test.espresso.action.ViewActions.swipeDown @@ -20,7 +17,6 @@ import androidx.test.espresso.matcher.ViewMatchers.isDisplayed import androidx.test.espresso.matcher.ViewMatchers.withId import androidx.test.espresso.matcher.ViewMatchers.withText import androidx.test.ext.junit.runners.AndroidJUnit4 -import kotlin.math.roundToInt import org.junit.After import org.junit.Before import org.junit.Test @@ -133,25 +129,12 @@ class BoardsFlowTest { ActivityScenario.launch(BoardsActivity::class.java) - onView(withId(android.R.id.content)).perform(swipeFromLeftEdge()) + onView(withId(R.id.boardsDrawerLayout)).perform(DrawerActions.open()) - onView(withText("Workspaces")).check(matches(isDisplayed())) - onView(withText("Alpha")).check(matches(isDisplayed())) - } - - private fun swipeFromLeftEdge(): ViewAction { - return GeneralSwipeAction( - Swipe.FAST, - { view -> - val x = (view.width * 0.02f).roundToInt().toFloat() - floatArrayOf(x, view.height * 0.5f) - }, - { view -> - val x = (view.width * 0.8f).roundToInt().toFloat() - floatArrayOf(x, view.height * 0.5f) - }, - Press.FINGER, - ) + onView(withId(R.id.drawerWorkspacesTitle)).check(matches(isDisplayed())) + onView(withId(R.id.drawerWorkspacesTitle)).check(matches(withText(R.string.drawer_workspaces))) + onView(withId(R.id.drawerWorkspacesRecyclerView)).check(matches(isDisplayed())) + onView(withId(R.id.drawerLogoutButton)).check(matches(isDisplayed())) } private class InMemorySessionStore( diff --git a/app/src/main/res/color/workspace_drawer_row_background.xml b/app/src/main/res/color/workspace_drawer_row_background.xml index 3113e89..f07d36d 100644 --- a/app/src/main/res/color/workspace_drawer_row_background.xml +++ b/app/src/main/res/color/workspace_drawer_row_background.xml @@ -1,5 +1,6 @@ + diff --git a/app/src/main/res/color/workspace_drawer_row_stroke.xml b/app/src/main/res/color/workspace_drawer_row_stroke.xml index 61d9e05..2462abf 100644 --- a/app/src/main/res/color/workspace_drawer_row_stroke.xml +++ b/app/src/main/res/color/workspace_drawer_row_stroke.xml @@ -1,5 +1,6 @@ + diff --git a/app/src/main/res/color/workspace_drawer_row_text.xml b/app/src/main/res/color/workspace_drawer_row_text.xml index b10a053..5baa79c 100644 --- a/app/src/main/res/color/workspace_drawer_row_text.xml +++ b/app/src/main/res/color/workspace_drawer_row_text.xml @@ -1,5 +1,6 @@ +