summaryrefslogtreecommitdiff
path: root/app/src/androidTest/java/se/leap/bitmaskclient/test/testConfigurationWizard.java
diff options
context:
space:
mode:
authorParménides GV <parmegv@sdf.org>2014-04-09 16:03:55 +0200
committerParménides GV <parmegv@sdf.org>2014-04-09 16:07:34 +0200
commit1684c8f398922065a97e7da4dac4ac6a33cc5218 (patch)
tree76a4b11ae0d7b217c088f3c2b8fc7e69a7b8ae0d /app/src/androidTest/java/se/leap/bitmaskclient/test/testConfigurationWizard.java
parentb9a2b085a8f508cd09e2639c70be845c992c4a3e (diff)
Back to the standard "app" module.
This return to "app" instead of "bitmask_android" is due to this reading: https://developer.android.com/sdk/installing/studio-build.html#projectStructure I'll have to tweak the final apk name in build.gradle.
Diffstat (limited to 'app/src/androidTest/java/se/leap/bitmaskclient/test/testConfigurationWizard.java')
-rw-r--r--app/src/androidTest/java/se/leap/bitmaskclient/test/testConfigurationWizard.java65
1 files changed, 65 insertions, 0 deletions
diff --git a/app/src/androidTest/java/se/leap/bitmaskclient/test/testConfigurationWizard.java b/app/src/androidTest/java/se/leap/bitmaskclient/test/testConfigurationWizard.java
new file mode 100644
index 00000000..847d8cdd
--- /dev/null
+++ b/app/src/androidTest/java/se/leap/bitmaskclient/test/testConfigurationWizard.java
@@ -0,0 +1,65 @@
+package se.leap.bitmaskclient.test;
+
+import android.test.ActivityInstrumentationTestCase2;
+import android.widget.ListView;
+import com.jayway.android.robotium.solo.Solo;
+import java.io.IOException;
+import se.leap.bitmaskclient.AboutActivity;
+import se.leap.bitmaskclient.ConfigurationWizard;
+import se.leap.bitmaskclient.ProviderDetailFragment;
+import se.leap.bitmaskclient.R;
+import se.leap.bitmaskclient.test.ConnectionManager;
+
+public class testConfigurationWizard extends ActivityInstrumentationTestCase2<ConfigurationWizard> {
+
+ private Solo solo;
+ private static int added_providers;
+
+ public testConfigurationWizard() {
+ super(ConfigurationWizard.class);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ solo = new Solo(getInstrumentation(), getActivity());
+ ConnectionManager.setMobileDataEnabled(true, solo.getCurrentActivity().getApplicationContext());
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ solo.finishOpenedActivities();
+ }
+
+ public void testListProviders() throws IOException {
+ assertEquals(solo.getCurrentViews(ListView.class).size(), 1);
+
+ int number_of_available_providers = solo.getCurrentViews(ListView.class).get(0).getCount();
+
+ assertEquals("Number of available providers differ", solo.getCurrentActivity().getAssets().list("urls").length + added_providers, number_of_available_providers);
+ }
+
+ public void testSelectProvider() {
+ solo.clickOnText("bitmask");
+ assertTrue("Provider details dialog did not appear", solo.waitForFragmentByTag(ProviderDetailFragment.TAG, 60*1000));
+ }
+
+ public void testAddNewProvider() {
+ solo.clickOnActionBarItem(R.id.new_provider);
+ solo.enterText(0, "dev.bitmask.net");
+ solo.clickOnCheckBox(0);
+ solo.clickOnText(solo.getString(R.string.save));
+ added_providers = added_providers+1;
+ assertTrue("Provider details dialog did not appear", solo.waitForFragmentByTag(ProviderDetailFragment.TAG, 60*1000));
+ solo.goBack();
+ }
+
+ public void testShowAbout() {
+ solo.clickOnMenuItem(solo.getString(R.string.about));
+ assertTrue("Provider details dialog did not appear", solo.waitForActivity(AboutActivity.class));
+ }
+
+ public void testShowSettings() {
+ //TODO We still don't have the settings button
+ }
+}