From 3cc1ca6143c4406086cef59e62122de3c155e420 Mon Sep 17 00:00:00 2001 From: Matthias Urhahn <matthias.urhahn@sap.com> Date: Tue, 27 Apr 2021 12:30:47 +0200 Subject: [PATCH] We don't show test result available notification for TAN based test registrations. (#2968) --- .../coronatest/type/pcr/PCRProcessor.kt | 4 +- .../coronatest/type/pcr/PCRProcessorTest.kt | 37 +++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/type/pcr/PCRProcessor.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/type/pcr/PCRProcessor.kt index 88cd240a6..815401d6e 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/type/pcr/PCRProcessor.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/type/pcr/PCRProcessor.kt @@ -61,7 +61,9 @@ class PCRProcessor @Inject constructor( analyticsKeySubmissionCollector.reportRegisteredWithTeleTAN() - return createCoronaTest(request, registrationData) + return createCoronaTest(request, registrationData).copy( + isResultAvailableNotificationSent = true + ) } private suspend fun createCoronaTest( diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/coronatest/type/pcr/PCRProcessorTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/coronatest/type/pcr/PCRProcessorTest.kt index 4692cc48a..2028ef505 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/coronatest/type/pcr/PCRProcessorTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/coronatest/type/pcr/PCRProcessorTest.kt @@ -1,6 +1,8 @@ package de.rki.coronawarnapp.coronatest.type.pcr +import de.rki.coronawarnapp.coronatest.qrcode.CoronaTestQRCode import de.rki.coronawarnapp.coronatest.server.CoronaTestResult +import de.rki.coronawarnapp.coronatest.tan.CoronaTestTAN import de.rki.coronawarnapp.coronatest.type.CoronaTestService import de.rki.coronawarnapp.datadonation.analytics.modules.keysubmission.AnalyticsKeySubmissionCollector import de.rki.coronawarnapp.datadonation.analytics.modules.registeredtest.TestResultDataCollector @@ -29,6 +31,15 @@ class PCRProcessorTest : BaseTest() { private val nowUTC = Instant.parse("2021-03-15T05:45:00.000Z") + private var testQRRegistrationData = CoronaTestService.RegistrationData( + registrationToken = "qr-regtoken", + testResult = CoronaTestResult.PCR_POSITIVE, + ) + private var testTANRegistrationData = CoronaTestService.RegistrationData( + registrationToken = "tan-regtoken", + testResult = CoronaTestResult.PCR_POSITIVE, + ) + @BeforeEach fun setup() { MockKAnnotations.init(this) @@ -37,10 +48,22 @@ class PCRProcessorTest : BaseTest() { submissionService.apply { coEvery { asyncRequestTestResult(any()) } answers { CoronaTestResult.PCR_OR_RAT_PENDING } + coEvery { asyncRegisterDeviceViaTAN(any()) } answers { testTANRegistrationData } + coEvery { asyncRegisterDeviceViaGUID(any()) } answers { testQRRegistrationData } } + analyticsKeySubmissionCollector.apply { + coEvery { reportRegisteredWithTeleTAN() } just Runs + coEvery { reset() } just Runs + coEvery { reportPositiveTestResultReceived() } just Runs + coEvery { reportTestRegistered() } just Runs + } testResultDataCollector.apply { coEvery { updatePendingTestResultReceivedTime(any()) } just Runs + coEvery { saveTestResultAnalyticsSettings(any()) } just Runs + } + deadmanNotificationScheduler.apply { + every { cancelScheduledWork() } just Runs } } @@ -72,4 +95,18 @@ class PCRProcessorTest : BaseTest() { instance.pollServer(past60DaysTest).testResult shouldBe CoronaTestResult.PCR_REDEEMED } + + // TANs are automatically positive, there is no test result available screen that should be reached + @Test + fun `registering a TAN test automatically consumes the notification flag`() = runBlockingTest { + val instance = createInstance() + + instance.create(CoronaTestTAN.PCR(tan = "thisIsATan")).apply { + isResultAvailableNotificationSent shouldBe true + } + + instance.create(CoronaTestQRCode.PCR(qrCodeGUID = "thisIsAQRCodeGUID")).apply { + isResultAvailableNotificationSent shouldBe false + } + } } -- GitLab