diff --git a/.github/workflows/screenShotTest.yml b/.github/workflows/screenShotTest.yml index 2a19d35f99..224e78be54 100644 --- a/.github/workflows/screenShotTest.yml +++ b/.github/workflows/screenShotTest.yml @@ -23,7 +23,7 @@ jobs: matrix: scheme: [ Light ] color: [ blue ] - api-level: [ 29 ] + api-level: [ 27 ] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 diff --git a/app/src/androidTest/java/com/owncloud/android/ui/trashbin/TrashbinActivityIT.kt b/app/src/androidTest/java/com/owncloud/android/ui/trashbin/TrashbinActivityIT.kt index bcb0503b13..77797276fe 100644 --- a/app/src/androidTest/java/com/owncloud/android/ui/trashbin/TrashbinActivityIT.kt +++ b/app/src/androidTest/java/com/owncloud/android/ui/trashbin/TrashbinActivityIT.kt @@ -10,10 +10,8 @@ package com.owncloud.android.ui.trashbin import android.accounts.Account import android.accounts.AccountManager import android.content.Intent -import androidx.test.core.app.ActivityScenario -import androidx.test.core.app.ApplicationProvider import androidx.test.espresso.IdlingRegistry -import androidx.test.ext.junit.rules.ActivityScenarioRule +import androidx.test.espresso.intent.rule.IntentsTestRule import com.nextcloud.utils.EspressoIdlingResource import com.owncloud.android.AbstractIT import com.owncloud.android.MainApp @@ -29,11 +27,8 @@ class TrashbinActivityIT : AbstractIT() { ERROR, EMPTY, FILES } - private var scenario: ActivityScenario? = null - val intent = Intent(ApplicationProvider.getApplicationContext(), TrashbinActivity::class.java) - @get:Rule - val activityRule = ActivityScenarioRule(intent) + var activityRule = IntentsTestRule(TrashbinActivity::class.java, true, false) @Before fun registerIdlingResource() { @@ -43,76 +38,65 @@ class TrashbinActivityIT : AbstractIT() { @After fun unregisterIdlingResource() { IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource) - scenario?.close() } @Test @ScreenshotTest fun error() { - scenario = activityRule.scenario - scenario?.onActivity { sut -> - val trashbinRepository = TrashbinLocalRepository(TestCase.ERROR) - sut.trashbinPresenter = TrashbinPresenter(trashbinRepository, sut) - onIdleSync { - sut.runOnUiThread { sut.loadFolder() } - screenshot(sut) - } + val sut: TrashbinActivity = activityRule.launchActivity(null) + val trashbinRepository = TrashbinLocalRepository(TestCase.ERROR) + sut.trashbinPresenter = TrashbinPresenter(trashbinRepository, sut) + onIdleSync { + sut.runOnUiThread { sut.loadFolder() } + screenshot(sut) } } @Test @ScreenshotTest fun files() { - scenario = activityRule.scenario - scenario?.onActivity { sut -> - val trashbinRepository = TrashbinLocalRepository(TestCase.FILES) - sut.trashbinPresenter = TrashbinPresenter(trashbinRepository, sut) - onIdleSync { - sut.runOnUiThread { sut.loadFolder() } - screenshot(sut) - } + val sut: TrashbinActivity = activityRule.launchActivity(null) + val trashbinRepository = TrashbinLocalRepository(TestCase.FILES) + sut.trashbinPresenter = TrashbinPresenter(trashbinRepository, sut) + onIdleSync { + sut.runOnUiThread { sut.loadFolder() } + screenshot(sut) } } @Test @ScreenshotTest fun empty() { - scenario = activityRule.scenario - scenario?.onActivity { sut -> - val trashbinRepository = TrashbinLocalRepository(TestCase.EMPTY) - sut.trashbinPresenter = TrashbinPresenter(trashbinRepository, sut) - onIdleSync { - sut.runOnUiThread { sut.loadFolder() } - screenshot(sut) - } + val sut: TrashbinActivity = activityRule.launchActivity(null) + val trashbinRepository = TrashbinLocalRepository(TestCase.EMPTY) + sut.trashbinPresenter = TrashbinPresenter(trashbinRepository, sut) + onIdleSync { + sut.runOnUiThread { sut.loadFolder() } + screenshot(sut) } } @Test @ScreenshotTest fun loading() { - scenario = activityRule.scenario - scenario?.onActivity { sut -> - val trashbinRepository = TrashbinLocalRepository(TestCase.EMPTY) - sut.trashbinPresenter = TrashbinPresenter(trashbinRepository, sut) - onIdleSync { - sut.runOnUiThread { sut.showInitialLoading() } - screenshot(sut) - } + val sut: TrashbinActivity = activityRule.launchActivity(null) + val trashbinRepository = TrashbinLocalRepository(TestCase.EMPTY) + sut.trashbinPresenter = TrashbinPresenter(trashbinRepository, sut) + onIdleSync { + sut.runOnUiThread { sut.showInitialLoading() } + screenshot(sut) } } @Test @ScreenshotTest fun normalUser() { - scenario = activityRule.scenario - scenario?.onActivity { sut -> - val trashbinRepository = TrashbinLocalRepository(TestCase.EMPTY) - sut.trashbinPresenter = TrashbinPresenter(trashbinRepository, sut) - onIdleSync { - sut.runOnUiThread { sut.showUser() } - screenshot(sut) - } + val sut: TrashbinActivity = activityRule.launchActivity(null) + val trashbinRepository = TrashbinLocalRepository(TestCase.EMPTY) + sut.trashbinPresenter = TrashbinPresenter(trashbinRepository, sut) + onIdleSync { + sut.runOnUiThread { sut.showUser() } + screenshot(sut) } } @@ -126,18 +110,16 @@ class TrashbinActivityIT : AbstractIT() { platformAccountManager.setUserData(temp, AccountUtils.Constants.KEY_OC_BASE_URL, "https://nextcloud.localhost") platformAccountManager.setUserData(temp, AccountUtils.Constants.KEY_USER_ID, "differentUser") - val intent = Intent(targetContext, TrashbinActivity::class.java) - intent.putExtra(Intent.EXTRA_USER, "differentUser@https://nextcloud.localhost") + val intent = Intent().apply { + putExtra(Intent.EXTRA_USER, "differentUser@https://nextcloud.localhost") + } + val sut: TrashbinActivity = activityRule.launchActivity(intent) - val sutScenario = ActivityScenario.launch(intent) - sutScenario.onActivity { sut -> - sut.intent = intent - val trashbinRepository = TrashbinLocalRepository(TestCase.EMPTY) - sut.trashbinPresenter = TrashbinPresenter(trashbinRepository, sut) - onIdleSync { - sut.runOnUiThread { sut.showUser() } - screenshot(sut) - } + val trashbinRepository = TrashbinLocalRepository(TestCase.EMPTY) + sut.trashbinPresenter = TrashbinPresenter(trashbinRepository, sut) + onIdleSync { + sut.runOnUiThread { sut.showUser() } + screenshot(sut) } } } diff --git a/scripts/updateScreenshots.sh b/scripts/updateScreenshots.sh index 8869ea6e11..7ec8be5de5 100755 --- a/scripts/updateScreenshots.sh +++ b/scripts/updateScreenshots.sh @@ -12,7 +12,7 @@ fi ## emulator if [[ ! $(emulator -list-avds | grep uiComparison -c) -eq 0 ]]; then avdmanager delete avd -n uiComparison - (sleep 5; echo "no") | avdmanager create avd -n uiComparison -c 100M -k "system-images;android-30;google_apis;x86" --abi "google_apis/x86" + (sleep 5; echo "no") | avdmanager create avd -n uiComparison -c 100M -k "system-images;android-27;google_apis;x86" --abi "google_apis/x86" fi if [ "$1" == "debug" ]; then