diff --git a/app/BUILD.bazel b/app/BUILD.bazel index 42804742912..3122e3afae1 100644 --- a/app/BUILD.bazel +++ b/app/BUILD.bazel @@ -658,7 +658,6 @@ kt_android_library( testonly = True, srcs = [ "src/sharedTest/java/org/oppia/android/app/parser/RichTextViewMatcher.kt", - "src/sharedTest/java/org/oppia/android/app/recyclerview/RecyclerViewMatcher.kt", "src/sharedTest/java/org/oppia/android/app/utility/ClickActions.kt", "src/sharedTest/java/org/oppia/android/app/utility/DragViewAction.kt", "src/sharedTest/java/org/oppia/android/app/utility/DrawableMatcher.kt", diff --git a/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/AdministratorControlsActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/AdministratorControlsActivityTest.kt index 88f8fe468fa..4da443cc5ab 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/AdministratorControlsActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/administratorcontrols/AdministratorControlsActivityTest.kt @@ -53,7 +53,6 @@ import org.oppia.android.app.application.ApplicationModule import org.oppia.android.app.application.ApplicationStartupListenerModule import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule import org.oppia.android.app.profile.ProfileChooserActivity -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.settings.profile.ProfileListActivity import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.utility.OrientationChangeAction.Companion.orientationLandscape @@ -75,6 +74,7 @@ import org.oppia.android.domain.oppialogger.loguploader.LogUploadWorkerModule import org.oppia.android.domain.oppialogger.loguploader.WorkManagerConfigurationModule import org.oppia.android.domain.question.QuestionModule import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.profile.ProfileTestHelper import org.oppia.android.testing.robolectric.RobolectricModule diff --git a/app/src/sharedTest/java/org/oppia/android/app/completedstorylist/CompletedStoryListActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/completedstorylist/CompletedStoryListActivityTest.kt index 3a313b28428..a0a111a917f 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/completedstorylist/CompletedStoryListActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/completedstorylist/CompletedStoryListActivityTest.kt @@ -39,7 +39,6 @@ import org.oppia.android.app.application.ApplicationModule import org.oppia.android.app.application.ApplicationStartupListenerModule import org.oppia.android.app.model.ProfileId import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.topic.TopicActivity import org.oppia.android.app.utility.OrientationChangeAction.Companion.orientationLandscape @@ -62,6 +61,7 @@ import org.oppia.android.domain.question.QuestionModule import org.oppia.android.domain.topic.FRACTIONS_STORY_ID_0 import org.oppia.android.domain.topic.FRACTIONS_TOPIC_ID import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.robolectric.RobolectricModule import org.oppia.android.testing.story.StoryProgressTestHelper diff --git a/app/src/sharedTest/java/org/oppia/android/app/faq/FAQListFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/faq/FAQListFragmentTest.kt index 164063bbc92..f914e5e354d 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/faq/FAQListFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/faq/FAQListFragmentTest.kt @@ -36,8 +36,6 @@ import org.oppia.android.app.application.ApplicationStartupListenerModule import org.oppia.android.app.help.faq.FAQListActivity import org.oppia.android.app.help.faq.faqsingle.FAQSingleActivity import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPosition -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.utility.OrientationChangeAction.Companion.orientationLandscape import org.oppia.android.domain.classify.InteractionsModule @@ -57,6 +55,8 @@ import org.oppia.android.domain.oppialogger.loguploader.LogUploadWorkerModule import org.oppia.android.domain.oppialogger.loguploader.WorkManagerConfigurationModule import org.oppia.android.domain.question.QuestionModule import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPosition +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.robolectric.RobolectricModule import org.oppia.android.testing.threading.TestDispatcherModule diff --git a/app/src/sharedTest/java/org/oppia/android/app/help/HelpFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/help/HelpFragmentTest.kt index 8e0da4cc005..7bfc8ee77fd 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/help/HelpFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/help/HelpFragmentTest.kt @@ -41,8 +41,6 @@ import org.oppia.android.app.application.ApplicationModule import org.oppia.android.app.application.ApplicationStartupListenerModule import org.oppia.android.app.help.faq.FAQListActivity import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPosition -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.utility.OrientationChangeAction.Companion.orientationLandscape import org.oppia.android.domain.classify.InteractionsModule @@ -63,6 +61,8 @@ import org.oppia.android.domain.oppialogger.loguploader.WorkManagerConfiguration import org.oppia.android.domain.question.QuestionModule import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule import org.oppia.android.testing.OppiaTestRule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPosition +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.RunOn import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.TestPlatform diff --git a/app/src/sharedTest/java/org/oppia/android/app/home/HomeActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/home/HomeActivityTest.kt index 83db5ba95d2..517e95a4cad 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/home/HomeActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/home/HomeActivityTest.kt @@ -49,11 +49,6 @@ import org.oppia.android.app.home.recentlyplayed.RecentlyPlayedActivity import org.oppia.android.app.model.ProfileId import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule import org.oppia.android.app.profile.ProfileChooserActivity -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPosition -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.hasGridColumnCount -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.hasGridItemCount -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.hasItemCount import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.topic.TopicActivity import org.oppia.android.app.utility.OrientationChangeAction.Companion.orientationLandscape @@ -77,6 +72,11 @@ import org.oppia.android.domain.topic.FRACTIONS_STORY_ID_0 import org.oppia.android.domain.topic.FRACTIONS_TOPIC_ID import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule import org.oppia.android.domain.topic.TEST_TOPIC_ID_0 +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPosition +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView +import org.oppia.android.testing.RecyclerViewMatcher.Companion.hasGridColumnCount +import org.oppia.android.testing.RecyclerViewMatcher.Companion.hasGridItemCount +import org.oppia.android.testing.RecyclerViewMatcher.Companion.hasItemCount import org.oppia.android.testing.RunOn import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.TestPlatform diff --git a/app/src/sharedTest/java/org/oppia/android/app/home/RecentlyPlayedFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/home/RecentlyPlayedFragmentTest.kt index 4fab8a62d08..5459cf860e8 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/home/RecentlyPlayedFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/home/RecentlyPlayedFragmentTest.kt @@ -47,8 +47,6 @@ import org.oppia.android.app.home.recentlyplayed.RecentlyPlayedActivity import org.oppia.android.app.model.ProfileId import org.oppia.android.app.player.exploration.ExplorationActivity import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.hasGridItemCount import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.utility.EspressoTestsMatchers.withDrawable import org.oppia.android.app.utility.OrientationChangeAction.Companion.orientationLandscape @@ -72,6 +70,8 @@ import org.oppia.android.domain.topic.FRACTIONS_EXPLORATION_ID_0 import org.oppia.android.domain.topic.FRACTIONS_STORY_ID_0 import org.oppia.android.domain.topic.FRACTIONS_TOPIC_ID import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView +import org.oppia.android.testing.RecyclerViewMatcher.Companion.hasGridItemCount import org.oppia.android.testing.TestImageLoaderModule import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.profile.ProfileTestHelper diff --git a/app/src/sharedTest/java/org/oppia/android/app/ongoingtopiclist/OngoingTopicListActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/ongoingtopiclist/OngoingTopicListActivityTest.kt index 78955618c2b..5054d025fde 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/ongoingtopiclist/OngoingTopicListActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/ongoingtopiclist/OngoingTopicListActivityTest.kt @@ -38,7 +38,6 @@ import org.oppia.android.app.application.ApplicationModule import org.oppia.android.app.application.ApplicationStartupListenerModule import org.oppia.android.app.model.ProfileId import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.topic.TopicActivity import org.oppia.android.app.utility.OrientationChangeAction.Companion.orientationLandscape @@ -60,6 +59,7 @@ import org.oppia.android.domain.oppialogger.loguploader.WorkManagerConfiguration import org.oppia.android.domain.question.QuestionModule import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule import org.oppia.android.domain.topic.RATIOS_TOPIC_ID +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.robolectric.RobolectricModule import org.oppia.android.testing.story.StoryProgressTestHelper diff --git a/app/src/sharedTest/java/org/oppia/android/app/options/OptionsFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/options/OptionsFragmentTest.kt index 89ab4cc9b45..622b27e2c00 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/options/OptionsFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/options/OptionsFragmentTest.kt @@ -40,7 +40,6 @@ import org.oppia.android.app.application.ApplicationInjectorProvider import org.oppia.android.app.application.ApplicationModule import org.oppia.android.app.application.ApplicationStartupListenerModule import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.utility.OrientationChangeAction.Companion.orientationLandscape import org.oppia.android.domain.classify.InteractionsModule @@ -60,6 +59,7 @@ import org.oppia.android.domain.oppialogger.loguploader.LogUploadWorkerModule import org.oppia.android.domain.oppialogger.loguploader.WorkManagerConfigurationModule import org.oppia.android.domain.question.QuestionModule import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.profile.ProfileTestHelper import org.oppia.android.testing.robolectric.RobolectricModule diff --git a/app/src/sharedTest/java/org/oppia/android/app/player/state/StateFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/player/state/StateFragmentTest.kt index e2ed9261664..bfcde85e8c6 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/player/state/StateFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/player/state/StateFragmentTest.kt @@ -78,7 +78,6 @@ import org.oppia.android.app.player.state.itemviewmodel.StateItemViewModel.ViewT import org.oppia.android.app.player.state.itemviewmodel.StateItemViewModel.ViewType.SUBMIT_ANSWER_BUTTON import org.oppia.android.app.player.state.itemviewmodel.StateItemViewModel.ViewType.TEXT_INPUT_INTERACTION import org.oppia.android.app.player.state.testing.StateFragmentTestActivity -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.utility.ChildViewCoordinatesProvider import org.oppia.android.app.utility.CustomGeneralLocation @@ -113,6 +112,7 @@ import org.oppia.android.domain.topic.TEST_STORY_ID_0 import org.oppia.android.domain.topic.TEST_TOPIC_ID_0 import org.oppia.android.testing.EditTextInputAction import org.oppia.android.testing.OppiaTestRule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.RunOn import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.TestPlatform diff --git a/app/src/sharedTest/java/org/oppia/android/app/profile/ProfileChooserFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/profile/ProfileChooserFragmentTest.kt index bf81421b089..460b43e3180 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/profile/ProfileChooserFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/profile/ProfileChooserFragmentTest.kt @@ -40,8 +40,6 @@ import org.oppia.android.app.application.ApplicationModule import org.oppia.android.app.application.ApplicationStartupListenerModule import org.oppia.android.app.drawer.KEY_NAVIGATION_PROFILE_ID import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPosition -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.utility.OrientationChangeAction.Companion.orientationLandscape import org.oppia.android.domain.classify.InteractionsModule @@ -62,6 +60,8 @@ import org.oppia.android.domain.oppialogger.loguploader.WorkManagerConfiguration import org.oppia.android.domain.profile.ProfileManagementController import org.oppia.android.domain.question.QuestionModule import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPosition +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.profile.ProfileTestHelper import org.oppia.android.testing.robolectric.RobolectricModule diff --git a/app/src/sharedTest/java/org/oppia/android/app/profileprogress/ProfileProgressFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/profileprogress/ProfileProgressFragmentTest.kt index c05ed9ac93d..2fda9d6194f 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/profileprogress/ProfileProgressFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/profileprogress/ProfileProgressFragmentTest.kt @@ -54,7 +54,6 @@ import org.oppia.android.app.home.recentlyplayed.RecentlyPlayedActivity import org.oppia.android.app.model.ProfileId import org.oppia.android.app.ongoingtopiclist.OngoingTopicListActivity import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.topic.TopicActivity import org.oppia.android.app.utility.OrientationChangeAction.Companion.orientationLandscape @@ -77,6 +76,7 @@ import org.oppia.android.domain.question.QuestionModule import org.oppia.android.domain.topic.FRACTIONS_STORY_ID_0 import org.oppia.android.domain.topic.FRACTIONS_TOPIC_ID import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.profile.ProfileTestHelper import org.oppia.android.testing.robolectric.RobolectricModule diff --git a/app/src/sharedTest/java/org/oppia/android/app/recyclerview/BindableAdapterTest.kt b/app/src/sharedTest/java/org/oppia/android/app/recyclerview/BindableAdapterTest.kt index 37099c5e3f1..90b5b11442f 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/recyclerview/BindableAdapterTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/recyclerview/BindableAdapterTest.kt @@ -42,7 +42,6 @@ import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfi import org.oppia.android.app.player.state.itemviewmodel.InteractionViewModelModule import org.oppia.android.app.recyclerview.BindableAdapter.MultiTypeBuilder import org.oppia.android.app.recyclerview.BindableAdapter.SingleTypeBuilder -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPosition import org.oppia.android.app.shim.IntentFactoryShimModule import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.testing.BINDABLE_TEST_FRAGMENT_TAG @@ -74,6 +73,7 @@ import org.oppia.android.domain.oppialogger.loguploader.LogUploadWorkerModule import org.oppia.android.domain.oppialogger.loguploader.WorkManagerConfigurationModule import org.oppia.android.domain.question.QuestionModule import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPosition import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.assertThrows import org.oppia.android.testing.robolectric.RobolectricModule diff --git a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileListFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileListFragmentTest.kt index 00d71956450..0030fbd49bc 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileListFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/settings/profile/ProfileListFragmentTest.kt @@ -33,8 +33,6 @@ import org.oppia.android.app.application.ApplicationInjectorProvider import org.oppia.android.app.application.ApplicationModule import org.oppia.android.app.application.ApplicationStartupListenerModule import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPosition -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.utility.OrientationChangeAction.Companion.orientationLandscape import org.oppia.android.domain.classify.InteractionsModule @@ -54,6 +52,8 @@ import org.oppia.android.domain.oppialogger.loguploader.LogUploadWorkerModule import org.oppia.android.domain.oppialogger.loguploader.WorkManagerConfigurationModule import org.oppia.android.domain.question.QuestionModule import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPosition +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.profile.ProfileTestHelper import org.oppia.android.testing.robolectric.RobolectricModule diff --git a/app/src/sharedTest/java/org/oppia/android/app/story/StoryFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/story/StoryFragmentTest.kt index cee72af1a5e..de4d0a08b8e 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/story/StoryFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/story/StoryFragmentTest.kt @@ -61,9 +61,6 @@ import org.oppia.android.app.customview.LessonThumbnailImageView import org.oppia.android.app.model.ProfileId import org.oppia.android.app.player.exploration.ExplorationActivity import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPosition -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.hasItemCount import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.utility.OrientationChangeAction.Companion.orientationLandscape import org.oppia.android.app.utility.anyOrNull @@ -89,6 +86,9 @@ import org.oppia.android.domain.topic.FRACTIONS_TOPIC_ID import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule import org.oppia.android.domain.topic.TEST_STORY_ID_1 import org.oppia.android.domain.topic.TEST_TOPIC_ID_1 +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPosition +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView +import org.oppia.android.testing.RecyclerViewMatcher.Companion.hasItemCount import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.profile.ProfileTestHelper import org.oppia.android.testing.robolectric.RobolectricModule diff --git a/app/src/sharedTest/java/org/oppia/android/app/testing/DragDropTestActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/testing/DragDropTestActivityTest.kt index 47afe2b3ad7..58a2cd5bf07 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/testing/DragDropTestActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/testing/DragDropTestActivityTest.kt @@ -27,7 +27,6 @@ import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfi import org.oppia.android.app.recyclerview.DragAndDropItemFacilitator import org.oppia.android.app.recyclerview.OnDragEndedListener import org.oppia.android.app.recyclerview.OnItemDragListener -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPosition import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.utility.ChildViewCoordinatesProvider import org.oppia.android.app.utility.CustomGeneralLocation @@ -50,6 +49,7 @@ import org.oppia.android.domain.oppialogger.loguploader.LogUploadWorkerModule import org.oppia.android.domain.oppialogger.loguploader.WorkManagerConfigurationModule import org.oppia.android.domain.question.QuestionModule import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPosition import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.robolectric.RobolectricModule import org.oppia.android.testing.threading.TestDispatcherModule diff --git a/app/src/sharedTest/java/org/oppia/android/app/testing/TopicTestActivityForStoryTest.kt b/app/src/sharedTest/java/org/oppia/android/app/testing/TopicTestActivityForStoryTest.kt index 6a6acff81e0..9af3d6c0c09 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/testing/TopicTestActivityForStoryTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/testing/TopicTestActivityForStoryTest.kt @@ -28,8 +28,6 @@ import org.oppia.android.app.application.ApplicationInjectorProvider import org.oppia.android.app.application.ApplicationModule import org.oppia.android.app.application.ApplicationStartupListenerModule import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPosition -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.topic.TopicTab import org.oppia.android.app.utility.EspressoTestsMatchers.matchCurrentTabTitle @@ -50,6 +48,8 @@ import org.oppia.android.domain.oppialogger.loguploader.LogUploadWorkerModule import org.oppia.android.domain.oppialogger.loguploader.WorkManagerConfigurationModule import org.oppia.android.domain.question.QuestionModule import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPosition +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.robolectric.RobolectricModule import org.oppia.android.testing.threading.TestCoroutineDispatchers diff --git a/app/src/sharedTest/java/org/oppia/android/app/topic/TopicFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/topic/TopicFragmentTest.kt index 143c4725f7f..7dd74721e4a 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/topic/TopicFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/topic/TopicFragmentTest.kt @@ -37,7 +37,6 @@ import org.oppia.android.app.application.ApplicationInjectorProvider import org.oppia.android.app.application.ApplicationModule import org.oppia.android.app.application.ApplicationStartupListenerModule import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.utility.EspressoTestsMatchers.matchCurrentTabTitle import org.oppia.android.app.utility.OrientationChangeAction.Companion.orientationLandscape @@ -60,6 +59,7 @@ import org.oppia.android.domain.question.QuestionModule import org.oppia.android.domain.topic.FRACTIONS_STORY_ID_0 import org.oppia.android.domain.topic.FRACTIONS_TOPIC_ID import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.robolectric.RobolectricModule import org.oppia.android.testing.threading.TestCoroutineDispatchers diff --git a/app/src/sharedTest/java/org/oppia/android/app/topic/lessons/TopicLessonsFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/topic/lessons/TopicLessonsFragmentTest.kt index 163aa5f20e5..df147e4c146 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/topic/lessons/TopicLessonsFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/topic/lessons/TopicLessonsFragmentTest.kt @@ -43,8 +43,6 @@ import org.oppia.android.app.application.ApplicationStartupListenerModule import org.oppia.android.app.model.ProfileId import org.oppia.android.app.player.exploration.ExplorationActivity import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPosition -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.story.StoryActivity import org.oppia.android.app.topic.TopicActivity @@ -71,6 +69,8 @@ import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule import org.oppia.android.domain.topic.RATIOS_EXPLORATION_ID_0 import org.oppia.android.domain.topic.RATIOS_STORY_ID_0 import org.oppia.android.domain.topic.RATIOS_TOPIC_ID +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPosition +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.robolectric.RobolectricModule import org.oppia.android.testing.story.StoryProgressTestHelper diff --git a/app/src/sharedTest/java/org/oppia/android/app/topic/practice/TopicPracticeFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/topic/practice/TopicPracticeFragmentTest.kt index 9ca998a8709..a533b641380 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/topic/practice/TopicPracticeFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/topic/practice/TopicPracticeFragmentTest.kt @@ -37,7 +37,6 @@ import org.oppia.android.app.application.ApplicationInjectorProvider import org.oppia.android.app.application.ApplicationModule import org.oppia.android.app.application.ApplicationStartupListenerModule import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.topic.TopicActivity import org.oppia.android.app.topic.TopicTab @@ -61,6 +60,7 @@ import org.oppia.android.domain.oppialogger.loguploader.WorkManagerConfiguration import org.oppia.android.domain.question.QuestionModule import org.oppia.android.domain.topic.FRACTIONS_TOPIC_ID import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.robolectric.RobolectricModule import org.oppia.android.testing.threading.TestCoroutineDispatchers diff --git a/app/src/sharedTest/java/org/oppia/android/app/topic/questionplayer/QuestionPlayerActivityTest.kt b/app/src/sharedTest/java/org/oppia/android/app/topic/questionplayer/QuestionPlayerActivityTest.kt index 841dba4d98c..81db732bf41 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/topic/questionplayer/QuestionPlayerActivityTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/topic/questionplayer/QuestionPlayerActivityTest.kt @@ -55,7 +55,6 @@ import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfi import org.oppia.android.app.player.state.itemviewmodel.StateItemViewModel import org.oppia.android.app.player.state.itemviewmodel.StateItemViewModel.ViewType.FEEDBACK import org.oppia.android.app.player.state.itemviewmodel.StateItemViewModel.ViewType.SELECTION_INTERACTION -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.utility.OrientationChangeAction.Companion.orientationLandscape import org.oppia.android.domain.classify.InteractionsModule @@ -78,6 +77,7 @@ import org.oppia.android.domain.question.QuestionTrainingSeed import org.oppia.android.domain.topic.FRACTIONS_SKILL_ID_0 import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule import org.oppia.android.testing.OppiaTestRule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.RunOn import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.TestPlatform diff --git a/app/src/sharedTest/java/org/oppia/android/app/topic/revision/TopicRevisionFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/topic/revision/TopicRevisionFragmentTest.kt index 1f36830d73d..b0463e5f995 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/topic/revision/TopicRevisionFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/topic/revision/TopicRevisionFragmentTest.kt @@ -36,8 +36,6 @@ import org.oppia.android.app.application.ApplicationInjectorProvider import org.oppia.android.app.application.ApplicationModule import org.oppia.android.app.application.ApplicationStartupListenerModule import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPosition -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.topic.TopicActivity import org.oppia.android.app.topic.TopicTab @@ -62,6 +60,8 @@ import org.oppia.android.domain.oppialogger.loguploader.WorkManagerConfiguration import org.oppia.android.domain.question.QuestionModule import org.oppia.android.domain.topic.FRACTIONS_TOPIC_ID import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPosition +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.TestImageLoaderModule import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.robolectric.RobolectricModule diff --git a/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughFinalFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughFinalFragmentTest.kt index b687d64bcb6..e2051fca603 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughFinalFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughFinalFragmentTest.kt @@ -33,7 +33,6 @@ import org.oppia.android.app.application.ApplicationInjectorProvider import org.oppia.android.app.application.ApplicationModule import org.oppia.android.app.application.ApplicationStartupListenerModule import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.utility.OrientationChangeAction.Companion.orientationLandscape import org.oppia.android.app.utility.ProgressMatcher.Companion.withProgress @@ -54,6 +53,7 @@ import org.oppia.android.domain.oppialogger.loguploader.LogUploadWorkerModule import org.oppia.android.domain.oppialogger.loguploader.WorkManagerConfigurationModule import org.oppia.android.domain.question.QuestionModule import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.robolectric.RobolectricModule import org.oppia.android.testing.threading.TestCoroutineDispatchers diff --git a/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughTopicListFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughTopicListFragmentTest.kt index d23f4614395..0b71df51c70 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughTopicListFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/walkthrough/WalkthroughTopicListFragmentTest.kt @@ -32,7 +32,6 @@ import org.oppia.android.app.application.ApplicationInjectorProvider import org.oppia.android.app.application.ApplicationModule import org.oppia.android.app.application.ApplicationStartupListenerModule import org.oppia.android.app.player.state.hintsandsolution.HintsAndSolutionConfigModule -import org.oppia.android.app.recyclerview.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.app.shim.ViewBindingShimModule import org.oppia.android.app.utility.EspressoTestsMatchers.withDrawable import org.oppia.android.app.utility.OrientationChangeAction.Companion.orientationLandscape @@ -53,6 +52,7 @@ import org.oppia.android.domain.oppialogger.loguploader.LogUploadWorkerModule import org.oppia.android.domain.oppialogger.loguploader.WorkManagerConfigurationModule import org.oppia.android.domain.question.QuestionModule import org.oppia.android.domain.topic.PrimeTopicAssetsControllerModule +import org.oppia.android.testing.RecyclerViewMatcher.Companion.atPositionOnView import org.oppia.android.testing.TestImageLoaderModule import org.oppia.android.testing.TestLogReportingModule import org.oppia.android.testing.robolectric.RobolectricModule diff --git a/testing/BUILD.bazel b/testing/BUILD.bazel index 54f600bd9b7..b52087e3362 100644 --- a/testing/BUILD.bazel +++ b/testing/BUILD.bazel @@ -34,6 +34,7 @@ kt_android_library( "//testing/src/main/java/org/oppia/android/testing/threading:test_coroutine_dispatchers", "//testing/src/main/java/org/oppia/android/testing/time:fake_oppia_clock", "//third_party:androidx_lifecycle_lifecycle-livedata-ktx", + "//third_party:androidx_recyclerview_recyclerview", "//third_party:androidx_test_espresso_espresso-contrib", "//third_party:androidx_test_espresso_espresso-core", "//third_party:androidx_test_espresso_espresso-intents", diff --git a/testing/build.gradle b/testing/build.gradle index ce90da0adce..aeea4b98359 100644 --- a/testing/build.gradle +++ b/testing/build.gradle @@ -51,6 +51,7 @@ dependencies { implementation( 'androidx.annotation:annotation:1.1.0', 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0-alpha03', + 'androidx.recyclerview:recyclerview:1.0.0', "androidx.test:core:1.0.0", 'androidx.test.espresso:espresso-core:3.2.0', 'androidx.test:runner:1.2.0', diff --git a/app/src/sharedTest/java/org/oppia/android/app/recyclerview/RecyclerViewMatcher.kt b/testing/src/main/java/org/oppia/android/testing/RecyclerViewMatcher.kt similarity index 88% rename from app/src/sharedTest/java/org/oppia/android/app/recyclerview/RecyclerViewMatcher.kt rename to testing/src/main/java/org/oppia/android/testing/RecyclerViewMatcher.kt index 2b4f16f78e4..17e2e20279d 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/recyclerview/RecyclerViewMatcher.kt +++ b/testing/src/main/java/org/oppia/android/testing/RecyclerViewMatcher.kt @@ -1,12 +1,15 @@ -package org.oppia.android.app.recyclerview +package org.oppia.android.testing import android.content.res.Resources import android.view.View import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView +import androidx.test.espresso.Espresso.onView import androidx.test.espresso.NoMatchingViewException import androidx.test.espresso.ViewAssertion +import androidx.test.espresso.assertion.ViewAssertions.matches import androidx.test.espresso.matcher.ViewMatchers.assertThat +import androidx.test.espresso.matcher.ViewMatchers.isDisplayed import org.hamcrest.CoreMatchers.equalTo import org.hamcrest.Description import org.hamcrest.Matcher @@ -65,6 +68,24 @@ class RecyclerViewMatcher { } } + /** + * Verifies that the item is displayed for a specific view + * within the item inside RecyclerView from a specified position. + */ + fun verifyItemDisplayedOnRecyclerView( + recyclerViewId: Int, + itemPosition: Int, + targetViewId: Int + ) { + onView( + atPositionOnView( + recyclerViewId = recyclerViewId, + position = itemPosition, + targetViewId = targetViewId + ) + ).check(matches(isDisplayed())) + } + /** Returns item count ViewAssertion for a recycler view. */ fun hasItemCount(count: Int): ViewAssertion { return RecyclerViewItemCountAssertion(count)