Skip to content
Snippets Groups Projects
Unverified Commit 68946ced authored by Kolya Opahle's avatar Kolya Opahle Committed by GitHub
Browse files

1.14 "Ihr Testergebnis liegt vor" -> 1.15 "Risiko-Überprüfung fehlgeschlagen"...

1.14 "Ihr Testergebnis liegt vor" -> 1.15 "Risiko-Überprüfung fehlgeschlagen" (EXPOSUREAPP-5843) (#2632)

* Risk Level calculation is now only aborted when the user has seen the positive test result

* Fixed tests for Risk Level calc changes

Co-authored-by: default avatarharambasicluka <64483219+harambasicluka@users.noreply.github.com>
Co-authored-by: default avatarRalf Gehrer <ralfgehrer@users.noreply.github.com>
parent 6e911b63
No related branches found
No related tags found
No related merge requests found
......@@ -83,8 +83,8 @@ class RiskLevelTask @Inject constructor(
Timber.d("The current time is %s", it)
}
if (submissionSettings.isAllowedToSubmitKeys) {
Timber.i("Positive test result, skip risk calculation")
if (submissionSettings.isAllowedToSubmitKeys && submissionSettings.hasViewedTestResult.value) {
Timber.i("Positive test result and user has seen it, skip risk calculation")
return RiskLevelTaskResult(
calculatedAt = nowUTC,
failureReason = FailureReason.POSITIVE_TEST_RESULT
......
......@@ -204,7 +204,7 @@ class RiskLevelTaskTest : BaseTest() {
}
@Test
fun `risk calculation is skipped if positive test is registered`() = runBlockingTest {
fun `risk calculation is skipped if positive test is registered and viewed`() = runBlockingTest {
val cachedKey = mockk<CachedKey>().apply {
every { info } returns mockk<CachedKeyInfo>().apply {
every { toDateTime() } returns DateTime.parse("2020-12-28").minusDays(1)
......@@ -216,6 +216,7 @@ class RiskLevelTaskTest : BaseTest() {
every { backgroundModeStatus.isAutoModeEnabled } returns flowOf(false)
every { timeStamper.nowUTC } returns now
every { submissionSettings.isAllowedToSubmitKeys } returns true
every { submissionSettings.hasViewedTestResult.value } returns true
createTask().run(arguments) shouldBe RiskLevelTaskResult(
calculatedAt = now,
......@@ -223,6 +224,35 @@ class RiskLevelTaskTest : BaseTest() {
)
}
@Test
fun `risk calculation is not skipped if positive test is registered and not viewed`() = runBlockingTest {
val cachedKey = mockk<CachedKey>().apply {
every { info } returns mockk<CachedKeyInfo>().apply {
every { toDateTime() } returns DateTime.parse("2020-12-28").minusDays(1)
}
}
val now = Instant.parse("2020-12-28")
val aggregatedRiskResult = mockk<AggregatedRiskResult>().apply {
every { isIncreasedRisk() } returns true
}
coEvery { keyCacheRepository.getAllCachedKeys() } returns listOf(cachedKey)
coEvery { enfClient.exposureWindows() } returns listOf()
every { riskLevels.calculateRisk(any(), any()) } returns null
every { riskLevels.aggregateResults(any(), any()) } returns aggregatedRiskResult
every { timeStamper.nowUTC } returns now
coEvery { analyticsExposureWindowCollector.reportRiskResultsPerWindow(any()) } just Runs
every { submissionSettings.isAllowedToSubmitKeys } returns true
every { submissionSettings.hasViewedTestResult.value } returns false
createTask().run(arguments) shouldBe RiskLevelTaskResult(
calculatedAt = now,
failureReason = null,
aggregatedRiskResult = aggregatedRiskResult,
listOf()
)
}
@Test
fun `risk calculation returns aggregated risk result`() = runBlockingTest {
val cachedKey = mockk<CachedKey>().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