Skip to content
Snippets Groups Projects
Unverified Commit ff3f543e authored by Mohamed Metwalli's avatar Mohamed Metwalli Committed by GitHub
Browse files

Screenshots Request DCC (EXPOSUREAPP-7434) (#3352)


* Rename package

* Create test

Co-authored-by: default avatarAlex Paulescu <alex.paulescu@gmail.com>
parent 0d1c62b8
No related branches found
No related tags found
No related merge requests found
Showing
with 130 additions and 12 deletions
package de.rki.coronawarnapp.ui.submission.covidcertificate
import androidx.lifecycle.MutableLiveData
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.action.ViewActions.click
import androidx.test.espresso.action.ViewActions.swipeUp
import androidx.test.espresso.matcher.ViewMatchers.withId
import androidx.test.ext.junit.runners.AndroidJUnit4
import dagger.Module
import dagger.android.ContributesAndroidInjector
import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.coronatest.qrcode.CoronaTestQRCode
import de.rki.coronawarnapp.ui.submission.ApiRequestState
import de.rki.coronawarnapp.ui.submission.qrcode.QrCodeRegistrationStateProcessor
import io.mockk.MockKAnnotations
import io.mockk.every
import io.mockk.impl.annotations.MockK
import org.joda.time.Instant
import org.junit.After
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import testhelpers.BaseUITest
import testhelpers.Screenshot
import testhelpers.launchFragmentInContainer2
import testhelpers.takeScreenshot
@RunWith(AndroidJUnit4::class)
class RequestCovidCertificateFragmentTest : BaseUITest() {
@MockK lateinit var viewModel: RequestCovidCertificateViewModel
@Before
fun setup() {
MockKAnnotations.init(this, relaxed = true)
every { viewModel.birthDate } returns MutableLiveData(null)
every { viewModel.registrationState } returns MutableLiveData(
QrCodeRegistrationStateProcessor.RegistrationState(ApiRequestState.IDLE)
)
setupMockViewModel(
object : RequestCovidCertificateViewModel.Factory {
override fun create(
coronaTestQrCode: CoronaTestQRCode,
coronaTestConsent: Boolean,
deleteOldTest: Boolean
): RequestCovidCertificateViewModel = viewModel
}
)
}
@Test
fun launch_fragment_pcr() {
val args = RequestCovidCertificateFragmentArgs(
CoronaTestQRCode.PCR(qrCodeGUID = "GUID")
).toBundle()
launchFragmentInContainer2<RequestCovidCertificateFragment>(fragmentArgs = args)
}
@Test
fun launch_fragment_rat() {
val args = RequestCovidCertificateFragmentArgs(
CoronaTestQRCode.RapidAntigen(hash = "hash", createdAt = Instant.EPOCH)
).toBundle()
launchFragmentInContainer2<RequestCovidCertificateFragment>(fragmentArgs = args)
}
@Test
@Screenshot
fun capture_fragment_pcr() {
val args = RequestCovidCertificateFragmentArgs(
CoronaTestQRCode.PCR(qrCodeGUID = "GUID")
).toBundle()
launchFragmentInContainer2<RequestCovidCertificateFragment>(fragmentArgs = args)
takeScreenshot<RequestCovidCertificateFragment>("pcr")
onView(withId(R.id.scrollview)).perform(swipeUp())
takeScreenshot<RequestCovidCertificateFragment>("pcr_2")
}
@Test
@Screenshot
fun capture_fragment_pcr_birthdate_dialog() {
val args = RequestCovidCertificateFragmentArgs(
CoronaTestQRCode.PCR(qrCodeGUID = "GUID")
).toBundle()
launchFragmentInContainer2<RequestCovidCertificateFragment>(fragmentArgs = args)
onView(withId(R.id.date_input_edit)).perform(click())
takeScreenshot<RequestCovidCertificateFragment>("date_picker")
}
@Test
@Screenshot
fun capture_fragment_rat() {
val args = RequestCovidCertificateFragmentArgs(
CoronaTestQRCode.RapidAntigen(hash = "hash", createdAt = Instant.EPOCH)
).toBundle()
launchFragmentInContainer2<RequestCovidCertificateFragment>(fragmentArgs = args)
takeScreenshot<RequestCovidCertificateFragment>("rat")
onView(withId(R.id.scrollview)).perform(swipeUp())
takeScreenshot<RequestCovidCertificateFragment>("rat_2")
}
@After
fun teardown() {
clearAllViewModels()
}
}
@Module
abstract class RequestCovidCertificateFragmentTestModule {
@ContributesAndroidInjector
abstract fun requestCovidCertificateFragment(): RequestCovidCertificateFragment
}
......@@ -35,6 +35,7 @@ import de.rki.coronawarnapp.ui.submission.SubmissionTestResultTestAvailableModul
import de.rki.coronawarnapp.ui.submission.SubmissionTestResultTestModule
import de.rki.coronawarnapp.ui.submission.SubmissionTestResultTestNegativeModule
import de.rki.coronawarnapp.ui.submission.SubmissionYourConsentFragmentTestModule
import de.rki.coronawarnapp.ui.submission.covidcertificate.RequestCovidCertificateFragmentTestModule
import de.rki.coronawarnapp.ui.tracing.TracingDetailsFragmentTestTestModule
import de.rki.coronawarnapp.ui.vaccination.VaccinationConsentFragmentTestModule
import de.rki.coronawarnapp.vaccination.ui.details.VaccinationDetailsFragmentTestModule
......@@ -88,7 +89,8 @@ import de.rki.coronawarnapp.vaccination.ui.list.VaccinationListFragmentTestModul
// Vaccination
VaccinationDetailsFragmentTestModule::class,
VaccinationConsentFragmentTestModule::class,
VaccinationListFragmentTestModule::class
VaccinationListFragmentTestModule::class,
RequestCovidCertificateFragmentTestModule::class,
]
)
class FragmentTestModuleRegistrar
package de.rki.coronawarnapp.ui.submission.greencertificate
package de.rki.coronawarnapp.ui.submission.covidcertificate
import android.os.Bundle
import androidx.fragment.app.Fragment
......
package de.rki.coronawarnapp.ui.submission.greencertificate
package de.rki.coronawarnapp.ui.submission.covidcertificate
import dagger.Binds
import dagger.Module
......
package de.rki.coronawarnapp.ui.submission.greencertificate
package de.rki.coronawarnapp.ui.submission.covidcertificate
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
......
package de.rki.coronawarnapp.ui.submission.greencertificate
package de.rki.coronawarnapp.ui.submission.covidcertificate
sealed class RequestDccNavEvent
object ToDispatcherScreen : RequestDccNavEvent()
......
......@@ -8,8 +8,8 @@ import de.rki.coronawarnapp.ui.submission.fragment.SubmissionContactFragment
import de.rki.coronawarnapp.ui.submission.fragment.SubmissionDispatcherFragment
import de.rki.coronawarnapp.ui.submission.deletionwarning.SubmissionDeletionWarningFragment
import de.rki.coronawarnapp.ui.submission.deletionwarning.SubmissionDeletionWarningModule
import de.rki.coronawarnapp.ui.submission.greencertificate.RequestCovidCertificateFragment
import de.rki.coronawarnapp.ui.submission.greencertificate.RequestCovidCertificateFragmentModule
import de.rki.coronawarnapp.ui.submission.covidcertificate.RequestCovidCertificateFragment
import de.rki.coronawarnapp.ui.submission.covidcertificate.RequestCovidCertificateFragmentModule
import de.rki.coronawarnapp.ui.submission.qrcode.consent.SubmissionConsentFragment
import de.rki.coronawarnapp.ui.submission.qrcode.consent.SubmissionConsentModule
import de.rki.coronawarnapp.ui.submission.qrcode.scan.SubmissionQRCodeScanFragment
......@@ -102,7 +102,7 @@ internal abstract class SubmissionFragmentModule {
abstract fun submissionTestResultNoConsentScreen(): SubmissionTestResultNoConsentFragment
@ContributesAndroidInjector(modules = [SubmissionResultPositiveOtherWarningNoConsentModule::class])
abstract fun SubmissionResultPositiveOtherWarningNoConsentScreen(): SubmissionResultPositiveOtherWarningNoConsentFragment
abstract fun submissionResultPositiveOtherWarningNoConsentScreen(): SubmissionResultPositiveOtherWarningNoConsentFragment
@ContributesAndroidInjector(modules = [SubmissionDeletionWarningModule::class])
abstract fun submissionDeletionWarningScreen(): SubmissionDeletionWarningFragment
......@@ -114,5 +114,5 @@ internal abstract class SubmissionFragmentModule {
abstract fun submissionTestResultKeysSharedScreen(): SubmissionTestResultKeysSharedFragment
@ContributesAndroidInjector(modules = [RequestCovidCertificateFragmentModule::class])
abstract fun requestGreenCertificateFragment(): RequestCovidCertificateFragment
abstract fun requestCovidCertificateFragment(): RequestCovidCertificateFragment
}
......@@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorBackground"
tools:context="ui.submission.greencertificate.RequestCovidCertificateFragment">
tools:context="ui.submission.covidcertificate.RequestCovidCertificateFragment">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
......
......@@ -830,7 +830,7 @@
app:destination="@id/qrCodeFullScreenFragment" />
<fragment
android:id="@+id/requestCovidCertificateFragment"
android:name="de.rki.coronawarnapp.ui.submission.greencertificate.RequestCovidCertificateFragment"
android:name="de.rki.coronawarnapp.ui.submission.covidcertificate.RequestCovidCertificateFragment"
android:label="fragment_request_covid_certificate"
tools:layout="@layout/fragment_request_covid_certificate">
<argument
......
package de.rki.coronawarnapp.ui.submission.greencertificate
package de.rki.coronawarnapp.ui.submission.covidcertificate
import androidx.lifecycle.MutableLiveData
import de.rki.coronawarnapp.coronatest.CoronaTestRepository
......
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