summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2018-12-12 16:57:40 +0100
committerTobrun <tobrun@mapbox.com>2019-01-10 08:59:45 +0100
commit3a77ea6ff77558e3182510ef0f90000039b29bfe (patch)
treeaf6e1c180f3721dc6c0c63ff84e5d525bcab98bc /platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity
parent4be73454e64c498723abddf462026ecdb9d4ef94 (diff)
downloadqtlocation-mapboxgl-3a77ea6ff77558e3182510ef0f90000039b29bfe.tar.gz
[android] - espresso tests rework
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseTest.java (renamed from platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseActivityTest.java)27
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/EspressoTest.java24
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/activity.junit.ejs13
3 files changed, 47 insertions, 17 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseActivityTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseTest.java
index a0168cc63d..ea69f8adae 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseActivityTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseTest.java
@@ -3,6 +3,7 @@ package com.mapbox.mapboxsdk.testapp.activity;
import android.app.Activity;
import android.support.test.espresso.Espresso;
import android.support.test.espresso.IdlingRegistry;
+import android.support.test.espresso.IdlingResource;
import android.support.test.espresso.IdlingResourceTimeoutException;
import android.support.test.espresso.ViewInteraction;
import android.support.test.rule.ActivityTestRule;
@@ -12,8 +13,9 @@ import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.testapp.R;
import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction;
import com.mapbox.mapboxsdk.testapp.action.WaitAction;
-import com.mapbox.mapboxsdk.testapp.utils.OnMapReadyIdlingResource;
+import com.mapbox.mapboxsdk.testapp.utils.FinishLoadingStyleIdlingResource;
+import com.mapbox.mapboxsdk.testapp.utils.MapboxIdlingResource;
import junit.framework.Assert;
import org.junit.After;
@@ -28,7 +30,10 @@ import static android.support.test.espresso.assertion.ViewAssertions.matches;
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
import static android.support.test.espresso.matcher.ViewMatchers.withId;
-public abstract class BaseActivityTest {
+/**
+ * Base class for all Activity test hooking into an existing Activity that will load style.
+ */
+public abstract class BaseTest {
@Rule
public ActivityTestRule<Activity> rule = new ActivityTestRule<>(getActivityClass());
@@ -37,7 +42,7 @@ public abstract class BaseActivityTest {
public TestName testNameRule = new TestName();
protected MapboxMap mapboxMap;
- protected OnMapReadyIdlingResource idlingResource;
+ protected MapboxIdlingResource idlingResource;
@Before
public void beforeTest() {
@@ -48,19 +53,25 @@ public abstract class BaseActivityTest {
testNameRule.getMethodName(),
"@Before test: register idle resource"
));
- idlingResource = new OnMapReadyIdlingResource(rule.getActivity());
+ idlingResource = (MapboxIdlingResource) generateIdlingResource();
IdlingRegistry.getInstance().register(idlingResource);
Espresso.onIdle();
mapboxMap = idlingResource.getMapboxMap();
} catch (IdlingResourceTimeoutException idlingResourceTimeoutException) {
- throw new RuntimeException(String.format("Could not start %s test for %s.\n Either the ViewHierarchy doesn't "
- + "contain a view with resource id = R.id.mapView or \n the hosting Activity wasn't in an idle state.",
- testNameRule.getMethodName(),
- getActivityClass().getSimpleName())
+ throw new RuntimeException(
+ String.format(
+ "Could not start %s test for %s.",
+ testNameRule.getMethodName(),
+ getActivityClass().getSimpleName()
+ )
);
}
}
+ protected IdlingResource generateIdlingResource() {
+ return new FinishLoadingStyleIdlingResource(rule.getActivity());
+ }
+
protected void validateTestSetup() {
if (!Mapbox.isConnected()) {
Timber.e("Not connected to the internet while running test");
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/EspressoTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/EspressoTest.java
new file mode 100644
index 0000000000..dfb4a46180
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/EspressoTest.java
@@ -0,0 +1,24 @@
+package com.mapbox.mapboxsdk.testapp.activity;
+
+import android.support.test.espresso.IdlingResource;
+import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity;
+import com.mapbox.mapboxsdk.testapp.utils.LoadStyleIdlingResource;
+
+/**
+ * Base class for all tests using EspressoTestActivity as wrapper.
+ * <p>
+ * Uses {@link LoadStyleIdlingResource} to load "assets/streets.json" as style.
+ * </p>
+ */
+public class EspressoTest extends BaseTest {
+
+ @Override
+ protected IdlingResource generateIdlingResource() {
+ return new LoadStyleIdlingResource(rule.getActivity());
+ }
+
+ @Override
+ protected final Class getActivityClass() {
+ return EspressoTestActivity.class;
+ }
+}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/activity.junit.ejs b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/activity.junit.ejs
index 03d4de17f4..22082400b5 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/activity.junit.ejs
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/activity.junit.ejs
@@ -7,27 +7,22 @@ package com.mapbox.mapboxsdk.testapp.activity.gen.<%- subPackage %>;
import android.support.test.runner.AndroidJUnit4;
-import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
-import com.mapbox.mapboxsdk.testapp.R;
+import com.mapbox.mapboxsdk.testapp.activity.BaseTest;
import com.mapbox.mapboxsdk.testapp.activity.<%- subPackage %>.<%- activity %>;
+import junit.framework.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
-import static android.support.test.espresso.Espresso.onView;
-import static android.support.test.espresso.assertion.ViewAssertions.matches;
-import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
-import static android.support.test.espresso.matcher.ViewMatchers.withId;
-
/**
* Sanity test for <%- activity %>
*/
@RunWith(AndroidJUnit4.class)
-public class <%- activity %>Test extends BaseActivityTest {
+public class <%- activity %>Test extends BaseTest {
@Test
public void testSanity() {
- validateTestSetup();
+
}
@Override