blob: 88cc97b08bc1af674a28420e9706e25235d9d53d [file] [log] [blame]
package org.apache.fineract.ui.online.groups.grouplist
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.action.ViewActions.click
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.contrib.DrawerActions
import androidx.test.espresso.contrib.NavigationViewActions
import androidx.test.espresso.contrib.RecyclerViewActions
import androidx.test.espresso.matcher.ViewMatchers.*
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.rule.ActivityTestRule
import org.apache.fineract.R
import org.apache.fineract.ui.adapters.GroupsAdapter
import org.apache.fineract.ui.online.DashboardActivity
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
/**
* Created by Ahmad Jawid Muhammadi on 24/8/20.
*/
@RunWith(AndroidJUnit4::class)
class GroupListFragmentAndroidTest {
@get:Rule
val activityRule =
ActivityTestRule<DashboardActivity>(DashboardActivity::class.java)
@Test
fun openDrawer_OpenGroupList_ClickOnRecyclerViewItem() {
//Open drawer
onView(withId(R.id.drawer_layout))
.perform(DrawerActions.open())
//From NavigationView navigate to Group list screen
onView(withId(R.id.nav_view))
.perform(NavigationViewActions.navigateTo(R.id.item_groups))
//Click on group item
onView(withId(R.id.rvGroups)).perform(
RecyclerViewActions.actionOnItem<GroupsAdapter.ViewHolder>(
hasDescendant(withText("group")),
click()
)
)
//Assert if thw item has been displayed correctly
onView(withId(R.id.tvIdentifier))
.check(matches(withText("group")))
}
}