mirror of
https://github.com/d4rken-org/capod.git
synced 2026-09-14 18:26:11 -04:00
fix: case-open popup re-appears after the case is closed
This commit is contained in:
committed by
Matthias Urhahn
parent
4bab7c61a9
commit
2cce9ae56c
@@ -290,8 +290,8 @@ class PopUpReaction @Inject constructor(
|
||||
DualApplePods.LidState.CLOSED -> CasePopUpDecision(
|
||||
shouldShow = false,
|
||||
shouldHide = true,
|
||||
shouldResetCooldown = true,
|
||||
reason = "Lid CLOSED, resetting cooldown",
|
||||
shouldResetCooldown = false,
|
||||
reason = "Lid CLOSED, refreshing cooldown",
|
||||
)
|
||||
|
||||
else -> CasePopUpDecision(
|
||||
|
||||
@@ -36,10 +36,11 @@ class PopUpReactionLogicTest : BaseTest() {
|
||||
private fun evaluate(
|
||||
currentLidState: DualApplePods.LidState?,
|
||||
lastShownTime: Instant? = null,
|
||||
at: Instant = now,
|
||||
) = popUpReaction.evaluateCasePopUp(
|
||||
currentLidState = currentLidState,
|
||||
lastShownTime = lastShownTime,
|
||||
now = now,
|
||||
now = at,
|
||||
cooldownDuration = cooldown,
|
||||
)
|
||||
|
||||
@@ -81,11 +82,39 @@ class PopUpReactionLogicTest : BaseTest() {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `lid CLOSED - should NOT show, should hide, should reset cooldown`() {
|
||||
fun `lid CLOSED - should NOT show, should hide, should NOT reset cooldown`() {
|
||||
val decision = evaluate(currentLidState = DualApplePods.LidState.CLOSED)
|
||||
decision.shouldShow shouldBe false
|
||||
decision.shouldHide shouldBe true
|
||||
decision.shouldResetCooldown shouldBe true
|
||||
decision.shouldResetCooldown shouldBe false
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `lid CLOSED followed by residual OPEN within cooldown - should NOT show`() {
|
||||
val closeDecision = evaluate(currentLidState = DualApplePods.LidState.CLOSED)
|
||||
closeDecision.shouldHide shouldBe true
|
||||
closeDecision.shouldResetCooldown shouldBe false
|
||||
|
||||
val residualOpenDecision = evaluate(
|
||||
currentLidState = DualApplePods.LidState.OPEN,
|
||||
lastShownTime = now,
|
||||
at = now.plusMillis(500),
|
||||
)
|
||||
residualOpenDecision.shouldShow shouldBe false
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `lid CLOSED then OPEN after cooldown elapsed - should show`() {
|
||||
val closeDecision = evaluate(currentLidState = DualApplePods.LidState.CLOSED)
|
||||
closeDecision.shouldHide shouldBe true
|
||||
closeDecision.shouldResetCooldown shouldBe false
|
||||
|
||||
val reopenDecision = evaluate(
|
||||
currentLidState = DualApplePods.LidState.OPEN,
|
||||
lastShownTime = now,
|
||||
at = now.plus(cooldown),
|
||||
)
|
||||
reopenDecision.shouldShow shouldBe true
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user