For #26286 new selectStoriesByTopicItemTest UI test

This commit is contained in:
AndiAJ 2022-11-24 12:33:35 +02:00 committed by mergify[bot]
parent 12c01ff4f9
commit e0cc64a13a
2 changed files with 37 additions and 0 deletions

View File

@ -277,6 +277,23 @@ class HomeScreenTest {
}
}
@Test
fun selectStoriesByTopicItemTest() {
activityTestRule.activityRule.applySettingsExceptions {
it.isRecentTabsFeatureEnabled = false
it.isRecentlyVisitedFeatureEnabled = false
}
homeScreen {
}.dismissOnboarding()
homeScreen {
verifyStoriesByTopicItemState(activityTestRule, false, 1)
clickStoriesByTopicItem(activityTestRule, 1)
verifyStoriesByTopicItemState(activityTestRule, true, 1)
}
}
@Test
fun verifyCustomizeHomepageTest() {
val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1)

View File

@ -10,6 +10,8 @@ import android.graphics.Bitmap
import android.widget.EditText
import androidx.compose.ui.test.assert
import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.assertIsNotSelected
import androidx.compose.ui.test.assertIsSelected
import androidx.compose.ui.test.hasTestTag
import androidx.compose.ui.test.hasText
import androidx.compose.ui.test.junit4.ComposeTestRule
@ -333,6 +335,21 @@ class HomeScreenRobot {
fun verifyStoriesByTopicItems() =
assertTrue(mDevice.findObject(UiSelector().resourceId("pocket.categories")).childCount > 1)
fun verifyStoriesByTopicItemState(composeTestRule: ComposeTestRule, isSelected: Boolean, position: Int) {
homeScreenList().scrollIntoView(mDevice.findObject(UiSelector().resourceId("pocket.header")))
if (isSelected) {
composeTestRule.onNodeWithTag("pocket.categories").assertIsDisplayed()
storyByTopicItem(composeTestRule, position).assertIsSelected()
} else {
composeTestRule.onNodeWithTag("pocket.categories").assertIsDisplayed()
storyByTopicItem(composeTestRule, position).assertIsNotSelected()
}
}
fun clickStoriesByTopicItem(composeTestRule: ComposeTestRule, position: Int) =
storyByTopicItem(composeTestRule, position).performClick()
fun verifyPoweredByPocket(rule: ComposeTestRule) {
homeScreenList().scrollIntoView(mDevice.findObject(UiSelector().resourceId("pocket.header")))
rule.onNodeWithTag("pocket.header.title", true).assertIsDisplayed()
@ -1087,6 +1104,9 @@ private fun sponsoredShortcut(sponsoredShortcutTitle: String) =
.textContains(sponsoredShortcutTitle),
)
private fun storyByTopicItem(composeTestRule: ComposeTestRule, position: Int) =
composeTestRule.onNodeWithTag("pocket.categories").onChildAt(position - 1)
val deleteFromHistory =
onView(
allOf(