Fix UI tests (#3297)

This commit is contained in:
Vivek Maskara 2019-12-17 16:54:41 +05:30 committed by neslihanturan
parent 458b497a6c
commit a8ee5bd201
3 changed files with 26 additions and 11 deletions

View file

@ -8,7 +8,7 @@ import androidx.test.espresso.NoMatchingViewException
import androidx.test.espresso.action.ViewActions
import androidx.test.espresso.matcher.ViewMatchers
import androidx.test.rule.ActivityTestRule
import fr.free.nrw.commons.utils.StringUtils
import org.apache.commons.lang3.StringUtils
import timber.log.Timber
class UITestHelper {
@ -27,6 +27,7 @@ class UITestHelper {
//Perform Login
onView(ViewMatchers.withId(R.id.login_username))
.perform(ViewActions.clearText(), ViewActions.typeText(getTestUsername()))
closeSoftKeyboard()
onView(ViewMatchers.withId(R.id.login_password))
.perform(ViewActions.clearText(), ViewActions.typeText(getTestUserPassword()))
closeSoftKeyboard()
@ -49,14 +50,14 @@ class UITestHelper {
private fun getTestUsername(): String {
val username = BuildConfig.TEST_USERNAME
if (StringUtils.isNullOrWhiteSpace(username) || username == "null") {
if (StringUtils.isEmpty(username) || username == "null") {
throw NotImplementedError("Configure your beta account's username")
} else return username
}
private fun getTestUserPassword(): String {
val password = BuildConfig.TEST_PASSWORD
if (StringUtils.isNullOrWhiteSpace(password) || password == "null") {
if (StringUtils.isEmpty(password) || password == "null") {
throw NotImplementedError("Configure your beta account's password")
} else return password
}

View file

@ -141,28 +141,38 @@ class UploadTest {
.perform(click())
} catch (ignored: NoMatchingViewException) {}
onView(allOf<View>(withId(R.id.description_item_edit_text), withParent(withParent(withId(R.id.image_title_container)))))
onView(allOf<View>(isDisplayed(), withId(R.id.et_title)))
.perform(replaceText(commonsFileName))
onView(withId(R.id.bottom_card_next))
onView(allOf<View>(isDisplayed(), withId(R.id.description_item_edit_text)))
.perform(replaceText(commonsFileName))
onView(allOf(isDisplayed(), withId(R.id.btn_next)))
.perform(click())
try {
onView(withText("Yes"))
.check(matches(isDisplayed()))
.perform(click())
} catch (ignored: NoMatchingViewException) {}
UITestHelper.sleep(1000)
onView(withId(R.id.category_search))
onView(allOf(isDisplayed(), withId(R.id.et_search)))
.perform(replaceText("Uploaded with Mobile/Android Tests"))
UITestHelper.sleep(3000)
onView(withParent(withId(R.id.categories)))
onView(allOf(isDisplayed(), withParent(withId(R.id.rv_categories))))
.perform(click())
onView(withId(R.id.category_next))
onView(allOf(isDisplayed(), withId(R.id.btn_next)))
.perform(click())
UITestHelper.sleep(500)
onView(withId(R.id.submit))
onView(allOf(isDisplayed(), withId(R.id.btn_submit)))
.perform(click())
UITestHelper.sleep(10000)

View file

@ -484,7 +484,11 @@ public class UploadActivity extends BaseActivity implements UploadContract.View,
super.onDestroy();
presenter.onDetachView();
compositeDisposable.clear();
if (mediaLicenseFragment != null) {
mediaLicenseFragment.setCallback(null);
}
if (uploadCategoriesFragment != null) {
uploadCategoriesFragment.setCallback(null);
}
}
}