From 6160532eb71c3886dcb3b041a7a0f151aa677eb9 Mon Sep 17 00:00:00 2001
From: Juraj Kusnier <jurajkusnier@users.noreply.github.com>
Date: Wed, 26 May 2021 17:57:38 +0200
Subject: [PATCH] Contact diary screenshots with tests (EXPOSUREAPP-6044)
 (#3284)

Co-authored-by: harambasicluka <64483219+harambasicluka@users.noreply.github.com>
---
 .../ContactDiaryOverviewFragmentTest.kt           | 15 ++++++++++++++-
 .../coronawarnapp/ui/contactdiary/DiaryData.kt    | 15 +++++++++++++++
 .../ui/overview/adapter/day/DayOverviewVH.kt      |  2 +-
 3 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryOverviewFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryOverviewFragmentTest.kt
index 210b1574a..6308bfb83 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryOverviewFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryOverviewFragmentTest.kt
@@ -99,6 +99,10 @@ class ContactDiaryOverviewFragmentTest : BaseUITest() {
         onView(withId(R.id.contact_diary_overview_recyclerview))
             .perform(recyclerScrollTo(4))
         takeScreenshot<ContactDiaryOverviewFragment>("2")
+
+        onView(withId(R.id.contact_diary_overview_recyclerview))
+            .perform(recyclerScrollTo(10))
+        takeScreenshot<ContactDiaryOverviewFragment>("3")
     }
 
     private fun contactDiaryOverviewItemLiveData(): LiveData<List<DiaryOverviewItem>> {
@@ -139,11 +143,20 @@ class ContactDiaryOverviewFragmentTest : BaseUITest() {
                     else -> null
                 }
 
+                val coronaTestEvent = when (index) {
+                    8 -> {
+                        DiaryData.TEST_ITEM
+                    }
+
+                    else -> null
+                }
+
                 DayOverviewItem(
                     date = localDate,
                     contactItem = ContactItem(dayData),
                     riskEnfItem = riskEnf,
-                    riskEventItem = riskEvent
+                    riskEventItem = riskEvent,
+                    coronaTestItem = coronaTestEvent
                 ) {
                     // onClick
                 }
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/DiaryData.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/DiaryData.kt
index eddad5048..dcd752dba 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/DiaryData.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/DiaryData.kt
@@ -11,6 +11,7 @@ import de.rki.coronawarnapp.contactdiary.model.DefaultContactDiaryPersonEncounte
 import de.rki.coronawarnapp.contactdiary.ui.day.tabs.location.DiaryLocationListItem
 import de.rki.coronawarnapp.contactdiary.ui.day.tabs.person.DiaryPersonListItem
 import de.rki.coronawarnapp.contactdiary.ui.overview.adapter.day.contact.ContactItem
+import de.rki.coronawarnapp.contactdiary.ui.overview.adapter.day.coronatest.CoronaTestItem
 import de.rki.coronawarnapp.contactdiary.ui.overview.adapter.day.riskenf.RiskEnfItem
 import de.rki.coronawarnapp.contactdiary.ui.overview.adapter.day.riskevent.RiskEventItem
 import org.joda.time.Duration
@@ -111,6 +112,20 @@ object DiaryData {
         events = listOf(LOW_RISK_EVENT)
     )
 
+    val PCR_TEST_NEGATIVE = CoronaTestItem.Data(
+        icon = R.drawable.ic_corona_test_icon_green,
+        header = R.string.contact_diary_corona_test_pcr_title,
+        body = R.string.contact_diary_corona_test_negative
+    )
+
+    val RAT_TEST_POSITIVE = CoronaTestItem.Data(
+        icon = R.drawable.ic_corona_test_icon_red,
+        header = R.string.contact_diary_corona_test_rat_title,
+        body = R.string.contact_diary_corona_test_positive
+    )
+
+    val TEST_ITEM = CoronaTestItem(listOf(PCR_TEST_NEGATIVE, RAT_TEST_POSITIVE))
+
     val LOCATIONS: List<DiaryLocationListItem> = listOf(
         DiaryLocationListItem(
             item = DefaultContactDiaryLocation(locationName = "Physiotherapie"),
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/adapter/day/DayOverviewVH.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/adapter/day/DayOverviewVH.kt
index 8807a0a6b..f4b5ecd43 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/adapter/day/DayOverviewVH.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/adapter/day/DayOverviewVH.kt
@@ -93,7 +93,7 @@ class DayOverviewVH(parent: ViewGroup) :
     }
 
     private fun ContactDiaryOverviewDayListItemContactBinding.apply(contactItem: ContactItem?) {
-        root.isGone = contactItem == null
+        root.isGone = contactItem == null || contactItem.data.isEmpty()
 
         contactItem?.let {
             recyclerView.apply {
-- 
GitLab