Issue#13 Remove reference to SpecificConfiguration

This commit is contained in:
Gergely Hegedus 2022-01-27 00:43:08 +02:00
parent 5a08525e42
commit b9644512d5
7 changed files with 17 additions and 12 deletions

View file

@ -15,7 +15,7 @@ import org.hamcrest.Matchers
import org.junit.runner.Description
import org.junit.runners.model.Statement
object AndroidTestSnackbarVerificationTestRule : SnackbarVerificationTestRule {
object AndroidTestSnackbarVerificationHelper : SnackbarVerificationHelper {
override fun apply(base: Statement, description: Description): Statement = base

View file

@ -7,8 +7,8 @@ object SpecificTestConfigurationsFactory : TestConfigurationsFactory {
override fun createLoginRobotConfiguration(): LoginRobotConfiguration =
AndroidTestLoginRobotConfiguration
override fun createSnackbarVerification(): SnackbarVerificationTestRule =
AndroidTestSnackbarVerificationTestRule
override fun createSnackbarVerification(): SnackbarVerificationHelper =
AndroidTestSnackbarVerificationHelper
override fun createSharedMigrationTestRuleFactory(): SharedMigrationTestRuleFactory =
AndroidMigrationTestRuleFactory

View file

@ -6,7 +6,7 @@ import org.fnives.test.showcase.testutils.shadow.ShadowSnackbarResetTestRule
import org.junit.Assert
import org.junit.rules.TestRule
object RobolectricSnackbarVerificationTestRule : SnackbarVerificationTestRule, TestRule by ShadowSnackbarResetTestRule() {
object RobolectricSnackbarVerificationHelper : SnackbarVerificationHelper, TestRule by ShadowSnackbarResetTestRule() {
override fun assertIsShownWithText(@StringRes stringResID: Int) {
val latestSnackbar = ShadowSnackbar.latestSnackbar ?: throw IllegalStateException("Snackbar not found")

View file

@ -7,8 +7,8 @@ object SpecificTestConfigurationsFactory : TestConfigurationsFactory {
override fun createLoginRobotConfiguration(): LoginRobotConfiguration =
RobolectricLoginRobotConfiguration
override fun createSnackbarVerification(): SnackbarVerificationTestRule =
RobolectricSnackbarVerificationTestRule
override fun createSnackbarVerification(): SnackbarVerificationHelper =
RobolectricSnackbarVerificationHelper
override fun createSharedMigrationTestRuleFactory(): SharedMigrationTestRuleFactory =
RobolectricMigrationTestHelperFactory

View file

@ -3,9 +3,13 @@ package org.fnives.test.showcase.testutils.configuration
import androidx.annotation.StringRes
import org.junit.rules.TestRule
interface SnackbarVerificationTestRule : TestRule {
interface SnackbarVerificationHelper : TestRule {
fun assertIsShownWithText(@StringRes stringResID: Int)
fun assertIsNotShown()
}
@Suppress("TestFunctionName")
fun SnackbarVerificationTestRule(): SnackbarVerificationHelper=
SpecificTestConfigurationsFactory.createSnackbarVerification()

View file

@ -12,7 +12,7 @@ interface TestConfigurationsFactory {
fun createLoginRobotConfiguration(): LoginRobotConfiguration
fun createSnackbarVerification(): SnackbarVerificationTestRule
fun createSnackbarVerification(): SnackbarVerificationHelper
fun createSharedMigrationTestRuleFactory(): SharedMigrationTestRuleFactory
}

View file

@ -16,6 +16,7 @@ import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
import androidx.test.espresso.matcher.ViewMatchers.withId
import org.fnives.test.showcase.R
import org.fnives.test.showcase.testutils.configuration.LoginRobotConfiguration
import org.fnives.test.showcase.testutils.configuration.SnackbarVerificationHelper
import org.fnives.test.showcase.testutils.configuration.SnackbarVerificationTestRule
import org.fnives.test.showcase.testutils.configuration.SpecificTestConfigurationsFactory
import org.fnives.test.showcase.testutils.configuration.TestConfigurationsFactory
@ -26,13 +27,13 @@ import org.hamcrest.core.IsNot.not
class LoginRobot(
private val loginRobotConfiguration: LoginRobotConfiguration,
private val snackbarVerificationTestRule: SnackbarVerificationTestRule
private val snackbarVerificationHelper: SnackbarVerificationHelper
) : Robot {
constructor(testConfigurationsFactory: TestConfigurationsFactory = SpecificTestConfigurationsFactory) :
this(
loginRobotConfiguration = testConfigurationsFactory.createLoginRobotConfiguration(),
snackbarVerificationTestRule = testConfigurationsFactory.createSnackbarVerification()
snackbarVerificationHelper = SnackbarVerificationTestRule()
)
override fun init() {
@ -75,7 +76,7 @@ class LoginRobot(
}
fun assertErrorIsShown(@StringRes stringResID: Int) = apply {
snackbarVerificationTestRule.assertIsShownWithText(stringResID)
snackbarVerificationHelper.assertIsShownWithText(stringResID)
}
fun assertLoadingBeforeRequests() = apply {
@ -91,7 +92,7 @@ class LoginRobot(
}
fun assertErrorIsNotShown() = apply {
snackbarVerificationTestRule.assertIsNotShown()
snackbarVerificationHelper.assertIsNotShown()
}
fun assertNavigatedToHome() = apply {