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

View file

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

View file

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