package io.github.marktony.espresso.packages; import android.support.test.filters.LargeTest; import android.support.test.rule.ActivityTestRule; import android.support.test.runner.AndroidJUnit4; import android.view.Gravity; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import io.github.marktony.espresso.R; import io.github.marktony.espresso.mvp.packages.MainActivity; import static android.support.test.espresso.Espresso.onView; import static android.support.test.espresso.assertion.ViewAssertions.matches; import static android.support.test.espresso.contrib.DrawerActions.open; import static android.support.test.espresso.contrib.DrawerMatchers.isClosed; import static android.support.test.espresso.contrib.NavigationViewActions.navigateTo; import static android.support.test.espresso.matcher.ViewMatchers.isClickable; import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; import static android.support.test.espresso.matcher.ViewMatchers.withId; /** * Created by lizhaotailang on 2017/5/12. * The tests for {@link io.github.marktony.espresso.mvp.packages.PackagesFragment}. */ @RunWith(AndroidJUnit4.class) @LargeTest public class PackagesScreenTest { @Rule public ActivityTestRule<MainActivity> mainActivityActivityTestRule = new ActivityTestRule<>(MainActivity.class); @Before public void navigateToPackagesScreen() { onView(withId(R.id.drawer_layout)) .check(matches(isClosed(Gravity.LEFT))) // Left drawer should be closed. .perform(open()); // Open the drawer. // Start packages screen onView(withId(R.id.nav_view)) .perform(navigateTo(R.id.nav_home)); } @Test public void test_PackagesScreenDisplayed() { // Check that the bottom navigation view was displayed. onView(withId(R.id.bottomNavigationView)) .check(matches(isDisplayed())); // Check that the fab was displayed. onView(withId(R.id.fab)) .check(matches(isDisplayed())); onView(withId(R.id.fab)) .check(matches(isClickable())); } }