mirror of
https://github.com/hmalik144/Driver.git
synced 2025-12-10 02:45:20 +00:00
mid commit
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package h_mal.appttude.com.driver
|
||||
|
||||
import android.graphics.drawable.BitmapDrawable
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.view.View
|
||||
import android.widget.EditText
|
||||
import android.widget.ImageView
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package h_mal.appttude.com.driver
|
||||
|
||||
import androidx.annotation.IdRes
|
||||
import androidx.test.espresso.Espresso.onView
|
||||
import androidx.test.espresso.action.ViewActions.click
|
||||
import androidx.test.espresso.matcher.ViewMatchers.withId
|
||||
@@ -19,7 +20,6 @@ open class FormRobot : BaseTestRobot() {
|
||||
selectSingleImageFromGallery(filePath) {
|
||||
onView(withId(imagePickerLauncherViewId)).perform(click())
|
||||
}
|
||||
// click ok in date picker
|
||||
}
|
||||
|
||||
fun selectMultipleImage(imagePickerLauncherViewId: Int, filePaths: Array<String>) {
|
||||
@@ -28,6 +28,12 @@ open class FormRobot : BaseTestRobot() {
|
||||
}
|
||||
}
|
||||
|
||||
fun assertEmptyForm(@IdRes vararg ids: Int) {
|
||||
ids.forEach {
|
||||
matchText(it, "")
|
||||
}
|
||||
}
|
||||
|
||||
enum class FilePath(val path: String) {
|
||||
PROFILE_PIC("driver_profile_pic.jpg"),
|
||||
INSURANCE("driver_insurance.jpg"),
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package h_mal.appttude.com.driver.model
|
||||
|
||||
import java.time.LocalDate
|
||||
|
||||
data class Date(
|
||||
val dayOfMonth: Int,
|
||||
val monthOfYear: Int,
|
||||
val year: Int
|
||||
) {
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun now(): Date {
|
||||
val date = LocalDate.now()
|
||||
return Date(date.dayOfMonth, date.month.value, date.year)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -19,6 +19,11 @@ class DriversLicenseRobot : FormRobot() {
|
||||
submit()
|
||||
}
|
||||
|
||||
fun validateEmptyPage() {
|
||||
assertEmptyForm(R.id.lic_no, R.id.lic_expiry)
|
||||
// Todo: assert imageview has default image
|
||||
}
|
||||
|
||||
fun validate() {
|
||||
checkImageViewHasImage(R.id.driversli_img)
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package h_mal.appttude.com.driver.robots.driver
|
||||
|
||||
import h_mal.appttude.com.driver.FormRobot
|
||||
import h_mal.appttude.com.driver.R
|
||||
import h_mal.appttude.com.driver.model.Date
|
||||
|
||||
fun driversProfile(func: DriversProfileRobot.() -> Unit) = DriversProfileRobot().apply { func() }
|
||||
class DriversProfileRobot : FormRobot() {
|
||||
@@ -10,9 +11,10 @@ class DriversProfileRobot : FormRobot() {
|
||||
fun enterAddress(address: String) = fillEditText(R.id.address_input, address)
|
||||
fun enterPostcode(postcode: String) = fillEditText(R.id.postcode_input, postcode)
|
||||
fun enterDateOfBirth(dob: String) = fillEditText(R.id.dob_input, dob)
|
||||
fun enterDateOfBirth(dob: Date) = setDate(R.id.dob_input, dob.year, dob.monthOfYear, dob.dayOfMonth)
|
||||
fun enterNINumber(niNumber: String) = fillEditText(R.id.ni_number, niNumber)
|
||||
fun enterDateFirstAvailable(year: Int, monthOfYear: Int, dayOfMonth: Int) =
|
||||
setDate(R.id.date_first, year, monthOfYear, dayOfMonth)
|
||||
fun enterDateFirstAvailable(date: Date) =
|
||||
setDate(R.id.date_first, date.year, date.monthOfYear, date.dayOfMonth)
|
||||
|
||||
fun selectImage() = selectSingleImage(R.id.add_photo, FilePath.PROFILE_PIC)
|
||||
|
||||
@@ -20,11 +22,9 @@ class DriversProfileRobot : FormRobot() {
|
||||
name: String,
|
||||
address: String,
|
||||
postcode: String,
|
||||
dob: String,
|
||||
dob: Date,
|
||||
niNumber: String,
|
||||
year: Int,
|
||||
monthOfYear: Int,
|
||||
dayOfMonth: Int
|
||||
firstDateAvailable: Date
|
||||
) {
|
||||
selectImage()
|
||||
enterName(name)
|
||||
@@ -32,7 +32,7 @@ class DriversProfileRobot : FormRobot() {
|
||||
enterPostcode(postcode)
|
||||
enterDateOfBirth(dob)
|
||||
enterNINumber(niNumber)
|
||||
enterDateFirstAvailable(year, monthOfYear, dayOfMonth)
|
||||
enterDateFirstAvailable(firstDateAvailable)
|
||||
submit()
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,17 @@
|
||||
package h_mal.appttude.com.driver.tests.newUser
|
||||
|
||||
|
||||
import androidx.test.espresso.Espresso
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import androidx.test.filters.LargeTest
|
||||
import androidx.test.rule.GrantPermissionRule
|
||||
import h_mal.appttude.com.driver.FirebaseTest
|
||||
import h_mal.appttude.com.driver.R
|
||||
import h_mal.appttude.com.driver.model.Date
|
||||
import h_mal.appttude.com.driver.robots.*
|
||||
import h_mal.appttude.com.driver.robots.driver.driversLicense
|
||||
import h_mal.appttude.com.driver.robots.driver.driversProfile
|
||||
import h_mal.appttude.com.driver.robots.driver.privateHireLicenseRobot
|
||||
import h_mal.appttude.com.driver.ui.MainActivity
|
||||
import org.junit.*
|
||||
import org.junit.runner.RunWith
|
||||
@@ -23,21 +27,50 @@ class SubmitNewDataActivityTest :
|
||||
GrantPermissionRule.grant(android.Manifest.permission.READ_EXTERNAL_STORAGE)
|
||||
|
||||
@Test
|
||||
fun verifyUserRegistration_validUsernameAndPassword_loggedIn() {
|
||||
fun newUser_submitDriversDocuments_documentsSubmitted() {
|
||||
home {
|
||||
waitFor(2500)
|
||||
checkTitleExists(getResourceString(R.string.welcome_title))
|
||||
requestProfile()
|
||||
openDriverProfile()
|
||||
}
|
||||
// Submit drivers license
|
||||
driverScreen {
|
||||
driverLicense()
|
||||
}
|
||||
driversLicense {
|
||||
validateEmptyPage()
|
||||
waitFor(5000)
|
||||
submitForm("SAMPLE8456310LTU", 2022, 10, 2)
|
||||
|
||||
}
|
||||
|
||||
// Todo: validate successful submission
|
||||
Espresso.pressBack()
|
||||
}
|
||||
// Submit drivers profile
|
||||
driverScreen {
|
||||
driverProfile()
|
||||
}
|
||||
driversProfile {
|
||||
// todo: validate empty page
|
||||
submitForm(
|
||||
name = "Basic Driver",
|
||||
address = "123A Random Street, Suburb, County",
|
||||
postcode = "AB12 3CD",
|
||||
dob = Date(12, 12, 1989),
|
||||
niNumber = "AB123456C",
|
||||
firstDateAvailable = Date.now()
|
||||
)
|
||||
// Todo: validate successful submission
|
||||
Espresso.pressBack()
|
||||
}
|
||||
driverScreen {
|
||||
privateHireLicense()
|
||||
}
|
||||
privateHireLicenseRobot {
|
||||
// todo: validate empty page
|
||||
submitForm("SAMPLE8456310LTU", 2022, 10, 2)
|
||||
// Todo: validate successful submission
|
||||
Espresso.pressBack()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user