summaryrefslogtreecommitdiff
path: root/app/src/androidTest/java/de/test/antennapod/ui/DialogsTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/androidTest/java/de/test/antennapod/ui/DialogsTest.java')
-rw-r--r--app/src/androidTest/java/de/test/antennapod/ui/DialogsTest.java93
1 files changed, 93 insertions, 0 deletions
diff --git a/app/src/androidTest/java/de/test/antennapod/ui/DialogsTest.java b/app/src/androidTest/java/de/test/antennapod/ui/DialogsTest.java
new file mode 100644
index 000000000..c6133c59c
--- /dev/null
+++ b/app/src/androidTest/java/de/test/antennapod/ui/DialogsTest.java
@@ -0,0 +1,93 @@
+package de.test.antennapod.ui;
+
+import android.content.Intent;
+import android.view.View;
+import androidx.test.espresso.Espresso;
+import androidx.test.espresso.contrib.RecyclerViewActions;
+import androidx.test.espresso.intent.rule.IntentsTestRule;
+import androidx.test.runner.AndroidJUnit4;
+import de.danoeh.antennapod.R;
+import de.danoeh.antennapod.activity.MainActivity;
+import de.danoeh.antennapod.fragment.AddFeedFragment;
+import de.danoeh.antennapod.fragment.DownloadsFragment;
+import de.danoeh.antennapod.fragment.QueueFragment;
+import de.danoeh.antennapod.fragment.SubscriptionFragment;
+import de.test.antennapod.EspressoTestUtils;
+import org.hamcrest.Matcher;
+import org.hamcrest.Matchers;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.action.ViewActions.clearText;
+import static androidx.test.espresso.action.ViewActions.click;
+import static androidx.test.espresso.action.ViewActions.typeText;
+import static androidx.test.espresso.assertion.ViewAssertions.matches;
+import static androidx.test.espresso.matcher.RootMatchers.isDialog;
+import static androidx.test.espresso.matcher.ViewMatchers.isDescendantOfA;
+import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
+import static androidx.test.espresso.matcher.ViewMatchers.isRoot;
+import static androidx.test.espresso.matcher.ViewMatchers.withClassName;
+import static androidx.test.espresso.matcher.ViewMatchers.withContentDescription;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static androidx.test.espresso.matcher.ViewMatchers.withText;
+import static de.test.antennapod.EspressoTestUtils.waitForView;
+import static de.test.antennapod.NthMatcher.first;
+import static org.hamcrest.CoreMatchers.allOf;
+import static org.hamcrest.CoreMatchers.endsWith;
+
+/**
+ * User interface tests for queue fragment.
+ */
+@RunWith(AndroidJUnit4.class)
+public class DialogsTest {
+
+ @Rule
+ public IntentsTestRule<MainActivity> activityRule = new IntentsTestRule<>(MainActivity.class, false, false);
+
+ @Before
+ public void setUp() throws InterruptedException {
+ EspressoTestUtils.clearPreferences();
+ EspressoTestUtils.clearDatabase();
+ EspressoTestUtils.setLastNavFragment(AddFeedFragment.TAG);
+ activityRule.launchActivity(new Intent());
+
+ String url = "https://omny.fm/shows/silence-is-not-an-option/why-not-being-racist-is-not-enough";
+
+ onView(withId(R.id.btn_add_via_url)).perform(click());
+ onView(withId(R.id.text)).perform(clearText(), typeText(url));
+ onView(withText(R.string.confirm_label)).inRoot(isDialog())
+ .check(matches(isDisplayed()))
+ .perform(click());
+ Thread.sleep(5000);
+ onView(withId(R.id.butSubscribe)).perform(click());
+ Thread.sleep(5000);
+ onView(withId(R.id.recyclerView))
+ .perform(RecyclerViewActions.actionOnItemAtPosition(0, click()));
+ Thread.sleep(3000);
+ onView(first(EspressoTestUtils.actionBarOverflow())).perform(click());
+ }
+
+ @Test
+ public void testShareDialogDisplayed() {
+ onView(withText(R.string.share_label)).perform(click());
+ onView(withText(R.string.share_episode_label)).check(matches(isDisplayed()));
+ }
+
+ @Test
+ public void testShareDialogShareButton() throws InterruptedException {
+ onView(withText(R.string.share_label)).perform(click());
+ onView(withText(R.string.share_label)).check(matches(isDisplayed()));
+ onView(withText(R.string.share_label)).perform(click());
+ Thread.sleep(3000);
+ }
+
+ @Test
+ public void testShareDialogCancelButton() {
+ onView(withText(R.string.share_label)).perform(click());
+ onView(withText(R.string.cancel_label)).check(matches(isDisplayed()));
+ }
+
+}