From ac6e15ce4413892b40af698a6ff07a36fc55db22 Mon Sep 17 00:00:00 2001 From: Jonas Kalderstam Date: Sat, 3 Sep 2016 14:43:44 +0200 Subject: [PATCH] Add test for ftp picker --- .../filepicker/sample/FtpPicker.java | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 sample/src/androidTest/java/com/nononsenseapps/filepicker/sample/FtpPicker.java diff --git a/sample/src/androidTest/java/com/nononsenseapps/filepicker/sample/FtpPicker.java b/sample/src/androidTest/java/com/nononsenseapps/filepicker/sample/FtpPicker.java new file mode 100644 index 0000000..8594b17 --- /dev/null +++ b/sample/src/androidTest/java/com/nononsenseapps/filepicker/sample/FtpPicker.java @@ -0,0 +1,73 @@ +package com.nononsenseapps.filepicker.sample; + + +import android.support.test.espresso.ViewInteraction; +import android.support.test.espresso.action.ViewActions; +import android.support.test.rule.ActivityTestRule; +import android.support.test.runner.AndroidJUnit4; +import android.test.suitebuilder.annotation.LargeTest; + +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; + +import java.io.IOException; + +import static android.support.test.espresso.Espresso.onView; +import static android.support.test.espresso.action.ViewActions.click; +import static android.support.test.espresso.action.ViewActions.replaceText; +import static android.support.test.espresso.assertion.ViewAssertions.matches; +import static android.support.test.espresso.contrib.RecyclerViewActions.actionOnItemAtPosition; +import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; +import static android.support.test.espresso.matcher.ViewMatchers.withId; +import static android.support.test.espresso.matcher.ViewMatchers.withParent; +import static android.support.test.espresso.matcher.ViewMatchers.withText; +import static com.nononsenseapps.filepicker.sample.PermissionGranter.allowPermissionsIfNeeded; +import static org.hamcrest.Matchers.allOf; + +@LargeTest +@RunWith(AndroidJUnit4.class) +public class FtpPicker { + + @Rule + public ActivityTestRule mActivityTestRule = + new ActivityTestRule<>(NoNonsenseFilePickerTest.class); + + @Before + public void allowPermissions() { + allowPermissionsIfNeeded(mActivityTestRule.getActivity()); + } + + @Test + public void selectDir() throws IOException { + ViewInteraction radioButton = onView( + allOf(withId(R.id.radioDir), withText("Select directory"), + withParent(withId(R.id.radioGroup)), + isDisplayed())); + radioButton.perform(click()); + + onView(withId(R.id.button_ftp)).perform(ViewActions.scrollTo()); + + ViewInteraction button = onView( + allOf(withId(R.id.button_ftp), isDisplayed())); + button.perform(click()); + + ViewInteraction recyclerView = onView( + allOf(withId(android.R.id.list), isDisplayed())); + + // press pub + recyclerView.perform(actionOnItemAtPosition(1, click())); + + ViewInteraction okButton = onView( + allOf(withId(R.id.nnf_button_ok), + withParent(allOf(withId(R.id.nnf_button_container), + withParent(withId(R.id.nnf_buttons_container)))), + isDisplayed())); + // Click ok + okButton.perform(click()); + + ViewInteraction textView = onView(withId(R.id.text)); + textView.check(matches(withText("ftp://anonymous:anonymous@debian.simnet.is:21/pub"))); + } +}