in app/src/androidTestMock/java/com/example/android/architecture/blueprints/todoapp/tasks/AppNavigationTest.kt [183:215]
fun taskDetailScreen_doubleUIBackButton() {
val task = Task("UI <- button", "Description")
tasksRepository.saveTaskBlocking(task)
// start up Tasks screen
val activityScenario = ActivityScenario.launch(TasksActivity::class.java)
dataBindingIdlingResource.monitorActivity(activityScenario)
// Click on the task on the list
onView(withText("UI <- button")).perform(click())
// Click on the edit task button
onView(withId(R.id.edit_task_fab)).perform(click())
// Confirm that if we click "<-" once, we end up back at the task details page
onView(
withContentDescription(
activityScenario
.getToolbarNavigationContentDescription()
)
).perform(click())
onView(withId(R.id.task_detail_title_text)).check(matches(isDisplayed()))
// Confirm that if we click "<-" a second time, we end up back at the home screen
onView(
withContentDescription(
activityScenario
.getToolbarNavigationContentDescription()
)
).perform(click())
onView(withId(R.id.tasks_container_layout)).check(matches(isDisplayed()))
// When using ActivityScenario.launch, always call close()
activityScenario.close()
}