This repository was archived by the owner on Jun 20, 2023. It is now read-only.
File tree Expand file tree Collapse file tree
androidTest/java/de/rki/coronawarnapp/ui/onboarding
main/java/de/rki/coronawarnapp/ui/onboarding Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -6,6 +6,9 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
66import dagger.Module
77import dagger.android.ContributesAndroidInjector
88import de.rki.coronawarnapp.R
9+ import de.rki.coronawarnapp.eol.AppEol
10+ import io.mockk.MockKAnnotations
11+ import io.mockk.impl.annotations.MockK
912import org.junit.After
1013import org.junit.Before
1114import org.junit.Test
@@ -20,11 +23,15 @@ import testhelpers.takeScreenshot
2023@RunWith(AndroidJUnit4 ::class )
2124class OnboardingPrivacyFragmentTest : BaseUITest () {
2225
26+ @MockK lateinit var appEol: AppEol
27+
2328 @Before
2429 fun setup () {
30+ MockKAnnotations .init (this , relaxed = true )
31+
2532 setupMockViewModel(
2633 object : OnboardingPrivacyViewModel .Factory {
27- override fun create (): OnboardingPrivacyViewModel = OnboardingPrivacyViewModel ()
34+ override fun create (): OnboardingPrivacyViewModel = OnboardingPrivacyViewModel (appEol )
2835 }
2936 )
3037 }
Original file line number Diff line number Diff line change @@ -7,7 +7,6 @@ import androidx.fragment.app.Fragment
77import androidx.navigation.fragment.findNavController
88import de.rki.coronawarnapp.R
99import de.rki.coronawarnapp.databinding.FragmentOnboardingPrivacyBinding
10- import de.rki.coronawarnapp.databinding.OnboardingScreensLayoutBinding
1110import de.rki.coronawarnapp.util.di.AutoInject
1211import de.rki.coronawarnapp.util.ui.popBackStack
1312import de.rki.coronawarnapp.util.ui.viewBinding
@@ -23,7 +22,6 @@ class OnboardingPrivacyFragment : Fragment(R.layout.fragment_onboarding_privacy)
2322 @Inject lateinit var viewModelFactory: CWAViewModelFactoryProvider .Factory
2423 private val vm: OnboardingPrivacyViewModel by cwaViewModels { viewModelFactory }
2524 private val binding: FragmentOnboardingPrivacyBinding by viewBinding()
26- private val onboardingScreensBinding: OnboardingScreensLayoutBinding by viewBinding()
2725
2826 override fun onViewCreated (view : View , savedInstanceState : Bundle ? ) {
2927 super .onViewCreated(view, savedInstanceState)
@@ -41,6 +39,11 @@ class OnboardingPrivacyFragment : Fragment(R.layout.fragment_onboarding_privacy)
4139 )
4240
4341 is OnboardingNavigationEvents .NavigateToOnboardingFragment -> popBackStack()
42+
43+ is OnboardingNavigationEvents .NavigateToMainActivity -> {
44+ (requireActivity() as OnboardingActivity ).completeOnboarding()
45+ }
46+
4447 else -> Unit
4548 }
4649 }
Original file line number Diff line number Diff line change @@ -2,15 +2,26 @@ package de.rki.coronawarnapp.ui.onboarding
22
33import dagger.assisted.AssistedFactory
44import dagger.assisted.AssistedInject
5+ import de.rki.coronawarnapp.eol.AppEol
56import de.rki.coronawarnapp.util.ui.SingleLiveEvent
67import de.rki.coronawarnapp.util.viewmodel.CWAViewModel
78import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory
9+ import kotlinx.coroutines.flow.first
810
9- class OnboardingPrivacyViewModel @AssistedInject constructor() : CWAViewModel() {
11+ class OnboardingPrivacyViewModel @AssistedInject constructor(
12+ eol : AppEol ,
13+ ) : CWAViewModel() {
1014 val routeToScreen: SingleLiveEvent <OnboardingNavigationEvents > = SingleLiveEvent ()
15+ private val isEol = eol.isEol
1116
12- fun onNextButtonClick () {
13- routeToScreen.postValue(OnboardingNavigationEvents .NavigateToOnboardingTracing )
17+ fun onNextButtonClick () = launch {
18+ routeToScreen.postValue(
19+ if (isEol.first()) {
20+ OnboardingNavigationEvents .NavigateToMainActivity
21+ } else {
22+ OnboardingNavigationEvents .NavigateToOnboardingTracing
23+ }
24+ )
1425 }
1526
1627 fun onBackButtonClick () {
You can’t perform that action at this time.
0 commit comments