Skip to content

Instantly share code, notes, and snippets.

@stoefln
Created November 12, 2020 12:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stoefln/ab3e6476dff1333aaa792faa0eceb1dc to your computer and use it in GitHub Desktop.
Save stoefln/ab3e6476dff1333aaa792faa0eceb1dc to your computer and use it in GitHub Desktop.
class HomeListScreenObject : NavigationScreenObject() {
fun clickSearchToolbar(): SearchScreenObject {
clickOn(R.id.toolbar)
return SearchScreenObject()
}
fun assertThat(assertionBlock: HomeListScreenAssertions.() -> Unit): HomeListScreenObject {
HomeListScreenAssertions().assertionBlock()
return this
}
}
class HomeListScreenAssertions : BaseScreenAssertions(R.id.homeListRoot) {
fun headerContains(text: String) {
assertDisplayed(text)
}
}
class SearchResultScreenObject : BaseScreenObject {
fun clickFloatingLoginButton(): LoginScreenObject {
clickOn(R.id.searchResultLoginButton)
return LoginScreenObject()
}
fun clickFilters(): SearchFiltersScreenObject {
clickOn(R.id.searchResultFilterButton)
return SearchFiltersScreenObject()
}
fun assertThat(assertionBlock: SearchResultScreenAssertions.() -> Unit): SearchResultScreenObject {
SearchResultScreenAssertions().assertionBlock()
return this
}
}
class SearchResultScreenAssertions : BaseScreenAssertions(R.id.searchResultRoot) {
fun createAlertButtonIsDisplayed() {
assertDisplayed(R.id.searchResultCreateAlertButton)
}
fun searchBarContains(text: String) {
assertAnyView(
viewMatcher = withParent(withId(R.id.toolbar)),
condition = withText(text)
)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment