Skip to content
Snippets Groups Projects
Unverified Commit 09263387 authored by Matthias Urhahn's avatar Matthias Urhahn Committed by GitHub
Browse files

Fix display of last successful risk level when tracing is disabled (DEV) (#1781)

parent 8f321622
No related branches found
No related tags found
No related merge requests found
...@@ -63,29 +63,19 @@ data class TracingCardState( ...@@ -63,29 +63,19 @@ data class TracingCardState(
* the persisted risk level is of importance * the persisted risk level is of importance
*/ */
fun getSavedRiskBody(c: Context): String { fun getSavedRiskBody(c: Context): String {
// Don't display last risk when tracing is disabled val stateToDisplay = when {
if (isTracingOff()) { riskState == CALCULATION_FAILED -> lastSuccessfulRiskState
val arg = c.getString(R.string.risk_card_no_calculation_possible_headline) isTracingOff() -> riskState
return c.getString(R.string.risk_card_no_calculation_possible_body_saved_risk).format(arg) else -> null
}
// Don't have any old risk state to display
if (lastSuccessfulRiskState == CALCULATION_FAILED) {
return ""
}
// If we failed this time, we want to display the old risk
if (riskState == CALCULATION_FAILED) {
val arg = when (lastSuccessfulRiskState) {
INCREASED_RISK -> R.string.risk_card_increased_risk_headline
LOW_RISK -> R.string.risk_card_low_risk_headline
else -> null
}?.let { c.getString(it) } ?: ""
return c.getString(R.string.risk_card_no_calculation_possible_body_saved_risk).format(arg)
} }
return when (stateToDisplay) {
// We are not in an error state INCREASED_RISK -> R.string.risk_card_increased_risk_headline
return "" LOW_RISK -> R.string.risk_card_low_risk_headline
else -> null
}?.let {
val argumentValue = c.getString(it)
c.getString(R.string.risk_card_no_calculation_possible_body_saved_risk).format(argumentValue)
} ?: ""
} }
/** /**
......
...@@ -169,6 +169,48 @@ class TracingCardStateTest : BaseTest() { ...@@ -169,6 +169,48 @@ class TracingCardStateTest : BaseTest() {
} }
} }
@Test
fun `saved risk body when tracing is disabled`() {
createInstance(
riskState = CALCULATION_FAILED,
lastSuccessfulRiskState = LOW_RISK,
tracingStatus = Status.TRACING_INACTIVE
).apply {
getSavedRiskBody(context)
verify {
context
.getString(R.string.risk_card_no_calculation_possible_body_saved_risk)
.format(context.getString(R.string.risk_card_low_risk_headline))
}
}
createInstance(
riskState = CALCULATION_FAILED,
lastSuccessfulRiskState = INCREASED_RISK,
tracingStatus = Status.TRACING_INACTIVE
).apply {
getSavedRiskBody(context)
verify {
context
.getString(R.string.risk_card_no_calculation_possible_body_saved_risk)
.format(context.getString(R.string.risk_card_increased_risk_headline))
}
}
createInstance(
riskState = CALCULATION_FAILED,
lastSuccessfulRiskState = LOW_RISK,
tracingStatus = Status.TRACING_INACTIVE
).apply {
getSavedRiskBody(context)
verify {
context
.getString(R.string.risk_card_no_calculation_possible_body_saved_risk)
.format(context.getString(R.string.risk_card_low_risk_headline))
}
}
}
@Test @Test
fun `risk contact body is affected by risklevel`() { fun `risk contact body is affected by risklevel`() {
createInstance(riskState = CALCULATION_FAILED, daysWithEncounters = 0).apply { createInstance(riskState = CALCULATION_FAILED, daysWithEncounters = 0).apply {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment