Skip to content
Snippets Groups Projects
Commit 12318657 authored by Mohamed Metwalli's avatar Mohamed Metwalli
Browse files

Add an inline function that defaults to AppTheme

parent 3f156f82
No related branches found
No related tags found
No related merge requests found
package de.rki.coronawarnapp.ui.onboarding
import androidx.fragment.app.testing.launchFragment
import androidx.fragment.app.testing.launchFragmentInContainer
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
......@@ -21,6 +20,7 @@ import org.junit.runner.RunWith
import testhelpers.BaseUITest
import testhelpers.Screenshot
import testhelpers.TestDispatcherProvider
import testhelpers.launchFragmentInContainer2
import tools.fastlane.screengrab.Screengrab
import tools.fastlane.screengrab.locale.LocaleTestRule
......@@ -59,7 +59,7 @@ class OnboardingDeltaInteroperabilityFragmentTest : BaseUITest() {
@Screenshot
@Test
fun capture_screenshot() {
launchFragmentInContainer<OnboardingDeltaInteroperabilityFragment>(themeResId = R.style.AppTheme)
launchFragmentInContainer2<OnboardingDeltaInteroperabilityFragment>()
// Check any view to make sure screenshot is not blank
onView(withId(R.id.onboarding_button_next)).check(matches(isDisplayed()))
Screengrab.screenshot(OnboardingDeltaInteroperabilityFragment::class.simpleName)
......
package de.rki.coronawarnapp.ui.onboarding
import androidx.fragment.app.testing.launchFragment
import androidx.fragment.app.testing.launchFragmentInContainer
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.action.ViewActions.click
import androidx.test.espresso.action.ViewActions.scrollTo
......@@ -19,6 +18,7 @@ import org.junit.Test
import org.junit.runner.RunWith
import testhelpers.BaseUITest
import testhelpers.Screenshot
import testhelpers.launchFragmentInContainer2
import tools.fastlane.screengrab.Screengrab
import tools.fastlane.screengrab.locale.LocaleTestRule
......@@ -49,7 +49,7 @@ class OnboardingFragmentTest : BaseUITest() {
@Screenshot
@Test
fun capture_screenshot() {
launchFragmentInContainer<OnboardingFragment>(themeResId = R.style.AppTheme)
launchFragmentInContainer2<OnboardingFragment>()
// Check any view to make sure screenshot is not blank
onView(withId(R.id.onboarding_button_next)).check(matches(isDisplayed()))
Screengrab.screenshot(OnboardingFragment::class.simpleName)
......
package de.rki.coronawarnapp.ui.onboarding
import androidx.fragment.app.testing.launchFragment
import androidx.fragment.app.testing.launchFragmentInContainer
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
......@@ -17,6 +16,7 @@ import org.junit.Test
import org.junit.runner.RunWith
import testhelpers.BaseUITest
import testhelpers.Screenshot
import testhelpers.launchFragmentInContainer2
import tools.fastlane.screengrab.Screengrab
import tools.fastlane.screengrab.locale.LocaleTestRule
......@@ -47,7 +47,7 @@ class OnboardingNotificationsFragmentTest : BaseUITest() {
@Screenshot
@Test
fun capture_screenshot() {
launchFragmentInContainer<OnboardingNotificationsFragment>(themeResId = R.style.AppTheme)
launchFragmentInContainer2<OnboardingNotificationsFragment>()
// Check any view to make sure screenshot is not blank
onView(withId(R.id.onboarding_button_next)).check(matches(isDisplayed()))
Screengrab.screenshot(OnboardingNotificationsFragment::class.simpleName)
......
package de.rki.coronawarnapp.ui.onboarding
import androidx.fragment.app.testing.launchFragment
import androidx.fragment.app.testing.launchFragmentInContainer
import androidx.test.espresso.Espresso
import androidx.test.espresso.assertion.ViewAssertions
import androidx.test.espresso.matcher.ViewMatchers
......@@ -16,6 +15,7 @@ import org.junit.Test
import org.junit.runner.RunWith
import testhelpers.BaseUITest
import testhelpers.Screenshot
import testhelpers.launchFragmentInContainer2
import tools.fastlane.screengrab.Screengrab
import tools.fastlane.screengrab.locale.LocaleTestRule
......@@ -46,7 +46,7 @@ class OnboardingPrivacyFragmentTest : BaseUITest() {
@Screenshot
@Test
fun capture_screenshot() {
launchFragmentInContainer<OnboardingPrivacyFragment>(themeResId = R.style.AppTheme)
launchFragmentInContainer2<OnboardingPrivacyFragment>()
// Check any view to make sure screenshot is not blank
Espresso.onView(ViewMatchers.withId(R.id.onboarding_button_next))
.check(ViewAssertions.matches(ViewMatchers.isDisplayed()))
......
package de.rki.coronawarnapp.ui.onboarding
import androidx.fragment.app.testing.launchFragment
import androidx.fragment.app.testing.launchFragmentInContainer
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
......@@ -17,6 +16,7 @@ import org.junit.Test
import org.junit.runner.RunWith
import testhelpers.BaseUITest
import testhelpers.Screenshot
import testhelpers.launchFragmentInContainer2
import tools.fastlane.screengrab.Screengrab
import tools.fastlane.screengrab.locale.LocaleTestRule
......@@ -47,7 +47,7 @@ class OnboardingTestFragmentTest : BaseUITest() {
@Screenshot
@Test
fun capture_screenshot() {
launchFragmentInContainer<OnboardingTestFragment>(themeResId = R.style.AppTheme)
launchFragmentInContainer2<OnboardingTestFragment>()
// Check any view to make sure screenshot is not blank
onView(withId(R.id.onboarding_button_next)).check(matches(isDisplayed()))
Screengrab.screenshot(OnboardingTestFragment::class.simpleName)
......
package de.rki.coronawarnapp.ui.onboarding
import androidx.fragment.app.testing.launchFragment
import androidx.fragment.app.testing.launchFragmentInContainer
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
......@@ -26,6 +25,7 @@ import org.junit.runner.RunWith
import testhelpers.BaseUITest
import testhelpers.Screenshot
import testhelpers.TestDispatcherProvider
import testhelpers.launchFragmentInContainer2
import tools.fastlane.screengrab.Screengrab
import tools.fastlane.screengrab.locale.LocaleTestRule
......@@ -72,7 +72,7 @@ class OnboardingTracingFragmentTest : BaseUITest() {
@Test
fun capture_screenshot() {
val simpleName = OnboardingTracingFragment::class.simpleName
launchFragmentInContainer<OnboardingTracingFragment>(themeResId = R.style.AppTheme)
launchFragmentInContainer2<OnboardingTracingFragment>()
// Check any view to make sure screenshot is not blank
onView(withId(R.id.onboarding_button_next)).check(matches(isDisplayed()))
Screengrab.screenshot(simpleName)
......
package testhelpers;
import android.os.Bundle
import androidx.annotation.StyleRes
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentFactory
import androidx.fragment.app.testing.FragmentScenario
import de.rki.coronawarnapp.R
/**
* Launches Fragment in Activity root container. Same as [androidx.fragment.app.testing.launchFragmentInContainer]
* except that it defaults the theme to [R.style.AppTheme].
* This helps to avoid showing default ActionBar from [R.style.FragmentScenarioEmptyFragmentActivityTheme]
* in cases where a screenshot is needed to match the exact theme in the App.
*/
inline fun <reified F : Fragment> launchFragmentInContainer2(
fragmentArgs: Bundle? = null,
@StyleRes themeResId: Int = R.style.AppTheme,
factory: FragmentFactory? = null
) = FragmentScenario.launchInContainer(F::class.java, fragmentArgs, themeResId, factory)
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