diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentTest.kt index 1092ec13a5634c6e392fe2295d66ca5180d88075..090c645c6f626e64445c4d4fae0330e5119fa6e7 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentTest.kt @@ -10,33 +10,51 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import dagger.Module import dagger.android.ContributesAndroidInjector import de.rki.coronawarnapp.R +import de.rki.coronawarnapp.nearby.TracingPermissionHelper +import de.rki.coronawarnapp.storage.interoperability.InteroperabilityRepository import io.mockk.MockKAnnotations import io.mockk.Runs import io.mockk.every import io.mockk.impl.annotations.MockK -import io.mockk.impl.annotations.SpyK +import io.mockk.just +import io.mockk.spyk import org.junit.After import org.junit.Before -import org.junit.Ignore import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import testhelpers.BaseUITest import testhelpers.Screenshot +import testhelpers.TestDispatcherProvider import tools.fastlane.screengrab.Screengrab import tools.fastlane.screengrab.locale.LocaleTestRule @RunWith(AndroidJUnit4::class) class OnboardingTracingFragmentTest : BaseUITest() { - @MockK lateinit var viewModel: OnboardingTracingFragmentViewModel + @MockK lateinit var interopRepo: InteroperabilityRepository + @MockK lateinit var factory: TracingPermissionHelper.Factory + + @Rule + @JvmField + val localeTestRule = LocaleTestRule() @Before fun setup() { MockKAnnotations.init(this, relaxed = true) + val viewModelSpy = spyk( + OnboardingTracingFragmentViewModel( + interoperabilityRepository = interopRepo, + tracingPermissionHelperFactory = factory, + dispatcherProvider = TestDispatcherProvider + ) + ) + + every { viewModelSpy.resetTracing() } just Runs + setupMockViewModel(object : OnboardingTracingFragmentViewModel.Factory { - override fun create(): OnboardingTracingFragmentViewModel = viewModel + override fun create(): OnboardingTracingFragmentViewModel = viewModelSpy }) } @@ -50,7 +68,7 @@ class OnboardingTracingFragmentTest : BaseUITest() { launchFragment<OnboardingTracingFragment>() } - @Ignore("Exclude until mocked viewModel is replaced") // @Screenshot + @Screenshot @Test fun capture_screenshot() { val simpleName = OnboardingTracingFragment::class.simpleName