mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-06 01:08:50 -06:00
Fix UI test for settings screen
This commit is contained in:
@@ -43,10 +43,20 @@ dependencies {
|
|||||||
compile files('libs/ActiveAndroid.jar')
|
compile files('libs/ActiveAndroid.jar')
|
||||||
|
|
||||||
androidTestCompile 'com.android.support:support-annotations:23.2.1'
|
androidTestCompile 'com.android.support:support-annotations:23.2.1'
|
||||||
androidTestCompile 'com.android.support.test:runner:0.4.1'
|
androidTestCompile 'com.android.support.test:runner:0.5'
|
||||||
androidTestCompile 'com.android.support.test:rules:0.4.1'
|
androidTestCompile 'com.android.support.test:rules:0.5'
|
||||||
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
|
|
||||||
androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.1'
|
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.1') {
|
||||||
|
exclude group: 'com.android.support'
|
||||||
|
}
|
||||||
|
|
||||||
|
androidTestCompile('com.android.support.test.espresso:espresso-intents:2.2.1') {
|
||||||
|
exclude group: 'com.android.support'
|
||||||
|
}
|
||||||
|
|
||||||
|
androidTestCompile('com.android.support.test.espresso:espresso-contrib:2.2.1') {
|
||||||
|
exclude group: 'com.android.support'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -20,9 +20,8 @@
|
|||||||
package org.isoron.uhabits.ui;
|
package org.isoron.uhabits.ui;
|
||||||
|
|
||||||
import android.support.test.espresso.NoMatchingViewException;
|
import android.support.test.espresso.NoMatchingViewException;
|
||||||
import android.view.View;
|
import android.support.test.espresso.contrib.RecyclerViewActions;
|
||||||
|
|
||||||
import org.hamcrest.Matcher;
|
|
||||||
import org.isoron.uhabits.R;
|
import org.isoron.uhabits.R;
|
||||||
import org.isoron.uhabits.models.Habit;
|
import org.isoron.uhabits.models.Habit;
|
||||||
|
|
||||||
@@ -40,7 +39,7 @@ import static android.support.test.espresso.action.ViewActions.replaceText;
|
|||||||
import static android.support.test.espresso.assertion.ViewAssertions.matches;
|
import static android.support.test.espresso.assertion.ViewAssertions.matches;
|
||||||
import static android.support.test.espresso.matcher.RootMatchers.isPlatformPopup;
|
import static android.support.test.espresso.matcher.RootMatchers.isPlatformPopup;
|
||||||
import static android.support.test.espresso.matcher.ViewMatchers.Visibility.VISIBLE;
|
import static android.support.test.espresso.matcher.ViewMatchers.Visibility.VISIBLE;
|
||||||
import static android.support.test.espresso.matcher.ViewMatchers.isCompletelyDisplayed;
|
import static android.support.test.espresso.matcher.ViewMatchers.hasDescendant;
|
||||||
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
|
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||||
import static android.support.test.espresso.matcher.ViewMatchers.withClassName;
|
import static android.support.test.espresso.matcher.ViewMatchers.withClassName;
|
||||||
import static android.support.test.espresso.matcher.ViewMatchers.withContentDescription;
|
import static android.support.test.espresso.matcher.ViewMatchers.withContentDescription;
|
||||||
@@ -59,9 +58,6 @@ import static org.isoron.uhabits.ui.HabitMatchers.withName;
|
|||||||
|
|
||||||
public class MainActivityActions
|
public class MainActivityActions
|
||||||
{
|
{
|
||||||
private static final Matcher<View> OVERFLOW_BUTTON_MATCHER =
|
|
||||||
allOf(isCompletelyDisplayed(), withContentDescription("More options"));
|
|
||||||
|
|
||||||
public static String addHabit()
|
public static String addHabit()
|
||||||
{
|
{
|
||||||
return addHabit(false);
|
return addHabit(false);
|
||||||
@@ -218,4 +214,12 @@ public class MainActivityActions
|
|||||||
|
|
||||||
onView(withText(stringId)).perform(click());
|
onView(withText(stringId)).perform(click());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void clickSettingsItem(String text)
|
||||||
|
{
|
||||||
|
onView(withClassName(containsString("RecyclerView")))
|
||||||
|
.perform(RecyclerViewActions.actionOnItem(
|
||||||
|
hasDescendant(withText(containsString(text))),
|
||||||
|
click()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -67,7 +67,6 @@ import static org.hamcrest.Matchers.equalTo;
|
|||||||
import static org.hamcrest.Matchers.instanceOf;
|
import static org.hamcrest.Matchers.instanceOf;
|
||||||
import static org.hamcrest.Matchers.is;
|
import static org.hamcrest.Matchers.is;
|
||||||
import static org.hamcrest.Matchers.startsWith;
|
import static org.hamcrest.Matchers.startsWith;
|
||||||
import static org.isoron.uhabits.ui.HabitMatchers.isPreferenceWithText;
|
|
||||||
import static org.isoron.uhabits.ui.HabitMatchers.withName;
|
import static org.isoron.uhabits.ui.HabitMatchers.withName;
|
||||||
import static org.isoron.uhabits.ui.HabitViewActions.clickAtRandomLocations;
|
import static org.isoron.uhabits.ui.HabitViewActions.clickAtRandomLocations;
|
||||||
import static org.isoron.uhabits.ui.HabitViewActions.toggleAllCheckmarks;
|
import static org.isoron.uhabits.ui.HabitViewActions.toggleAllCheckmarks;
|
||||||
@@ -76,6 +75,7 @@ import static org.isoron.uhabits.ui.MainActivityActions.assertHabitExists;
|
|||||||
import static org.isoron.uhabits.ui.MainActivityActions.assertHabitsDontExist;
|
import static org.isoron.uhabits.ui.MainActivityActions.assertHabitsDontExist;
|
||||||
import static org.isoron.uhabits.ui.MainActivityActions.assertHabitsExist;
|
import static org.isoron.uhabits.ui.MainActivityActions.assertHabitsExist;
|
||||||
import static org.isoron.uhabits.ui.MainActivityActions.clickMenuItem;
|
import static org.isoron.uhabits.ui.MainActivityActions.clickMenuItem;
|
||||||
|
import static org.isoron.uhabits.ui.MainActivityActions.clickSettingsItem;
|
||||||
import static org.isoron.uhabits.ui.MainActivityActions.deleteHabit;
|
import static org.isoron.uhabits.ui.MainActivityActions.deleteHabit;
|
||||||
import static org.isoron.uhabits.ui.MainActivityActions.deleteHabits;
|
import static org.isoron.uhabits.ui.MainActivityActions.deleteHabits;
|
||||||
import static org.isoron.uhabits.ui.MainActivityActions.selectHabit;
|
import static org.isoron.uhabits.ui.MainActivityActions.selectHabit;
|
||||||
@@ -303,13 +303,13 @@ public class MainTest
|
|||||||
String date = DateHelper.getBackupDateFormat().format(DateHelper.getLocalTime());
|
String date = DateHelper.getBackupDateFormat().format(DateHelper.getLocalTime());
|
||||||
date = date.substring(0, date.length() - 2);
|
date = date.substring(0, date.length() - 2);
|
||||||
|
|
||||||
onData(isPreferenceWithText("Export full backup")).perform(click());
|
clickSettingsItem("Export full backup");
|
||||||
intended(hasAction(Intent.ACTION_SEND));
|
intended(hasAction(Intent.ACTION_SEND));
|
||||||
|
|
||||||
deleteHabit(name);
|
deleteHabit(name);
|
||||||
|
|
||||||
clickMenuItem(R.string.settings);
|
clickMenuItem(R.string.settings);
|
||||||
onData(isPreferenceWithText("Import data")).perform(click());
|
clickSettingsItem("Import data");
|
||||||
|
|
||||||
onData(allOf(is(instanceOf(String.class)), startsWith("Backups")))
|
onData(allOf(is(instanceOf(String.class)), startsWith("Backups")))
|
||||||
.perform(click());
|
.perform(click());
|
||||||
@@ -329,7 +329,7 @@ public class MainTest
|
|||||||
{
|
{
|
||||||
addHabit();
|
addHabit();
|
||||||
clickMenuItem(R.string.settings);
|
clickMenuItem(R.string.settings);
|
||||||
onData(isPreferenceWithText("Export as CSV")).perform(click());
|
clickSettingsItem("Export as CSV");
|
||||||
intended(hasAction(Intent.ACTION_SEND));
|
intended(hasAction(Intent.ACTION_SEND));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -340,7 +340,7 @@ public class MainTest
|
|||||||
public void testGenerateBugReport()
|
public void testGenerateBugReport()
|
||||||
{
|
{
|
||||||
clickMenuItem(R.string.settings);
|
clickMenuItem(R.string.settings);
|
||||||
onData(isPreferenceWithText("Generate bug report")).perform(click());
|
clickSettingsItem("Generate bug report");
|
||||||
intended(hasAction(Intent.ACTION_SENDTO));
|
intended(hasAction(Intent.ACTION_SENDTO));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user