diff options
author | Parménides GV <parmegv@sdf.org> | 2015-05-01 10:32:28 +0200 |
---|---|---|
committer | Parménides GV <parmegv@sdf.org> | 2015-05-01 10:37:51 +0200 |
commit | 925a76a9d20e8cdf87c852c7ccd20f4bd4c754c9 (patch) | |
tree | 4c182c93eed2dd52d74dda32d50bfbd3f59e51b1 /app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java | |
parent | e2e90dab0fcad09b342630617dd9da8be3d23f8c (diff) |
Separated tests for UserStatusFragment.
This way, I can add more easily the tests for errors.
Diffstat (limited to 'app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java')
-rw-r--r-- | app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java b/app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java new file mode 100644 index 00000000..a8b6bfe8 --- /dev/null +++ b/app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java @@ -0,0 +1,54 @@ +package se.leap.bitmaskclient.test; + +import android.view.View; + +import com.robotium.solo.Solo; + +import se.leap.bitmaskclient.R; + +public class UserStatusTestController { + private final Solo solo; + + public UserStatusTestController(Solo solo) { + this.solo = solo; + } + + void clickUserSessionButton() { + solo.clickOnView(getUserSessionButton()); + } + + View getUserSessionButton() throws IllegalStateException { + View view = solo.getView(R.id.user_status_button); + if(view == null) + throw new IllegalStateException(); + + return view; + } + + void logIn(String username, String password) { + solo.enterText(0, username); + solo.enterText(1, password); + solo.clickOnText(solo.getString(R.string.login_button)); + solo.waitForDialogToClose(); + assertLoggedIn(); + } + + private void assertLoggedIn() { + String log_out = solo.getString(R.string.logout_button); + solo.waitForText(log_out); + } + + void assertLoggedOut() { + String log_in = solo.getString(R.string.login_button); + solo.waitForText(log_in); + } + + void logOut() { + assertLoggedIn(); + clickUserSessionButton(); + + solo.clickOnActionBarItem(R.string.logout_button); + solo.waitForDialogToClose(); + assertLoggedOut(); + } +} |