mirror of
https://github.com/hmalik144/Driver.git
synced 2025-12-10 02:45:20 +00:00
mid commit
This commit is contained in:
@@ -150,7 +150,7 @@ dependencies {
|
|||||||
implementation "org.kodein.di:kodein-di-generic-jvm:$kodein_version"
|
implementation "org.kodein.di:kodein-di-generic-jvm:$kodein_version"
|
||||||
implementation "org.kodein.di:kodein-di-framework-android-x:$kodein_version"
|
implementation "org.kodein.di:kodein-di-framework-android-x:$kodein_version"
|
||||||
/ * Image Carousal */
|
/ * Image Carousal */
|
||||||
implementation 'com.synnapps:carouselview:0.1.6'
|
implementation 'com.synnapps:carouselview:0.1.5'
|
||||||
/ * Glide */
|
/ * Glide */
|
||||||
implementation 'com.github.bumptech.glide:glide:4.12.0'
|
implementation 'com.github.bumptech.glide:glide:4.12.0'
|
||||||
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
|
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
|
||||||
@@ -162,4 +162,6 @@ dependencies {
|
|||||||
def retrofit_version = "2.9.0"
|
def retrofit_version = "2.9.0"
|
||||||
androidTestImplementation "com.squareup.retrofit2:retrofit:$retrofit_version"
|
androidTestImplementation "com.squareup.retrofit2:retrofit:$retrofit_version"
|
||||||
androidTestImplementation "com.squareup.retrofit2:converter-gson:$retrofit_version"
|
androidTestImplementation "com.squareup.retrofit2:converter-gson:$retrofit_version"
|
||||||
|
/ * Spoon screenshot library */
|
||||||
|
androidTestImplementation 'com.squareup.spoon:spoon-client:1.1.1'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package h_mal.appttude.com.driver
|
package h_mal.appttude.com.driver
|
||||||
|
|
||||||
|
import android.Manifest
|
||||||
|
import android.Manifest.permission.WRITE_EXTERNAL_STORAGE
|
||||||
import android.R
|
import android.R
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
@@ -8,6 +10,7 @@ import android.view.WindowManager
|
|||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import androidx.test.core.app.ActivityScenario
|
import androidx.test.core.app.ActivityScenario
|
||||||
import androidx.test.espresso.Espresso.onView
|
import androidx.test.espresso.Espresso.onView
|
||||||
|
import androidx.test.espresso.Espresso.setFailureHandler
|
||||||
import androidx.test.espresso.IdlingRegistry
|
import androidx.test.espresso.IdlingRegistry
|
||||||
import androidx.test.espresso.IdlingResource
|
import androidx.test.espresso.IdlingResource
|
||||||
import androidx.test.espresso.Root
|
import androidx.test.espresso.Root
|
||||||
@@ -19,8 +22,10 @@ import androidx.test.espresso.matcher.ViewMatchers.isRoot
|
|||||||
import androidx.test.espresso.matcher.ViewMatchers.withId
|
import androidx.test.espresso.matcher.ViewMatchers.withId
|
||||||
import androidx.test.espresso.matcher.ViewMatchers.withText
|
import androidx.test.espresso.matcher.ViewMatchers.withText
|
||||||
import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
|
import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
|
||||||
|
import androidx.test.rule.GrantPermissionRule
|
||||||
import h_mal.appttude.com.driver.base.BaseActivity
|
import h_mal.appttude.com.driver.base.BaseActivity
|
||||||
import h_mal.appttude.com.driver.helpers.BaseViewAction
|
import h_mal.appttude.com.driver.helpers.BaseViewAction
|
||||||
|
import h_mal.appttude.com.driver.helpers.SpoonFailureHandler
|
||||||
import org.hamcrest.CoreMatchers
|
import org.hamcrest.CoreMatchers
|
||||||
import org.hamcrest.Description
|
import org.hamcrest.Description
|
||||||
import org.hamcrest.Matcher
|
import org.hamcrest.Matcher
|
||||||
@@ -28,6 +33,7 @@ import org.hamcrest.TypeSafeMatcher
|
|||||||
import org.hamcrest.core.AllOf
|
import org.hamcrest.core.AllOf
|
||||||
import org.junit.After
|
import org.junit.After
|
||||||
import org.junit.Before
|
import org.junit.Before
|
||||||
|
import org.junit.Rule
|
||||||
|
|
||||||
|
|
||||||
open class BaseUiTest<T : BaseActivity<*, *>>(
|
open class BaseUiTest<T : BaseActivity<*, *>>(
|
||||||
@@ -39,8 +45,13 @@ open class BaseUiTest<T : BaseActivity<*, *>>(
|
|||||||
|
|
||||||
private lateinit var currentActivity: Activity
|
private lateinit var currentActivity: Activity
|
||||||
|
|
||||||
|
@JvmField
|
||||||
|
@Rule
|
||||||
|
var permissionWrite = GrantPermissionRule.grant(WRITE_EXTERNAL_STORAGE)
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
fun setup() {
|
fun setup() {
|
||||||
|
setFailureHandler(SpoonFailureHandler(getInstrumentation().targetContext))
|
||||||
beforeLaunch()
|
beforeLaunch()
|
||||||
mActivityScenarioRule = ActivityScenario.launch(activity)
|
mActivityScenarioRule = ActivityScenario.launch(activity)
|
||||||
mActivityScenarioRule.onActivity {
|
mActivityScenarioRule.onActivity {
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package h_mal.appttude.com.driver.helpers
|
||||||
|
|
||||||
|
import android.app.Activity
|
||||||
|
import android.content.Context
|
||||||
|
import android.view.View
|
||||||
|
import androidx.test.espresso.FailureHandler
|
||||||
|
import androidx.test.espresso.base.DefaultFailureHandler
|
||||||
|
import com.squareup.spoon.Spoon
|
||||||
|
import org.hamcrest.Matcher
|
||||||
|
|
||||||
|
|
||||||
|
class SpoonFailureHandler(targetContext: Context) : FailureHandler {
|
||||||
|
private val delegate: FailureHandler
|
||||||
|
private val context: Context
|
||||||
|
|
||||||
|
init {
|
||||||
|
delegate = DefaultFailureHandler(targetContext)
|
||||||
|
context = targetContext
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun handle(error: Throwable?, viewMatcher: Matcher<View?>?) {
|
||||||
|
delegate.handle(error, viewMatcher)
|
||||||
|
if (context is Activity) {
|
||||||
|
Spoon.screenshot(context, "error")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -46,6 +46,7 @@ class HomeAdminRobot : BaseTestRobot() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun showNoPermissionsDisplay() {
|
fun showNoPermissionsDisplay() {
|
||||||
|
matchViewWaitFor(R.id.header)
|
||||||
matchText(R.id.header, DatabaseStatus.NO_PERMISSION.header)
|
matchText(R.id.header, DatabaseStatus.NO_PERMISSION.header)
|
||||||
matchText(R.id.subtext, DatabaseStatus.NO_PERMISSION.subtext)
|
matchText(R.id.subtext, DatabaseStatus.NO_PERMISSION.subtext)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import h_mal.appttude.com.driver.robots.homeAdmin
|
|||||||
import h_mal.appttude.com.driver.robots.login
|
import h_mal.appttude.com.driver.robots.login
|
||||||
import h_mal.appttude.com.driver.ui.user.LoginActivity
|
import h_mal.appttude.com.driver.ui.user.LoginActivity
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
import java.io.IOException
|
||||||
|
|
||||||
class UserListTest : FirebaseTest<LoginActivity>(LoginActivity::class.java) {
|
class UserListTest : FirebaseTest<LoginActivity>(LoginActivity::class.java) {
|
||||||
|
|
||||||
@@ -30,6 +31,7 @@ class UserListTest : FirebaseTest<LoginActivity>(LoginActivity::class.java) {
|
|||||||
}
|
}
|
||||||
homeAdmin {
|
homeAdmin {
|
||||||
showNoPermissionsDisplay()
|
showNoPermissionsDisplay()
|
||||||
|
throw IOException("sadfasdfasdf")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||||
<application
|
<application
|
||||||
android:usesCleartextTraffic="true"
|
android:usesCleartextTraffic="true"
|
||||||
tools:ignore="MissingApplicationIcon" />
|
tools:ignore="MissingApplicationIcon" />
|
||||||
|
|||||||
Reference in New Issue
Block a user