diff options
author | zeapo <mohamed@zenadi.com> | 2014-12-18 23:35:36 +0100 |
---|---|---|
committer | zeapo <mohamed@zenadi.com> | 2015-01-04 14:53:59 +0100 |
commit | 78a2494d5e6fc2e479a5a4d98891d5ee1e04aeeb (patch) | |
tree | debf00f0bfe7fd3e00e3408aa5d7964f00cec25b /app/src/androidTest/java/com | |
parent | 3ca806d699182f3233c2425bd407988540083758 (diff) |
starting to write tests
Diffstat (limited to 'app/src/androidTest/java/com')
-rw-r--r-- | app/src/androidTest/java/com/zeapo/pwdstore/ApplicationTest.java | 13 | ||||
-rw-r--r-- | app/src/androidTest/java/com/zeapo/pwdstore/GitActivityTest.java | 74 |
2 files changed, 74 insertions, 13 deletions
diff --git a/app/src/androidTest/java/com/zeapo/pwdstore/ApplicationTest.java b/app/src/androidTest/java/com/zeapo/pwdstore/ApplicationTest.java deleted file mode 100644 index e0cf8c74..00000000 --- a/app/src/androidTest/java/com/zeapo/pwdstore/ApplicationTest.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.zeapo.pwdstore; - -import android.app.Application; -import android.test.ApplicationTestCase; - -/** - * <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a> - */ -public class ApplicationTest extends ApplicationTestCase<Application> { - public ApplicationTest() { - super(Application.class); - } -}
\ No newline at end of file diff --git a/app/src/androidTest/java/com/zeapo/pwdstore/GitActivityTest.java b/app/src/androidTest/java/com/zeapo/pwdstore/GitActivityTest.java new file mode 100644 index 00000000..83995b51 --- /dev/null +++ b/app/src/androidTest/java/com/zeapo/pwdstore/GitActivityTest.java @@ -0,0 +1,74 @@ +package com.zeapo.pwdstore; + +import android.app.Activity; +import android.app.Instrumentation; +import android.content.Intent; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; +import android.test.ActivityInstrumentationTestCase2; +import android.test.ActivityTestCase; +import android.test.InstrumentationTestCase; +import android.util.Log; +import android.widget.EditText; +import android.widget.Spinner; + +import com.zeapo.pwdstore.git.GitActivity; + +public class GitActivityTest extends ActivityInstrumentationTestCase2<GitActivity> { + private Activity gitActivity; + private Instrumentation mInstrumentation; + private SharedPreferences settings; + + private Spinner protocolSpinner; + private Spinner connectionModeSpinner; + private EditText uri; + private EditText server_url; + private EditText server_port; + private EditText server_path; + private EditText server_user; + + public GitActivityTest() { + super(GitActivity.class); + } + + protected void setUp() throws Exception { + super.setUp(); + mInstrumentation = getInstrumentation(); + + Intent intent = new Intent(); + intent.putExtra("Operation", GitActivity.EDIT_SERVER); + setActivityIntent(intent); + + gitActivity = getActivity(); // get a references to the app under test + assertNotNull(gitActivity); + + settings = PreferenceManager.getDefaultSharedPreferences(gitActivity.getApplicationContext()); + + uri = (EditText) gitActivity.findViewById(R.id.clone_uri); + server_url = ((EditText) gitActivity.findViewById(R.id.server_url)); + server_port = ((EditText) gitActivity.findViewById(R.id.server_port)); + server_path = ((EditText) gitActivity.findViewById(R.id.server_path)); + server_user = ((EditText) gitActivity.findViewById(R.id.server_user)); + protocolSpinner = (Spinner) gitActivity.findViewById(R.id.clone_protocol); + connectionModeSpinner = (Spinner) gitActivity.findViewById(R.id.connection_mode); + + assertEquals(protocolSpinner.getSelectedItem(), settings.getString("git_remote_protocol", "ssh://")); + assertEquals(connectionModeSpinner.getSelectedItem(), settings.getString("git_remote_auth", "ssh-key")); + } + + /** + * If we change from ssh protocol to https we automatically switch to username/password auth + * @throws Exception + */ + public void testSpinnerChange() throws Exception{ + gitActivity.runOnUiThread(new Runnable() { + public void run() { + protocolSpinner.requestFocus(); + protocolSpinner.setSelection(1); // 1 < is https:// + } + }); + mInstrumentation.waitForIdleSync(); + + assertEquals(connectionModeSpinner.getSelectedItem(), "username/password"); // 1 < is username/password + } +} |