From b9644512d51f4f4dc5a065d9a0d0f5611005ead6 Mon Sep 17 00:00:00 2001 From: Gergely Hegedus Date: Thu, 27 Jan 2022 00:43:08 +0200 Subject: [PATCH] Issue#13 Remove reference to SpecificConfiguration --- ...tRule.kt => AndroidTestSnackbarVerificationHelper.kt} | 2 +- .../configuration/SpecificTestConfigurationsFactory.kt | 4 ++-- ...tRule.kt => RobolectricSnackbarVerificationHelper.kt} | 2 +- .../configuration/SpecificTestConfigurationsFactory.kt | 4 ++-- ...ficationTestRule.kt => SnackbarVerificationHelper.kt} | 6 +++++- .../testutils/configuration/TestConfigurationsFactory.kt | 2 +- .../java/org/fnives/test/showcase/ui/login/LoginRobot.kt | 9 +++++---- 7 files changed, 17 insertions(+), 12 deletions(-) rename app/src/androidTest/java/org/fnives/test/showcase/testutils/configuration/{AndroidTestSnackbarVerificationTestRule.kt => AndroidTestSnackbarVerificationHelper.kt} (95%) rename app/src/robolectricTest/java/org/fnives/test/showcase/testutils/configuration/{RobolectricSnackbarVerificationTestRule.kt => RobolectricSnackbarVerificationHelper.kt} (85%) rename app/src/sharedTest/java/org/fnives/test/showcase/testutils/configuration/{SnackbarVerificationTestRule.kt => SnackbarVerificationHelper.kt} (50%) diff --git a/app/src/androidTest/java/org/fnives/test/showcase/testutils/configuration/AndroidTestSnackbarVerificationTestRule.kt b/app/src/androidTest/java/org/fnives/test/showcase/testutils/configuration/AndroidTestSnackbarVerificationHelper.kt similarity index 95% rename from app/src/androidTest/java/org/fnives/test/showcase/testutils/configuration/AndroidTestSnackbarVerificationTestRule.kt rename to app/src/androidTest/java/org/fnives/test/showcase/testutils/configuration/AndroidTestSnackbarVerificationHelper.kt index 9a12237..411a634 100644 --- a/app/src/androidTest/java/org/fnives/test/showcase/testutils/configuration/AndroidTestSnackbarVerificationTestRule.kt +++ b/app/src/androidTest/java/org/fnives/test/showcase/testutils/configuration/AndroidTestSnackbarVerificationHelper.kt @@ -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 diff --git a/app/src/androidTest/java/org/fnives/test/showcase/testutils/configuration/SpecificTestConfigurationsFactory.kt b/app/src/androidTest/java/org/fnives/test/showcase/testutils/configuration/SpecificTestConfigurationsFactory.kt index 6a3da36..ad369fb 100644 --- a/app/src/androidTest/java/org/fnives/test/showcase/testutils/configuration/SpecificTestConfigurationsFactory.kt +++ b/app/src/androidTest/java/org/fnives/test/showcase/testutils/configuration/SpecificTestConfigurationsFactory.kt @@ -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 diff --git a/app/src/robolectricTest/java/org/fnives/test/showcase/testutils/configuration/RobolectricSnackbarVerificationTestRule.kt b/app/src/robolectricTest/java/org/fnives/test/showcase/testutils/configuration/RobolectricSnackbarVerificationHelper.kt similarity index 85% rename from app/src/robolectricTest/java/org/fnives/test/showcase/testutils/configuration/RobolectricSnackbarVerificationTestRule.kt rename to app/src/robolectricTest/java/org/fnives/test/showcase/testutils/configuration/RobolectricSnackbarVerificationHelper.kt index 565a518..edde912 100644 --- a/app/src/robolectricTest/java/org/fnives/test/showcase/testutils/configuration/RobolectricSnackbarVerificationTestRule.kt +++ b/app/src/robolectricTest/java/org/fnives/test/showcase/testutils/configuration/RobolectricSnackbarVerificationHelper.kt @@ -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") diff --git a/app/src/robolectricTest/java/org/fnives/test/showcase/testutils/configuration/SpecificTestConfigurationsFactory.kt b/app/src/robolectricTest/java/org/fnives/test/showcase/testutils/configuration/SpecificTestConfigurationsFactory.kt index ff7e7af..8df6d58 100644 --- a/app/src/robolectricTest/java/org/fnives/test/showcase/testutils/configuration/SpecificTestConfigurationsFactory.kt +++ b/app/src/robolectricTest/java/org/fnives/test/showcase/testutils/configuration/SpecificTestConfigurationsFactory.kt @@ -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 diff --git a/app/src/sharedTest/java/org/fnives/test/showcase/testutils/configuration/SnackbarVerificationTestRule.kt b/app/src/sharedTest/java/org/fnives/test/showcase/testutils/configuration/SnackbarVerificationHelper.kt similarity index 50% rename from app/src/sharedTest/java/org/fnives/test/showcase/testutils/configuration/SnackbarVerificationTestRule.kt rename to app/src/sharedTest/java/org/fnives/test/showcase/testutils/configuration/SnackbarVerificationHelper.kt index fa89428..2520813 100644 --- a/app/src/sharedTest/java/org/fnives/test/showcase/testutils/configuration/SnackbarVerificationTestRule.kt +++ b/app/src/sharedTest/java/org/fnives/test/showcase/testutils/configuration/SnackbarVerificationHelper.kt @@ -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() \ No newline at end of file diff --git a/app/src/sharedTest/java/org/fnives/test/showcase/testutils/configuration/TestConfigurationsFactory.kt b/app/src/sharedTest/java/org/fnives/test/showcase/testutils/configuration/TestConfigurationsFactory.kt index 3ac0428..84614bb 100644 --- a/app/src/sharedTest/java/org/fnives/test/showcase/testutils/configuration/TestConfigurationsFactory.kt +++ b/app/src/sharedTest/java/org/fnives/test/showcase/testutils/configuration/TestConfigurationsFactory.kt @@ -12,7 +12,7 @@ interface TestConfigurationsFactory { fun createLoginRobotConfiguration(): LoginRobotConfiguration - fun createSnackbarVerification(): SnackbarVerificationTestRule + fun createSnackbarVerification(): SnackbarVerificationHelper fun createSharedMigrationTestRuleFactory(): SharedMigrationTestRuleFactory } diff --git a/app/src/sharedTest/java/org/fnives/test/showcase/ui/login/LoginRobot.kt b/app/src/sharedTest/java/org/fnives/test/showcase/ui/login/LoginRobot.kt index 4e8aba6..c14b7de 100644 --- a/app/src/sharedTest/java/org/fnives/test/showcase/ui/login/LoginRobot.kt +++ b/app/src/sharedTest/java/org/fnives/test/showcase/ui/login/LoginRobot.kt @@ -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 {