From 08c2c1944233d62336d1ebbaa50fe9241a63f3e0 Mon Sep 17 00:00:00 2001 From: Isabel Martin Date: Mon, 19 Jul 2021 10:30:29 -0700 Subject: [PATCH] NT-2124: Shot 5.11.0 library integration (#1324) --- app/build.gradle | 24 ++++----- .../di/AndroidTestApplicationModule.kt} | 7 ++- .../testing/di}/ApplicationComponent.kt | 2 +- .../screenshoot/testing/di}/NoopBuildCheck.kt | 0 .../ui/components/CommentCardShotTest.kt | 34 +++++++++++++ .../suite/InfrastructureSuite.kt | 8 --- .../infrastructure/suite/VisitorCookieTest.kt | 47 ------------------ .../testing/login/suite/LoginSuite.kt | 8 --- .../login/suite/ResetPasswordSuccessTest.kt | 39 --------------- .../com/kickstarter/testing/utils/Events.kt | 22 -------- .../com/kickstarter/testing/utils/Matchers.kt | 20 -------- app/src/internalDebug/AndroidManifest.xml | 13 +++++ app/src/main/AndroidManifest.xml | 3 +- app/src/regression/AndroidManifest.xml | 2 - .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 -- .../res/mipmap-hdpi/ic_launcher.png | Bin 3074 -> 0 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 1855 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 4311 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 7217 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 10484 -> 0 bytes .../res/values/ic_launcher_background.xml | 4 -- app/src/regression/res/values/strings.xml | 4 -- 22 files changed, 65 insertions(+), 177 deletions(-) rename app/src/{regression/java/com/kickstarter/RegressionApplicationModule.kt => androidTest/java/com/kickstarter/screenshoot/testing/di/AndroidTestApplicationModule.kt} (82%) rename app/src/{regression/java/com/kickstarter => androidTest/java/com/kickstarter/screenshoot/testing/di}/ApplicationComponent.kt (70%) rename app/src/{regression/java/com/kickstarter/libs => androidTest/java/com/kickstarter/screenshoot/testing/di}/NoopBuildCheck.kt (100%) create mode 100644 app/src/androidTest/java/com/kickstarter/screenshoot/testing/ui/components/CommentCardShotTest.kt delete mode 100644 app/src/androidTestRegressionDebug/java/com/kickstarter/testing/infrastructure/suite/InfrastructureSuite.kt delete mode 100644 app/src/androidTestRegressionDebug/java/com/kickstarter/testing/infrastructure/suite/VisitorCookieTest.kt delete mode 100644 app/src/androidTestRegressionDebug/java/com/kickstarter/testing/login/suite/LoginSuite.kt delete mode 100644 app/src/androidTestRegressionDebug/java/com/kickstarter/testing/login/suite/ResetPasswordSuccessTest.kt delete mode 100644 app/src/androidTestRegressionDebug/java/com/kickstarter/testing/utils/Events.kt delete mode 100644 app/src/androidTestRegressionDebug/java/com/kickstarter/testing/utils/Matchers.kt create mode 100644 app/src/internalDebug/AndroidManifest.xml delete mode 100644 app/src/regression/AndroidManifest.xml delete mode 100644 app/src/regression/res/mipmap-anydpi-v26/ic_launcher.xml delete mode 100644 app/src/regression/res/mipmap-hdpi/ic_launcher.png delete mode 100644 app/src/regression/res/mipmap-mdpi/ic_launcher.png delete mode 100644 app/src/regression/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 app/src/regression/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 app/src/regression/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 app/src/regression/res/values/ic_launcher_background.xml delete mode 100644 app/src/regression/res/values/strings.xml diff --git a/app/build.gradle b/app/build.gradle index cf2e7c156e..63e96ffe9d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -110,8 +110,7 @@ android { applicationId "com.kickstarter" minSdkVersion 23 targetSdkVersion 30 - testApplicationId "com.kickstarter.kickstarter.regression.test" - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + testInstrumentationRunner "com.karumi.shot.ShotTestRunner" buildConfigField "String", "GIT_SHA", "\"${commitSha()}\"" buildConfigField "String", "BUILD_DATE", "\"${buildDate()}\"" @@ -172,12 +171,6 @@ android { versionCode externalPrivateVersion versionName externalPublicVersion } - regression { - dimension "AUDIENCE" - applicationId "com.kickstarter.kickstarter.regression" - versionCode externalPrivateVersion - versionName externalPublicVersion - } } compileOptions { @@ -203,13 +196,8 @@ android { packagingOptions { exclude 'META-INF/LICENSE.txt' exclude 'LICENSE.txt' - } - - sourceSets { - regression { - androidTest.java.srcDirs = ['src/androidTestRegressionDebug/kotlin'] - } - main.java.srcDirs += 'src/main/kotlin' + exclude 'META-INF/AL2.0' + exclude 'META-INF/LGPL2.1' } testOptions { @@ -240,6 +228,7 @@ buildscript { } dependencies { classpath 'com.apollographql.apollo:apollo-gradle-plugin:2.3.0' + classpath 'com.karumi:shot:5.11.0' } } @@ -381,3 +370,8 @@ gradle.taskGraph.beforeTask { Task task -> } apply plugin: 'com.google.gms.google-services' + +apply plugin: 'shot' +shot { + runInstrumentation = false +} \ No newline at end of file diff --git a/app/src/regression/java/com/kickstarter/RegressionApplicationModule.kt b/app/src/androidTest/java/com/kickstarter/screenshoot/testing/di/AndroidTestApplicationModule.kt similarity index 82% rename from app/src/regression/java/com/kickstarter/RegressionApplicationModule.kt rename to app/src/androidTest/java/com/kickstarter/screenshoot/testing/di/AndroidTestApplicationModule.kt index a6b03d9d4d..1665e68a0f 100644 --- a/app/src/regression/java/com/kickstarter/RegressionApplicationModule.kt +++ b/app/src/androidTest/java/com/kickstarter/screenshoot/testing/di/AndroidTestApplicationModule.kt @@ -3,6 +3,11 @@ package com.kickstarter import androidx.annotation.NonNull import com.apollographql.apollo.ApolloClient import com.google.gson.Gson +import com.kickstarter.libs.ApiEndpoint +import com.kickstarter.libs.BuildCheck +import com.kickstarter.libs.InternalToolsType +import com.kickstarter.libs.NoopBuildCheck +import com.kickstarter.libs.NoopInternalTools import com.kickstarter.mock.services.MockApiClient import com.kickstarter.mock.services.MockApolloClient import com.kickstarter.services.ApiClientType @@ -13,7 +18,7 @@ import dagger.Provides import javax.inject.Singleton @Module(includes = [ApplicationModule::class]) -class RegressionApplicationModule { +class AndroidTestApplicationModule { @Provides @Singleton diff --git a/app/src/regression/java/com/kickstarter/ApplicationComponent.kt b/app/src/androidTest/java/com/kickstarter/screenshoot/testing/di/ApplicationComponent.kt similarity index 70% rename from app/src/regression/java/com/kickstarter/ApplicationComponent.kt rename to app/src/androidTest/java/com/kickstarter/screenshoot/testing/di/ApplicationComponent.kt index 668a828866..7e489613a1 100644 --- a/app/src/regression/java/com/kickstarter/ApplicationComponent.kt +++ b/app/src/androidTest/java/com/kickstarter/screenshoot/testing/di/ApplicationComponent.kt @@ -4,5 +4,5 @@ import dagger.Component import javax.inject.Singleton @Singleton -@Component(modules = [RegressionApplicationModule::class]) +@Component(modules = [AndroidTestApplicationModule::class]) interface ApplicationComponent : ApplicationGraph diff --git a/app/src/regression/java/com/kickstarter/libs/NoopBuildCheck.kt b/app/src/androidTest/java/com/kickstarter/screenshoot/testing/di/NoopBuildCheck.kt similarity index 100% rename from app/src/regression/java/com/kickstarter/libs/NoopBuildCheck.kt rename to app/src/androidTest/java/com/kickstarter/screenshoot/testing/di/NoopBuildCheck.kt diff --git a/app/src/androidTest/java/com/kickstarter/screenshoot/testing/ui/components/CommentCardShotTest.kt b/app/src/androidTest/java/com/kickstarter/screenshoot/testing/ui/components/CommentCardShotTest.kt new file mode 100644 index 0000000000..26a882c2c1 --- /dev/null +++ b/app/src/androidTest/java/com/kickstarter/screenshoot/testing/ui/components/CommentCardShotTest.kt @@ -0,0 +1,34 @@ +package com.kickstarter.screenshoot.testing.ui.components + +import android.view.LayoutInflater +import androidx.constraintlayout.widget.ConstraintLayout +import androidx.test.core.app.ApplicationProvider +import com.karumi.shot.ScreenshotTest +import com.kickstarter.KSApplication +import com.kickstarter.R +import com.kickstarter.mock.factories.UserFactory +import com.kickstarter.ui.views.CommentCard +import com.kickstarter.ui.views.CommentCardStatus +import org.joda.time.DateTime +import org.junit.Test + +class CommentCardShotTest : ScreenshotTest { + private val context = ApplicationProvider.getApplicationContext() + + @Test + fun commentCardScreenshotTest_COMMENT_FOR_LOGIN_BACKED_USERS() { + var commentCard: CommentCard = (LayoutInflater.from(context).inflate(R.layout.item_comment_card, null) as ConstraintLayout) + .findViewById(R.id.comments_card_view) + + val user = UserFactory.user() + commentCard.setAvatarUrl(null) // -> internal network call to picasso we need to extract that. + commentCard.setReplyButtonVisibility(true) + commentCard.setViewRepliesVisibility(true) + commentCard.setCommentUserName(user.name()) + commentCard.setCommentBody("Message here for the Screenshot test lets see how it behaves ....") + commentCard.setCommentPostTime(DateTime.now().toString()) + + commentCard.setCommentCardStatus(CommentCardStatus.COMMENT_FOR_LOGIN_BACKED_USERS) + compareScreenshot(commentCard) + } +} diff --git a/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/infrastructure/suite/InfrastructureSuite.kt b/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/infrastructure/suite/InfrastructureSuite.kt deleted file mode 100644 index 311b0857c8..0000000000 --- a/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/infrastructure/suite/InfrastructureSuite.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.kickstarter.testing.infrastructure.suite - -import org.junit.runner.RunWith -import org.junit.runners.Suite - -@RunWith(Suite::class) -@Suite.SuiteClasses(VisitorCookieTest::class) -class InfrastructureSuite diff --git a/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/infrastructure/suite/VisitorCookieTest.kt b/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/infrastructure/suite/VisitorCookieTest.kt deleted file mode 100644 index e91e5801d1..0000000000 --- a/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/infrastructure/suite/VisitorCookieTest.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.kickstarter.testing.infrastructure.suite - -import androidx.test.filters.SmallTest -import androidx.test.rule.ActivityTestRule -import com.google.firebase.iid.FirebaseInstanceId -import com.kickstarter.libs.ApiEndpoint -import com.kickstarter.libs.utils.Secrets -import com.kickstarter.ui.activities.DiscoveryActivity -import org.junit.Assert.assertNotNull -import org.junit.Assert.assertTrue -import org.junit.Rule -import org.junit.Test -import java.net.CookieStore -import java.net.URI - -@SmallTest -class VisitorCookieTest { - - @Rule - @JvmField - val activityRule = ActivityTestRule(DiscoveryActivity::class.java) - - @Test - fun testVisitorCookieHasBeenSet() { - val activity = this.activityRule.activity - val environment = activity.environment() - - val cookieManager = environment.cookieManager() - val cookieStore = cookieManager.cookieStore - val webUri = URI.create(Secrets.WebEndpoint.PRODUCTION) - val apiUri = URI.create(ApiEndpoint.PRODUCTION.url()) - - val deviceId = FirebaseInstanceId.getInstance().id - assertNotNull(deviceId) - - assertTrue(hasVisitorCookieForURI(cookieStore, webUri, deviceId)) - assertTrue(hasVisitorCookieForURI(cookieStore, apiUri, deviceId)) - } - - private fun hasVisitorCookieForURI(cookieStore: CookieStore, uri: URI, deviceId: String): Boolean { - return cookieStore.get(uri).stream().anyMatch { httpCookie -> httpCookie.name == KEY_VIS && httpCookie.value == deviceId } - } - - companion object { - private const val KEY_VIS = "vis" - } -} diff --git a/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/login/suite/LoginSuite.kt b/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/login/suite/LoginSuite.kt deleted file mode 100644 index 3106958d3d..0000000000 --- a/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/login/suite/LoginSuite.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.kickstarter.testing.login.suite - -import org.junit.runner.RunWith -import org.junit.runners.Suite - -@RunWith(Suite::class) -@Suite.SuiteClasses(ResetPasswordSuccessTest::class) -class LoginSuite diff --git a/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/login/suite/ResetPasswordSuccessTest.kt b/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/login/suite/ResetPasswordSuccessTest.kt deleted file mode 100644 index 3902a75269..0000000000 --- a/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/login/suite/ResetPasswordSuccessTest.kt +++ /dev/null @@ -1,39 +0,0 @@ -package com.kickstarter.testing.login.suite -import android.content.Intent -import androidx.test.espresso.intent.rule.IntentsTestRule -import androidx.test.filters.SmallTest -import androidx.test.platform.app.InstrumentationRegistry -import com.kickstarter.R -import com.kickstarter.testing.utils.Events -import com.kickstarter.testing.utils.Matchers -import com.kickstarter.ui.IntentKey -import com.kickstarter.ui.activities.LoginActivity -import com.kickstarter.ui.data.LoginReason -import org.junit.Rule -import org.junit.Test - -@SmallTest -class ResetPasswordSuccessTest { - - private val events = Events() - private val checkThat = Matchers() - - @Rule - @JvmField - val activityRule: IntentsTestRule = object : IntentsTestRule(LoginActivity::class.java) { - override fun getActivityIntent(): Intent { - val targetContext = InstrumentationRegistry.getInstrumentation() - .targetContext - return Intent(targetContext, LoginActivity::class.java) - .putExtra(IntentKey.EMAIL, "email@test.com") - .putExtra(IntentKey.LOGIN_REASON, LoginReason.RESET_PASSWORD) - } - } - - @Test - fun testShowingResetPasswordSuccessDialogAndPrefillingEmail() { - checkThat.textMatches(R.id.message_text_view, "We’ve sent an email to email@test.com with instructions to reset your password.") - events.clickOnView(R.id.ok_button) - checkThat.textMatches(R.id.email, "email@test.com") - } -} diff --git a/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/utils/Events.kt b/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/utils/Events.kt deleted file mode 100644 index 2c9ac01fc7..0000000000 --- a/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/utils/Events.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.kickstarter.testing.utils - -import android.widget.Button -import androidx.annotation.IdRes -import androidx.test.espresso.Espresso.onView -import androidx.test.espresso.action.ViewActions.click -import androidx.test.espresso.matcher.RootMatchers.isDialog -import androidx.test.espresso.matcher.ViewMatchers.withId -import androidx.test.espresso.matcher.ViewMatchers.withText -import org.hamcrest.core.AllOf.allOf -import org.hamcrest.core.IsInstanceOf.instanceOf - -class Events { - - fun clickOnView(@IdRes viewId: Int) { - onView(withId(viewId)).perform(click()) - } - - fun clickOnButtonInDialog(text: String) { - onView(allOf(instanceOf(Button::class.java), withText(text))).inRoot(isDialog()).perform(click()) - } -} diff --git a/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/utils/Matchers.kt b/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/utils/Matchers.kt deleted file mode 100644 index 0dc049c78b..0000000000 --- a/app/src/androidTestRegressionDebug/java/com/kickstarter/testing/utils/Matchers.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.kickstarter.testing.utils - -import android.app.Activity -import androidx.test.espresso.Espresso.onView -import androidx.test.espresso.assertion.ViewAssertions.matches -import androidx.test.espresso.intent.Intents.intended -import androidx.test.espresso.intent.matcher.IntentMatchers -import androidx.test.espresso.matcher.ViewMatchers.withId -import androidx.test.espresso.matcher.ViewMatchers.withText - -class Matchers { - - fun nextOpenActivityIs(activity: Class) { - intended(IntentMatchers.hasComponent(activity.name)) - } - - fun textMatches(textViewId: Int, textToMatch: String) { - onView(withId(textViewId)).check(matches(withText(textToMatch))) - } -} diff --git a/app/src/internalDebug/AndroidManifest.xml b/app/src/internalDebug/AndroidManifest.xml new file mode 100644 index 0000000000..44b9249efc --- /dev/null +++ b/app/src/internalDebug/AndroidManifest.xml @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 93e92c99d1..9d7799f8fd 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,8 @@ + package="com.kickstarter" + android:sharedUserId="com.kickstarter"> diff --git a/app/src/regression/AndroidManifest.xml b/app/src/regression/AndroidManifest.xml deleted file mode 100644 index 5c83bb1425..0000000000 --- a/app/src/regression/AndroidManifest.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/app/src/regression/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/regression/res/mipmap-anydpi-v26/ic_launcher.xml deleted file mode 100644 index 5ed0a2df70..0000000000 --- a/app/src/regression/res/mipmap-anydpi-v26/ic_launcher.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/src/regression/res/mipmap-hdpi/ic_launcher.png b/app/src/regression/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index f6e46c6e79df5434eb055c3478e5dda65e911728..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3074 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 FV1nqrIFA4T diff --git a/app/src/regression/res/mipmap-xxhdpi/ic_launcher.png b/app/src/regression/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index a6b1baad644a95f6d1f9a837bb2f5b6381a4a070..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7217 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 diff --git a/app/src/regression/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/regression/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 9ce021e135980e63ee1a8b046ad9554298516335..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10484 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 - - #2962FF - diff --git a/app/src/regression/res/values/strings.xml b/app/src/regression/res/values/strings.xml deleted file mode 100644 index 0aa6266e9c..0000000000 --- a/app/src/regression/res/values/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - KSR Test -