Signed-off-by: alperozturk <alper_ozturk@proton.me>
This commit is contained in:
alperozturk 2024-07-08 13:28:19 +02:00 коммит произвёл Alper Öztürk
Родитель 1c36d50c51
Коммит 67e9f56f32
3 изменённых файлов: 43 добавлений и 61 удалений

2
.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

Просмотреть файл

@ -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<TrashbinActivity>? = null
val intent = Intent(ApplicationProvider.getApplicationContext(), TrashbinActivity::class.java)
@get:Rule
val activityRule = ActivityScenarioRule<TrashbinActivity>(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<TrashbinActivity>(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)
}
}
}

Просмотреть файл

@ -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