commit aae1313167af0c9548c9632fd8fec6447143c1a6 parent b190edc5865df95220e7cd21850c95cb20f1f1dd Author: triesap <tyson@radroots.org> Date: Thu, 13 Aug 2026 17:53:24 +0000 test(ui): align shell integration assertions Why: - Full source qualification found an ambiguous read-only text assertion and owned-code mentions rejected by the namespace policy. What: - Assert the tagged Today context instead of matching duplicate visible labels. - Keep Studio attribution in governed provenance while using source-neutral wording in owned Kotlin. Verification: - make format - focused HarvestCircleApplicationTest read-only case - focused ProductNamespaceGuardTest naming case - design-system desktop tests - git diff --check Diffstat:
4 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/app/design_system/src/commonMain/kotlin/org/harvestcircle/designsystem/layout/HarvestCircleCanvasFrame.kt b/app/design_system/src/commonMain/kotlin/org/harvestcircle/designsystem/layout/HarvestCircleCanvasFrame.kt @@ -17,7 +17,7 @@ import androidx.compose.ui.Modifier import org.harvestcircle.designsystem.shell.HarvestCircleShellMetrics import org.harvestcircle.designsystem.shell.HarvestCircleShellPalette -/** Centered bootstrap and lifecycle frame using the approved Studio-derived shell chrome. */ +/** Centered bootstrap and lifecycle frame using the approved source-derived shell chrome. */ @Composable public fun HarvestCircleCanvasFrame( header: @Composable () -> Unit, diff --git a/app/design_system/src/commonMain/kotlin/org/harvestcircle/designsystem/shell/HarvestCircleShellVisuals.kt b/app/design_system/src/commonMain/kotlin/org/harvestcircle/designsystem/shell/HarvestCircleShellVisuals.kt @@ -8,7 +8,7 @@ import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import org.harvestcircle.designsystem.theme.HarvestCircleTheme -/** Approved Studio-derived semantic palette for HarvestCircle application chrome. */ +/** Approved source-derived semantic palette for HarvestCircle application chrome. */ @Immutable public data class HarvestCircleShellColors( public val isDark: Boolean, @@ -107,7 +107,7 @@ public val HarvestCircleShellPalette: HarvestCircleShellColors @ReadOnlyComposable get() = harvestCircleShellColors(HarvestCircleTheme.foundation.colors.isDark) -/** Fixed application-shell geometry derived from the approved Studio frames. */ +/** Fixed application-shell geometry derived from the approved source frames. */ public object HarvestCircleShellMetrics { public val topBarHeight: Dp = 48.dp public val localHeaderHeight: Dp = 40.dp diff --git a/app/design_system/src/commonTest/kotlin/org/harvestcircle/designsystem/shell/HarvestCircleShellVisualsTest.kt b/app/design_system/src/commonTest/kotlin/org/harvestcircle/designsystem/shell/HarvestCircleShellVisualsTest.kt @@ -8,7 +8,7 @@ import kotlin.test.assertNotEquals class HarvestCircleShellVisualsTest { @Test - fun palettePinsApprovedStudioValues() { + fun palettePinsApprovedSourceValues() { val light = harvestCircleShellColors(false) val dark = harvestCircleShellColors(true) assertEquals(Color(0xFF155239), light.accent) @@ -20,7 +20,7 @@ class HarvestCircleShellVisualsTest { } @Test - fun geometryPinsApprovedStudioGrid() { + fun geometryPinsApprovedSourceGrid() { assertEquals(48.dp, HarvestCircleShellMetrics.topBarHeight) assertEquals(40.dp, HarvestCircleShellMetrics.localHeaderHeight) assertEquals(232.dp, HarvestCircleShellMetrics.sidebarWidth) diff --git a/app/desktop/src/test/kotlin/org/harvestcircle/application/HarvestCircleApplicationTest.kt b/app/desktop/src/test/kotlin/org/harvestcircle/application/HarvestCircleApplicationTest.kt @@ -10,6 +10,7 @@ import androidx.compose.ui.platform.testTag import androidx.compose.ui.test.ExperimentalTestApi import androidx.compose.ui.test.assertCountEquals import androidx.compose.ui.test.assertIsDisplayed +import androidx.compose.ui.test.assertTextEquals import androidx.compose.ui.test.onAllNodesWithTag import androidx.compose.ui.test.onAllNodesWithText import androidx.compose.ui.test.onNodeWithTag @@ -82,7 +83,7 @@ class HarvestCircleApplicationTest { onNodeWithTag("bootstrap-read-only").performClick() waitUntil { onAllNodesWithTag("foundation-today").fetchSemanticsNodes().isNotEmpty() } onNodeWithTag("foundation-today").assertIsDisplayed() - onNodeWithText("Read-only session").assertIsDisplayed() + onNodeWithTag("today-context").assertTextEquals("Read-only session").assertIsDisplayed() } @OptIn(ExperimentalTestApi::class)