diff --git a/android/app/src/test/java/cn/ilapage/goauto/agent/PurchaseRehearsalExecutorTest.kt b/android/app/src/test/java/cn/ilapage/goauto/agent/PurchaseRehearsalExecutorTest.kt index bbd7de4..63a0ca7 100644 --- a/android/app/src/test/java/cn/ilapage/goauto/agent/PurchaseRehearsalExecutorTest.kt +++ b/android/app/src/test/java/cn/ilapage/goauto/agent/PurchaseRehearsalExecutorTest.kt @@ -28,6 +28,12 @@ import org.junit.Assert.assertTrue import org.junit.Test class PurchaseRehearsalExecutorTest { + @Test fun `safe entry with one visible heading completes probe without reopening`() { + val driver = FakePurchaseDriver(singleHeadingOnEntry = true) + val outcome = PurchaseRehearsalExecutor(driver, { driver.browser = true; true }, { "{}" }, pause = {}) + .execute(input().copy(phase = "spec_probe"), PurchaseRuleParser.parse(rule()), PurchaseAgentCapabilities.supported) + assertEquals("spec_probe_completed", outcome.resultType) + } @get:Rule val diagnosticTemporary = TemporaryFolder() @Test @@ -1406,6 +1412,7 @@ class PurchaseRehearsalExecutorTest { private val reviewBackSucceeds: Boolean = true, private val hiddenSizeUntilUpSwipes: Int = 0, private val prefixlessSingleHeadingAfterColor: Boolean = false, + private val singleHeadingOnEntry: Boolean = false, private val hideSizeAfterSelection: Boolean = false, private val revealGridSizeAfterUpSwipes: Int? = null, private val openClickResults: MutableList = mutableListOf(), @@ -1560,7 +1567,7 @@ class PurchaseRehearsalExecutorTest { node("panel-title", "确认款式", 20, 396, 300, 430), )) } - val singleHeading = prefixlessSingleHeadingAfterColor && color != null + val singleHeading = singleHeadingOnEntry || (prefixlessSingleHeadingAfterColor && color != null) val hideColor = singleHeading || (hideColorAfterQuantitySet && quantity == 2L && !hiddenColorRestored) val hideSize = (hideSizeAfterQuantitySet && quantity == 2L) || (hideSizeAfterSelection && size != null) val hideSummary = hideSelectedSummaryAfterQuantitySet && quantity == 2L