From dc9008561ed964b871a1cce2a208c3f69fd01dd1 Mon Sep 17 00:00:00 2001 From: Sean Mac Gillicuddy Date: Mon, 15 Jul 2019 16:33:10 +0100 Subject: [PATCH] #1212 move automated tests to same package --- app/build.gradle | 1 + .../org/kiwix/kiwixmobile/BaseActivityTest.kt | 2 + .../java/org/kiwix/kiwixmobile/BaseRobot.kt | 2 + .../java/org/kiwix/kiwixmobile/Findable.kt | 2 + .../di/components/TestComponent.java | 2 +- .../kiwixmobile/di/modules/TestJNIModule.java | 0 .../di/modules/TestNetworkModule.java | 0 .../kiwixmobile/help/HelpActivityTest.java | 0 .../kiwixmobile/intro/IntroActivityTest.kt | 38 +++++++ .../org/kiwix/kiwixmobile/intro/IntroRobot.kt | 2 + .../language/LanguageActivityTest.java | 0 .../kiwixmobile}/local/BookDatabaseTest.java | 3 +- .../local/RecentSearchDatabaseTest.java | 3 +- .../kiwixmobile/main/MainActivityTest.java | 0 .../splash/SplashActivityTest.java | 0 .../kiwix/kiwixmobile/tests/BasicTest.java | 0 .../kiwix/kiwixmobile/tests/ContentTest.java | 0 .../kiwix/kiwixmobile/tests/DownloadTest.java | 0 .../kiwix/kiwixmobile/tests/NetworkTest.java | 4 - .../kiwix/kiwixmobile/tests/SettingsTest.java | 0 .../org/kiwix/kiwixmobile/tests/ZimTest.java | 0 .../activities/BookmarksActivityTest.java | 0 .../tests/activities/SearchActivityTest.java | 0 .../activities/SettingsActivityTest.java | 0 .../activities/ZimManageActivityTest.java | 0 .../tests/activities/package-info.java | 0 .../org/kiwix/kiwixmobile/utils/IOUtils.java | 0 .../utils/KiwixIdlingResource.java | 0 .../utils/RecyclerViewItemCountAssertion.java | 0 .../kiwixmobile/utils/StandardActions.java | 0 .../utils/TestNetworkInterceptor.java | 0 .../files/FileUtilsInstrumentationTest.java | 0 .../resources/library.xml | 0 .../resources/summary | 0 .../resources/test.zim.meta4 | 0 .../resources/testpage | 0 .../resources/testzim.zim | Bin app/src/androidTestKiwix/README.md | 32 ------ .../kiwixmobile/intro/IntroActivityTest.java | 102 ------------------ 39 files changed, 52 insertions(+), 141 deletions(-) create mode 100644 app/src/androidTest/java/org/kiwix/kiwixmobile/BaseActivityTest.kt create mode 100644 app/src/androidTest/java/org/kiwix/kiwixmobile/BaseRobot.kt create mode 100644 app/src/androidTest/java/org/kiwix/kiwixmobile/Findable.kt rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/di/components/TestComponent.java (96%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/di/modules/TestJNIModule.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/di/modules/TestNetworkModule.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/help/HelpActivityTest.java (100%) create mode 100644 app/src/androidTest/java/org/kiwix/kiwixmobile/intro/IntroActivityTest.kt create mode 100644 app/src/androidTest/java/org/kiwix/kiwixmobile/intro/IntroRobot.kt rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/language/LanguageActivityTest.java (100%) rename app/src/{androidTestKiwix/java/org/kiwix/kiwixmobile/data => androidTest/java/org/kiwix/kiwixmobile}/local/BookDatabaseTest.java (98%) rename app/src/{androidTestKiwix/java/org/kiwix/kiwixmobile/data => androidTest/java/org/kiwix/kiwixmobile}/local/RecentSearchDatabaseTest.java (96%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/main/MainActivityTest.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/splash/SplashActivityTest.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/tests/BasicTest.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/tests/ContentTest.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/tests/DownloadTest.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/tests/NetworkTest.java (98%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/tests/SettingsTest.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/tests/ZimTest.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/tests/activities/BookmarksActivityTest.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/tests/activities/SearchActivityTest.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/tests/activities/SettingsActivityTest.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/tests/activities/ZimManageActivityTest.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/tests/activities/package-info.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/utils/IOUtils.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/utils/KiwixIdlingResource.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/utils/RecyclerViewItemCountAssertion.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/utils/StandardActions.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/utils/TestNetworkInterceptor.java (100%) rename app/src/{androidTestKiwix => androidTest}/java/org/kiwix/kiwixmobile/utils/files/FileUtilsInstrumentationTest.java (100%) rename app/src/{androidTestKiwix => androidTest}/resources/library.xml (100%) rename app/src/{androidTestKiwix => androidTest}/resources/summary (100%) rename app/src/{androidTestKiwix => androidTest}/resources/test.zim.meta4 (100%) rename app/src/{androidTestKiwix => androidTest}/resources/testpage (100%) rename app/src/{androidTestKiwix => androidTest}/resources/testzim.zim (100%) delete mode 100644 app/src/androidTestKiwix/README.md delete mode 100644 app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/intro/IntroActivityTest.java diff --git a/app/build.gradle b/app/build.gradle index 37539c74e..5ff5b60c1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -135,6 +135,7 @@ dependencies { testImplementation "org.assertj:assertj-core:3.11.1" testImplementation 'com.jraska.livedata:testing-ktx:1.1.0' testImplementation 'androidx.arch.core:core-testing:2.0.1' + androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0' } // Set custom app import directory diff --git a/app/src/androidTest/java/org/kiwix/kiwixmobile/BaseActivityTest.kt b/app/src/androidTest/java/org/kiwix/kiwixmobile/BaseActivityTest.kt new file mode 100644 index 000000000..ed70f4a36 --- /dev/null +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/BaseActivityTest.kt @@ -0,0 +1,2 @@ +package org.kiwix.kiwixmobile + diff --git a/app/src/androidTest/java/org/kiwix/kiwixmobile/BaseRobot.kt b/app/src/androidTest/java/org/kiwix/kiwixmobile/BaseRobot.kt new file mode 100644 index 000000000..ed70f4a36 --- /dev/null +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/BaseRobot.kt @@ -0,0 +1,2 @@ +package org.kiwix.kiwixmobile + diff --git a/app/src/androidTest/java/org/kiwix/kiwixmobile/Findable.kt b/app/src/androidTest/java/org/kiwix/kiwixmobile/Findable.kt new file mode 100644 index 000000000..ed70f4a36 --- /dev/null +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/Findable.kt @@ -0,0 +1,2 @@ +package org.kiwix.kiwixmobile + diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/di/components/TestComponent.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/di/components/TestComponent.java similarity index 96% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/di/components/TestComponent.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/di/components/TestComponent.java index 2eadda698..08f78df25 100644 --- a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/di/components/TestComponent.java +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/di/components/TestComponent.java @@ -45,7 +45,7 @@ public interface TestComponent extends ApplicationComponent { @Component.Builder interface Builder { - @BindsInstance TestComponent.Builder context(Context context); + @BindsInstance Builder context(Context context); TestComponent build(); } diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/di/modules/TestJNIModule.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/di/modules/TestJNIModule.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/di/modules/TestJNIModule.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/di/modules/TestJNIModule.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/di/modules/TestNetworkModule.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/di/modules/TestNetworkModule.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/di/modules/TestNetworkModule.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/di/modules/TestNetworkModule.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/help/HelpActivityTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/help/HelpActivityTest.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/help/HelpActivityTest.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/help/HelpActivityTest.java diff --git a/app/src/androidTest/java/org/kiwix/kiwixmobile/intro/IntroActivityTest.kt b/app/src/androidTest/java/org/kiwix/kiwixmobile/intro/IntroActivityTest.kt new file mode 100644 index 000000000..61868c672 --- /dev/null +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/intro/IntroActivityTest.kt @@ -0,0 +1,38 @@ +/* + * Kiwix Android + * Copyright (C) 2018 Kiwix + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package org.kiwix.kiwixmobile.intro + +import androidx.test.ext.junit.runners.AndroidJUnit4 +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.kiwix.kiwixmobile.BaseActivityTest + +@RunWith(AndroidJUnit4::class) +class IntroActivityKtTest : BaseActivityTest() { + @get:Rule + override var activityRule = activityTestRule() + + @Test + fun viewIsSwipeableAnd() { + intro { + swipeLeft() + swipeRight() + } clickGetStarted { } + } +} diff --git a/app/src/androidTest/java/org/kiwix/kiwixmobile/intro/IntroRobot.kt b/app/src/androidTest/java/org/kiwix/kiwixmobile/intro/IntroRobot.kt new file mode 100644 index 000000000..0aaac64e6 --- /dev/null +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/intro/IntroRobot.kt @@ -0,0 +1,2 @@ +package org.kiwix.kiwixmobile.intro + diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/language/LanguageActivityTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/language/LanguageActivityTest.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/language/LanguageActivityTest.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/language/LanguageActivityTest.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/data/local/BookDatabaseTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/local/BookDatabaseTest.java similarity index 98% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/data/local/BookDatabaseTest.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/local/BookDatabaseTest.java index dbf39be8a..0bf2bb0d7 100644 --- a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/data/local/BookDatabaseTest.java +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/local/BookDatabaseTest.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package org.kiwix.kiwixmobile.data.local; +package org.kiwix.kiwixmobile.local; import android.content.Context; import androidx.test.InstrumentationRegistry; @@ -28,6 +28,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.kiwix.kiwixmobile.data.local.KiwixDatabase; import org.kiwix.kiwixmobile.data.local.dao.BookDao; import org.kiwix.kiwixmobile.data.local.entity.BookDatabaseEntity; import org.kiwix.kiwixmobile.library.entity.LibraryNetworkEntity.Book; diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/data/local/RecentSearchDatabaseTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/local/RecentSearchDatabaseTest.java similarity index 96% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/data/local/RecentSearchDatabaseTest.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/local/RecentSearchDatabaseTest.java index 6459901c0..348e8aa58 100644 --- a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/data/local/RecentSearchDatabaseTest.java +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/local/RecentSearchDatabaseTest.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package org.kiwix.kiwixmobile.data.local; +package org.kiwix.kiwixmobile.local; import com.yahoo.squidb.data.AbstractModel; import com.yahoo.squidb.data.SquidCursor; @@ -24,6 +24,7 @@ import com.yahoo.squidb.sql.Query; import org.junit.Before; import org.junit.Test; import org.kiwix.kiwixmobile.data.ZimContentProvider; +import org.kiwix.kiwixmobile.data.local.KiwixDatabase; import org.kiwix.kiwixmobile.data.local.dao.RecentSearchDao; import org.kiwix.kiwixmobile.data.local.entity.RecentSearch; import org.mockito.Mock; diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/main/MainActivityTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/main/MainActivityTest.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/main/MainActivityTest.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/main/MainActivityTest.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/splash/SplashActivityTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/splash/SplashActivityTest.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/splash/SplashActivityTest.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/splash/SplashActivityTest.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/BasicTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/tests/BasicTest.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/BasicTest.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/tests/BasicTest.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/ContentTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/tests/ContentTest.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/ContentTest.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/tests/ContentTest.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/DownloadTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/tests/DownloadTest.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/DownloadTest.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/tests/DownloadTest.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/NetworkTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/tests/NetworkTest.java similarity index 98% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/NetworkTest.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/tests/NetworkTest.java index d3d6673e0..036ca62d9 100644 --- a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/NetworkTest.java +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/tests/NetworkTest.java @@ -28,10 +28,6 @@ import com.schibsted.spain.barista.interaction.BaristaMenuClickInteractions; import com.schibsted.spain.barista.interaction.BaristaSleepInteractions; import java.io.IOException; import java.io.InputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; import java.util.concurrent.TimeUnit; import javax.inject.Inject; import okhttp3.mockwebserver.MockResponse; diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/SettingsTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/tests/SettingsTest.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/SettingsTest.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/tests/SettingsTest.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/ZimTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/tests/ZimTest.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/ZimTest.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/tests/ZimTest.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/activities/BookmarksActivityTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/tests/activities/BookmarksActivityTest.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/activities/BookmarksActivityTest.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/tests/activities/BookmarksActivityTest.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/activities/SearchActivityTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/tests/activities/SearchActivityTest.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/activities/SearchActivityTest.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/tests/activities/SearchActivityTest.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/activities/SettingsActivityTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/tests/activities/SettingsActivityTest.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/activities/SettingsActivityTest.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/tests/activities/SettingsActivityTest.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/activities/ZimManageActivityTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/tests/activities/ZimManageActivityTest.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/activities/ZimManageActivityTest.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/tests/activities/ZimManageActivityTest.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/activities/package-info.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/tests/activities/package-info.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/activities/package-info.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/tests/activities/package-info.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/utils/IOUtils.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/utils/IOUtils.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/utils/IOUtils.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/utils/IOUtils.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/utils/KiwixIdlingResource.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/utils/KiwixIdlingResource.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/utils/KiwixIdlingResource.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/utils/KiwixIdlingResource.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/utils/RecyclerViewItemCountAssertion.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/utils/RecyclerViewItemCountAssertion.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/utils/RecyclerViewItemCountAssertion.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/utils/RecyclerViewItemCountAssertion.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/utils/StandardActions.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/utils/StandardActions.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/utils/StandardActions.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/utils/StandardActions.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/utils/TestNetworkInterceptor.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/utils/TestNetworkInterceptor.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/utils/TestNetworkInterceptor.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/utils/TestNetworkInterceptor.java diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/utils/files/FileUtilsInstrumentationTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/utils/files/FileUtilsInstrumentationTest.java similarity index 100% rename from app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/utils/files/FileUtilsInstrumentationTest.java rename to app/src/androidTest/java/org/kiwix/kiwixmobile/utils/files/FileUtilsInstrumentationTest.java diff --git a/app/src/androidTestKiwix/resources/library.xml b/app/src/androidTest/resources/library.xml similarity index 100% rename from app/src/androidTestKiwix/resources/library.xml rename to app/src/androidTest/resources/library.xml diff --git a/app/src/androidTestKiwix/resources/summary b/app/src/androidTest/resources/summary similarity index 100% rename from app/src/androidTestKiwix/resources/summary rename to app/src/androidTest/resources/summary diff --git a/app/src/androidTestKiwix/resources/test.zim.meta4 b/app/src/androidTest/resources/test.zim.meta4 similarity index 100% rename from app/src/androidTestKiwix/resources/test.zim.meta4 rename to app/src/androidTest/resources/test.zim.meta4 diff --git a/app/src/androidTestKiwix/resources/testpage b/app/src/androidTest/resources/testpage similarity index 100% rename from app/src/androidTestKiwix/resources/testpage rename to app/src/androidTest/resources/testpage diff --git a/app/src/androidTestKiwix/resources/testzim.zim b/app/src/androidTest/resources/testzim.zim similarity index 100% rename from app/src/androidTestKiwix/resources/testzim.zim rename to app/src/androidTest/resources/testzim.zim diff --git a/app/src/androidTestKiwix/README.md b/app/src/androidTestKiwix/README.md deleted file mode 100644 index d4cf24a22..000000000 --- a/app/src/androidTestKiwix/README.md +++ /dev/null @@ -1,32 +0,0 @@ -This is the readme for testing Kiwix Android. As you can see there are already some tests in this directory and others. -The Directory structure works as follows: - -* test - unit tests -* androidTest - instrumentation tests -* androidTestKiwix - instrumentation tests only for the Kiwix flavour (no custom apps) - -Instrumentation tests mainly utilize [Espresso](https://developer.android.com/training/testing/ui-testing/espresso-testing.html) -although [UI Automator](https://developer.android.com/training/testing/ui-testing/uiautomator-testing.html) is used for some -workarounds such as accepting permissions where out of app interaction is required. - -Creating a new test is simple. - -1. I advice using the test recorder in Android Studio to get the basic flow of your test down. -2. Note down any interactions which were not recordered. -3. Generate the test using the tool and give it an appropriate name. -4. Reimplement in code the interactions that were not recordered. -5. Listview interactions should be handled delicately view examples in DownloadTest.java -6. Idling resources e.g network and file system should be identified and hooked up to the test suite. There is a static method to call -binding your resource at the start and unbinding at the end. Espresso will pause itself while the resource is active. Call -TestingUtils.bindResource(MyClass.class); and TestingUtils.unbindResource(MyClass.class); -7. Other issues may arise so test. -8. (optional) Mock components of the app, swapping them out with dependency injection. (See NetworkTest.java and ZimTest.java) - - -Once generated tests with the correct annotations (created by creation tool) should be run automatically. - -Once Travis builds an APK it pushes it to [testdroid](https://cloud.testdroid.com/) where it is run on a variety of devices. -The result is passed back to Travis and the build either passes or fails. - -There is a possiblity of unrelated issues causing a test to fail e.g network failure, broken device. A rebuild in travis can be -triggered to try again and individual devices can be retried on testdroid. diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/intro/IntroActivityTest.java b/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/intro/IntroActivityTest.java deleted file mode 100644 index b4f1cbd7e..000000000 --- a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/intro/IntroActivityTest.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Kiwix Android - * Copyright (C) 2018 Kiwix - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package org.kiwix.kiwixmobile.intro; - -import android.Manifest; -import androidx.test.espresso.ViewInteraction; -import androidx.test.espresso.intent.Intents; -import androidx.test.filters.LargeTest; -import androidx.test.rule.GrantPermissionRule; -import androidx.test.runner.AndroidJUnit4; -import com.schibsted.spain.barista.interaction.BaristaSleepInteractions; -import com.schibsted.spain.barista.rule.BaristaRule; -import org.junit.After; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.kiwix.kiwixmobile.R; -import org.kiwix.kiwixmobile.main.MainActivity; - -import static androidx.test.espresso.Espresso.onView; -import static androidx.test.espresso.action.ViewActions.click; -import static androidx.test.espresso.action.ViewActions.swipeLeft; -import static androidx.test.espresso.action.ViewActions.swipeRight; -import static androidx.test.espresso.assertion.ViewAssertions.matches; -import static androidx.test.espresso.intent.Intents.intended; -import static androidx.test.espresso.intent.matcher.IntentMatchers.hasComponent; -import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed; -import static androidx.test.espresso.matcher.ViewMatchers.withId; -import static androidx.test.espresso.matcher.ViewMatchers.withText; -import static org.hamcrest.Matchers.allOf; -import static org.hamcrest.core.IsNull.notNullValue; -import static org.kiwix.kiwixmobile.testutils.TestUtils.TEST_PAUSE_MS; - -@LargeTest -@RunWith(AndroidJUnit4.class) -public class IntroActivityTest { - - @Rule - public BaristaRule activityTestRule = BaristaRule.create(IntroActivity.class); - @Rule - public GrantPermissionRule readPermissionRule = - GrantPermissionRule.grant(Manifest.permission.READ_EXTERNAL_STORAGE); - @Rule - public GrantPermissionRule writePermissionRule = - GrantPermissionRule.grant(Manifest.permission.WRITE_EXTERNAL_STORAGE); - - @Before - public void setUp() { - Intents.init(); - activityTestRule.launchActivity(); - } - - @Test - public void testIntroActivity() { - BaristaSleepInteractions.sleep(TEST_PAUSE_MS); - ViewInteraction viewPager = onView(withId(R.id.view_pager)); - - // Verify that the sliding view is working properly - viewPager.perform(swipeLeft()); - onView(allOf(withId(R.id.heading), withText(R.string.save_books_offline), isDisplayed())) - .check(matches(notNullValue())); - onView(allOf(withId(R.id.subheading), withText(R.string.download_books_message), isDisplayed())) - .check(matches(notNullValue())); - - BaristaSleepInteractions.sleep(TEST_PAUSE_MS); - viewPager.perform(swipeRight()); - onView(allOf(withId(R.id.heading), withText(R.string.welcome_to_the_family), isDisplayed())) - .check(matches(notNullValue())); - onView(allOf(withId(R.id.subheading), withText(R.string.human_kind_knowledge), isDisplayed())) - .check(matches(notNullValue())); - - // Verify that the button is there - onView(withId(R.id.get_started)).check(matches(notNullValue())); - onView(withId(R.id.get_started)).check(matches(withText(R.string.get_started))); - onView(withId(R.id.get_started)).perform(click()); - - // Test the intent generated for MainActivity - intended(hasComponent(MainActivity.class.getName())); - } - - @After - public void endTest() { - Intents.release(); - } -}