diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeData.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeData.kt index 8f89855cf01a8d2882cbf0a1b6234b876f76625f..a40b694fa0c00305d8f192dff85b646dc43f71c8 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeData.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeData.kt @@ -8,6 +8,7 @@ import de.rki.coronawarnapp.coronatest.type.pcr.SubmissionStatePCR.TestInvalid import de.rki.coronawarnapp.coronatest.type.pcr.SubmissionStatePCR.TestNegative import de.rki.coronawarnapp.coronatest.type.pcr.SubmissionStatePCR.TestPending import de.rki.coronawarnapp.coronatest.type.pcr.SubmissionStatePCR.TestPositive +import de.rki.coronawarnapp.coronatest.type.rapidantigen.SubmissionStateRAT import de.rki.coronawarnapp.risk.RiskState import de.rki.coronawarnapp.submission.ui.homecards.PcrTestErrorCard import de.rki.coronawarnapp.submission.ui.homecards.PcrTestInvalidCard @@ -15,6 +16,7 @@ import de.rki.coronawarnapp.submission.ui.homecards.PcrTestNegativeCard import de.rki.coronawarnapp.submission.ui.homecards.PcrTestPendingCard import de.rki.coronawarnapp.submission.ui.homecards.PcrTestPositiveCard import de.rki.coronawarnapp.submission.ui.homecards.PcrTestSubmissionDoneCard +import de.rki.coronawarnapp.submission.ui.homecards.RapidTestNegativeCard import de.rki.coronawarnapp.submission.ui.homecards.TestFetchingCard import de.rki.coronawarnapp.submission.ui.homecards.TestUnregisteredCard import de.rki.coronawarnapp.tracing.TracingProgress @@ -153,6 +155,13 @@ object HomeData { onClickAction = {} ) + val TEST_NEGATIVE_ITEM_RAT = RapidTestNegativeCard.Item( + state = SubmissionStateRAT.TestNegative( + testRegisteredAt = Instant.now() + ), + onClickAction = {} + ) + val TEST_INVALID_ITEM = PcrTestInvalidCard.Item( state = TestInvalid, onDeleteTest = {} diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentTest.kt index 03430513efd136f91f631d65df8dfbd2df483029..310168baad034f0558ad47c0d055c451b0ccf2a1 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentTest.kt @@ -18,6 +18,8 @@ import de.rki.coronawarnapp.storage.TracingSettings import de.rki.coronawarnapp.submission.SubmissionRepository import de.rki.coronawarnapp.submission.ui.homecards.PcrTestPositiveCard import de.rki.coronawarnapp.submission.ui.homecards.PcrTestSubmissionDoneCard +import de.rki.coronawarnapp.submission.ui.homecards.RapidTestPositiveCard +import de.rki.coronawarnapp.submission.ui.homecards.RapidTestSubmissionDoneCard import de.rki.coronawarnapp.submission.ui.homecards.TestResultItem import de.rki.coronawarnapp.tracing.GeneralTracingStatus import de.rki.coronawarnapp.tracing.states.TracingStateProvider @@ -179,7 +181,7 @@ class HomeFragmentTest : BaseUITest() { @Test fun captureHomeFragmentTestSubmissionDone() { every { homeFragmentViewModel.homeItems } returns homeFragmentItemsLiveData( - submissionTestResultItem = HomeData.Submission.TEST_SUBMISSION_DONE_ITEM + submissionTestResultItems = listOf(HomeData.Submission.TEST_SUBMISSION_DONE_ITEM) ) captureHomeFragment("submission_done") } @@ -188,7 +190,7 @@ class HomeFragmentTest : BaseUITest() { @Test fun captureHomeFragmentTestError() { every { homeFragmentViewModel.homeItems } returns homeFragmentItemsLiveData( - submissionTestResultItem = HomeData.Submission.TEST_ERROR_ITEM + submissionTestResultItems = listOf(HomeData.Submission.TEST_ERROR_ITEM) ) captureHomeFragment("test_error") } @@ -197,7 +199,7 @@ class HomeFragmentTest : BaseUITest() { @Test fun captureHomeFragmentTestFetching() { every { homeFragmentViewModel.homeItems } returns homeFragmentItemsLiveData( - submissionTestResultItem = HomeData.Submission.TEST_FETCHING_ITEM + submissionTestResultItems = listOf(HomeData.Submission.TEST_FETCHING_ITEM) ) captureHomeFragment("test_fetching") } @@ -206,7 +208,7 @@ class HomeFragmentTest : BaseUITest() { @Test fun captureHomeFragmentTestInvalid() { every { homeFragmentViewModel.homeItems } returns homeFragmentItemsLiveData( - submissionTestResultItem = HomeData.Submission.TEST_INVALID_ITEM + submissionTestResultItems = listOf(HomeData.Submission.TEST_INVALID_ITEM) ) captureHomeFragment("test_invalid") } @@ -215,16 +217,30 @@ class HomeFragmentTest : BaseUITest() { @Test fun captureHomeFragmentTestNegative() { every { homeFragmentViewModel.homeItems } returns homeFragmentItemsLiveData( - submissionTestResultItem = HomeData.Submission.TEST_NEGATIVE_ITEM + submissionTestResultItems = listOf(HomeData.Submission.TEST_NEGATIVE_ITEM) ) captureHomeFragment("test_negative") } + @Screenshot + @Test + fun captureHomeFragmentTwoTestsNegative() { + every { homeFragmentViewModel.homeItems } returns homeFragmentItemsLiveData( + submissionTestResultItems = listOf( + HomeData.Submission.TEST_NEGATIVE_ITEM, + HomeData.Submission.TEST_NEGATIVE_ITEM_RAT + ) + ) + launchInMainActivity<HomeFragment>() + onView(withId(R.id.recycler_view)).perform(recyclerScrollTo(2, additionalY = -25)) + takeScreenshot<HomeFragment>("tests_negative") + } + @Screenshot @Test fun captureHomeFragmentTestPositive() { every { homeFragmentViewModel.homeItems } returns homeFragmentItemsLiveData( - submissionTestResultItem = HomeData.Submission.TEST_POSITIVE_ITEM + submissionTestResultItems = listOf(HomeData.Submission.TEST_POSITIVE_ITEM) ) captureHomeFragment("test_positive") } @@ -233,7 +249,7 @@ class HomeFragmentTest : BaseUITest() { @Test fun captureHomeFragmentTestPending() { every { homeFragmentViewModel.homeItems } returns homeFragmentItemsLiveData( - submissionTestResultItem = HomeData.Submission.TEST_PENDING_ITEM + submissionTestResultItems = listOf(HomeData.Submission.TEST_PENDING_ITEM) ) captureHomeFragment("test_pending") } @@ -360,24 +376,30 @@ class HomeFragmentTest : BaseUITest() { // LiveData item for fragments private fun homeFragmentItemsLiveData( tracingStateItem: TracingStateItem = HomeData.Tracing.LOW_RISK_ITEM_WITH_ENCOUNTERS, - submissionTestResultItem: TestResultItem = HomeData.Submission.TEST_UNREGISTERED_ITEM, + submissionTestResultItems: List<TestResultItem> = listOf(HomeData.Submission.TEST_UNREGISTERED_ITEM), vaccinationStatus: VaccinationStatusItem? = null, ): LiveData<List<HomeItem>> = MutableLiveData( mutableListOf<HomeItem>().apply { - when (submissionTestResultItem) { - is PcrTestSubmissionDoneCard.Item, - is PcrTestPositiveCard.Item -> { - Timber.d("Tracing item is not added, submission:$submissionTestResultItem") - } - else -> add(tracingStateItem) + + val hideTracingState = submissionTestResultItems.any { + it is PcrTestPositiveCard.Item || + it is PcrTestSubmissionDoneCard.Item || + it is RapidTestPositiveCard.Item || + it is RapidTestSubmissionDoneCard.Item + } + + if (hideTracingState) { + Timber.d("Tracing item is not added, submission:$submissionTestResultItems") + } else { + add(tracingStateItem) } vaccinationStatus?.let { add(it) } - add(submissionTestResultItem) + addAll(submissionTestResultItems) add(CreateVaccinationHomeCard.Item {}) diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/vaccination/ui/list/VaccinationListFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/vaccination/ui/list/VaccinationListFragmentTest.kt index ef246ec48c8cf7810dd832066d9773b3082887ec..ea39fc1ea9d06098313a369d852149660f8f7963 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/vaccination/ui/list/VaccinationListFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/vaccination/ui/list/VaccinationListFragmentTest.kt @@ -198,8 +198,8 @@ internal class VaccinationListFragmentTest : BaseUITest() { ) private fun createNameCardItem() = VaccinationListNameCardItem( - fullName = "Max Mustermann", - dayOfBirth = LocalDate.parse("01.02.1976", formatter).toDayFormat() + fullName = "Andrea Schneider", + dayOfBirth = LocalDate.parse("18.04.1943", formatter).toDayFormat() ) private fun createQrCodeCardItem( diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml index 971b3a38a36226e1c258ad9d25f5f4d910588eb1..255687fbe742907b79d911d64b561fb46f203b52 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml @@ -37,7 +37,7 @@ android:layout_height="wrap_content" android:paddingBottom="@dimen/spacing_normal"> - <ImageView + <androidx.appcompat.widget.AppCompatImageView android:id="@+id/submission_dispatcher_illustration" android:layout_width="0dp" android:layout_height="wrap_content" diff --git a/Corona-Warn-App/src/main/res/layout/include_dispatcher_card.xml b/Corona-Warn-App/src/main/res/layout/include_dispatcher_card.xml index 6c000385c32526f7ea110b55e222eaf77987537e..7e5c3d77d0e37305a8150dc8b6b666822f82811f 100644 --- a/Corona-Warn-App/src/main/res/layout/include_dispatcher_card.xml +++ b/Corona-Warn-App/src/main/res/layout/include_dispatcher_card.xml @@ -43,7 +43,7 @@ app:layout_constraintTop_toTopOf="parent" tools:text="@string/submission_dispatcher_card_qr" /> - <ImageView + <androidx.appcompat.widget.AppCompatImageView android:id="@+id/dispatcher_card_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/Corona-Warn-App/src/main/res/layout/submission_create_rat_profile_card.xml b/Corona-Warn-App/src/main/res/layout/submission_create_rat_profile_card.xml index c530af99280fec8b3f055c37654196dc68b1fb3a..dd6bce6a2c7fe0232af4b33cfa28f6e882ea5bb4 100644 --- a/Corona-Warn-App/src/main/res/layout/submission_create_rat_profile_card.xml +++ b/Corona-Warn-App/src/main/res/layout/submission_create_rat_profile_card.xml @@ -18,7 +18,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> - <ImageView + <androidx.appcompat.widget.AppCompatImageView android:id="@+id/dispatcher_card_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -30,7 +30,7 @@ app:srcCompat="@drawable/ic_forward" app:tint="@color/colorTextPrimary1" /> - <ImageView + <androidx.appcompat.widget.AppCompatImageView android:id="@+id/illustration" android:layout_width="wrap_content" android:layout_height="wrap_content"