mirror of
https://github.com/nextcloud/android.git
synced 2024-11-29 02:38:58 +03:00
Fix
Signed-off-by: alperozturk <alper_ozturk@proton.me>
This commit is contained in:
parent
35fb0a1899
commit
58d104a100
1 changed files with 97 additions and 68 deletions
|
@ -8,11 +8,15 @@
|
||||||
package com.nextcloud.client
|
package com.nextcloud.client
|
||||||
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.test.espresso.Espresso
|
import androidx.annotation.UiThread
|
||||||
|
import androidx.test.core.app.launchActivity
|
||||||
|
import androidx.test.espresso.Espresso.onView
|
||||||
|
import androidx.test.espresso.IdlingRegistry
|
||||||
|
import androidx.test.espresso.assertion.ViewAssertions.matches
|
||||||
import androidx.test.espresso.contrib.DrawerActions
|
import androidx.test.espresso.contrib.DrawerActions
|
||||||
import androidx.test.espresso.intent.rule.IntentsTestRule
|
import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
|
||||||
|
import androidx.test.espresso.matcher.ViewMatchers.isRoot
|
||||||
import androidx.test.espresso.matcher.ViewMatchers.withId
|
import androidx.test.espresso.matcher.ViewMatchers.withId
|
||||||
import com.facebook.testing.screenshot.Screenshot
|
|
||||||
import com.owncloud.android.AbstractIT
|
import com.owncloud.android.AbstractIT
|
||||||
import com.owncloud.android.R
|
import com.owncloud.android.R
|
||||||
import com.owncloud.android.lib.resources.activities.model.Activity
|
import com.owncloud.android.lib.resources.activities.model.Activity
|
||||||
|
@ -21,65 +25,88 @@ import com.owncloud.android.lib.resources.activities.model.RichObject
|
||||||
import com.owncloud.android.lib.resources.activities.models.PreviewObject
|
import com.owncloud.android.lib.resources.activities.models.PreviewObject
|
||||||
import com.owncloud.android.lib.resources.status.OCCapability
|
import com.owncloud.android.lib.resources.status.OCCapability
|
||||||
import com.owncloud.android.ui.activities.ActivitiesActivity
|
import com.owncloud.android.ui.activities.ActivitiesActivity
|
||||||
|
import com.owncloud.android.utils.EspressoIdlingResource
|
||||||
import com.owncloud.android.utils.ScreenshotTest
|
import com.owncloud.android.utils.ScreenshotTest
|
||||||
import org.junit.Rule
|
import org.junit.After
|
||||||
|
import org.junit.Before
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import java.util.GregorianCalendar
|
import java.util.GregorianCalendar
|
||||||
|
|
||||||
class ActivitiesActivityIT : AbstractIT() {
|
class ActivitiesActivityIT : AbstractIT() {
|
||||||
@get:Rule
|
private val testClassName = "com.nextcloud.client.ActivitiesActivityIT"
|
||||||
var activityRule = IntentsTestRule(ActivitiesActivity::class.java, true, false)
|
|
||||||
|
@Before
|
||||||
|
fun registerIdlingResource() {
|
||||||
|
IdlingRegistry.getInstance().register(EspressoIdlingResource.countingIdlingResource)
|
||||||
|
}
|
||||||
|
|
||||||
|
@After
|
||||||
|
fun unregisterIdlingResource() {
|
||||||
|
IdlingRegistry.getInstance().unregister(EspressoIdlingResource.countingIdlingResource)
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@UiThread
|
||||||
@ScreenshotTest
|
@ScreenshotTest
|
||||||
fun openDrawer() {
|
fun openDrawer() {
|
||||||
val sut = activityRule.launchActivity(null)
|
launchActivity<ActivitiesActivity>().use { scenario ->
|
||||||
shortSleep()
|
scenario.onActivity { sut ->
|
||||||
Espresso.onView(withId(R.id.drawer_layout)).perform(DrawerActions.open())
|
onIdleSync {
|
||||||
sut.runOnUiThread {
|
EspressoIdlingResource.increment()
|
||||||
sut.dismissSnackbar()
|
onView(withId(R.id.drawer_layout)).perform(DrawerActions.open())
|
||||||
}
|
sut.dismissSnackbar()
|
||||||
shortSleep()
|
EspressoIdlingResource.decrement()
|
||||||
waitForIdleSync()
|
val screenShotName = createName(testClassName + "_" + "openDrawer", "")
|
||||||
screenshot(sut)
|
onView(isRoot()).check(matches(isDisplayed()))
|
||||||
}
|
screenshotViaName(sut, screenShotName)
|
||||||
|
}
|
||||||
@Test
|
|
||||||
@ScreenshotTest
|
|
||||||
fun loading() {
|
|
||||||
val sut: ActivitiesActivity = activityRule.launchActivity(null).apply {
|
|
||||||
runOnUiThread {
|
|
||||||
dismissSnackbar()
|
|
||||||
binding.emptyList.root.visibility = View.GONE
|
|
||||||
binding.swipeContainingList.visibility = View.GONE
|
|
||||||
binding.loadingContent.visibility = View.VISIBLE
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
shortSleep()
|
|
||||||
waitForIdleSync()
|
|
||||||
|
|
||||||
Screenshot.snap(sut.binding.loadingContent).record()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@UiThread
|
||||||
|
@ScreenshotTest
|
||||||
|
fun loading() {
|
||||||
|
launchActivity<ActivitiesActivity>().use { scenario ->
|
||||||
|
scenario.onActivity { sut ->
|
||||||
|
onIdleSync {
|
||||||
|
EspressoIdlingResource.increment()
|
||||||
|
sut.dismissSnackbar()
|
||||||
|
sut.binding.emptyList.root.visibility = View.GONE
|
||||||
|
sut.binding.swipeContainingList.visibility = View.GONE
|
||||||
|
sut.binding.loadingContent.visibility = View.VISIBLE
|
||||||
|
EspressoIdlingResource.decrement()
|
||||||
|
val screenShotName = createName(testClassName + "_" + "loading", "")
|
||||||
|
onView(isRoot()).check(matches(isDisplayed()))
|
||||||
|
screenshotViaName(sut, screenShotName)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@UiThread
|
||||||
@ScreenshotTest
|
@ScreenshotTest
|
||||||
fun empty() {
|
fun empty() {
|
||||||
val sut: ActivitiesActivity = activityRule.launchActivity(null)
|
launchActivity<ActivitiesActivity>().use { scenario ->
|
||||||
|
scenario.onActivity { sut ->
|
||||||
sut.runOnUiThread {
|
onIdleSync {
|
||||||
sut.showActivities(mutableListOf(), nextcloudClient, -1)
|
EspressoIdlingResource.increment()
|
||||||
sut.setProgressIndicatorState(false)
|
sut.showActivities(mutableListOf(), nextcloudClient, -1)
|
||||||
sut.dismissSnackbar()
|
sut.setProgressIndicatorState(false)
|
||||||
|
sut.dismissSnackbar()
|
||||||
|
EspressoIdlingResource.decrement()
|
||||||
|
val screenShotName = createName(testClassName + "_" + "empty", "")
|
||||||
|
onView(isRoot()).check(matches(isDisplayed()))
|
||||||
|
screenshotViaName(sut, screenShotName)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
shortSleep()
|
|
||||||
waitForIdleSync()
|
|
||||||
|
|
||||||
screenshot(sut)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@UiThread
|
||||||
@ScreenshotTest
|
@ScreenshotTest
|
||||||
@SuppressWarnings("MagicNumber")
|
@SuppressWarnings("MagicNumber")
|
||||||
fun showActivities() {
|
fun showActivities() {
|
||||||
|
@ -87,8 +114,6 @@ class ActivitiesActivityIT : AbstractIT() {
|
||||||
capability.versionMayor = 20
|
capability.versionMayor = 20
|
||||||
fileDataStorageManager.saveCapabilities(capability)
|
fileDataStorageManager.saveCapabilities(capability)
|
||||||
|
|
||||||
val sut: ActivitiesActivity = activityRule.launchActivity(null)
|
|
||||||
|
|
||||||
val date = GregorianCalendar()
|
val date = GregorianCalendar()
|
||||||
date.set(2005, 4, 17, 10, 35, 30) // random date
|
date.set(2005, 4, 17, 10, 35, 30) // random date
|
||||||
|
|
||||||
|
@ -136,7 +161,7 @@ class ActivitiesActivityIT : AbstractIT() {
|
||||||
"calendar",
|
"calendar",
|
||||||
"35",
|
"35",
|
||||||
"",
|
"",
|
||||||
ArrayList<PreviewObject>(),
|
ArrayList(),
|
||||||
RichElement()
|
RichElement()
|
||||||
),
|
),
|
||||||
Activity(
|
Activity(
|
||||||
|
@ -159,35 +184,39 @@ class ActivitiesActivityIT : AbstractIT() {
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
sut.runOnUiThread {
|
launchActivity<ActivitiesActivity>().use { scenario ->
|
||||||
sut.showActivities(activities as List<Any>?, nextcloudClient, -1)
|
scenario.onActivity { sut ->
|
||||||
sut.setProgressIndicatorState(false)
|
onIdleSync {
|
||||||
sut.dismissSnackbar()
|
EspressoIdlingResource.increment()
|
||||||
|
sut.showActivities(activities as List<Any>?, nextcloudClient, -1)
|
||||||
|
sut.setProgressIndicatorState(false)
|
||||||
|
sut.dismissSnackbar()
|
||||||
|
EspressoIdlingResource.decrement()
|
||||||
|
val screenShotName = createName(testClassName + "_" + "showActivities", "")
|
||||||
|
onView(isRoot()).check(matches(isDisplayed()))
|
||||||
|
screenshotViaName(sut, screenShotName)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
longSleep()
|
|
||||||
waitForIdleSync()
|
|
||||||
|
|
||||||
screenshot(sut)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@UiThread
|
||||||
@ScreenshotTest
|
@ScreenshotTest
|
||||||
fun error() {
|
fun error() {
|
||||||
val sut: ActivitiesActivity = activityRule.launchActivity(null)
|
launchActivity<ActivitiesActivity>().use { scenario ->
|
||||||
|
scenario.onActivity { sut ->
|
||||||
shortSleep()
|
onIdleSync {
|
||||||
|
EspressoIdlingResource.increment()
|
||||||
sut.runOnUiThread {
|
sut.showEmptyContent("Error", "Error! Please try again later!")
|
||||||
sut.showEmptyContent("Error", "Error! Please try again later!")
|
sut.setProgressIndicatorState(false)
|
||||||
sut.setProgressIndicatorState(false)
|
sut.dismissSnackbar()
|
||||||
sut.dismissSnackbar()
|
EspressoIdlingResource.decrement()
|
||||||
|
val screenShotName = createName(testClassName + "_" + "error", "")
|
||||||
|
onView(isRoot()).check(matches(isDisplayed()))
|
||||||
|
screenshotViaName(sut, screenShotName)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
shortSleep()
|
|
||||||
shortSleep()
|
|
||||||
waitForIdleSync()
|
|
||||||
|
|
||||||
screenshot(sut)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue