From 925a76a9d20e8cdf87c852c7ccd20f4bd4c754c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Fri, 1 May 2015 10:32:28 +0200 Subject: Separated tests for UserStatusFragment. This way, I can add more easily the tests for errors. --- .../test/UserStatusTestController.java | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java (limited to 'app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java') 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(); + } +} -- cgit v1.2.3 From 5cc63073c78f0792ea462f0c2119ce5d361e9c5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Fri, 1 May 2015 11:25:40 +0200 Subject: Separated tests for VpnFragment. --- .../java/se/leap/bitmaskclient/test/UserStatusTestController.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java') diff --git a/app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java b/app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java index a8b6bfe8..dea81d73 100644 --- a/app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java +++ b/app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java @@ -1,10 +1,10 @@ package se.leap.bitmaskclient.test; -import android.view.View; +import android.view.*; -import com.robotium.solo.Solo; +import com.robotium.solo.*; -import se.leap.bitmaskclient.R; +import se.leap.bitmaskclient.*; public class UserStatusTestController { private final Solo solo; -- cgit v1.2.3 From 53b5cea881697d87ed655dd985368fc62a0b077b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Fri, 1 May 2015 11:57:26 +0200 Subject: Added test with an incorrect password. --- .../bitmaskclient/test/UserStatusTestController.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java') diff --git a/app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java b/app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java index dea81d73..138dfa71 100644 --- a/app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java +++ b/app/src/androidTest/java/se/leap/bitmaskclient/test/UserStatusTestController.java @@ -51,4 +51,20 @@ public class UserStatusTestController { solo.waitForDialogToClose(); assertLoggedOut(); } + + boolean assertErrorLogInDialogAppears() { + solo.waitForDialogToOpen(); + + String username_hint = solo.getEditText(0).getHint().toString(); + String correct_username_hint = solo.getString(R.string.username_hint); + String password_hint = solo.getEditText(1).getHint().toString(); + String correct_password_hint = solo.getString(R.string.password_hint); + String user_message = solo.getText(0).toString(); + String riseup_user_message = solo.getString(R.string.login_riseup_warning); + + return username_hint.equalsIgnoreCase(correct_username_hint) + && password_hint.equalsIgnoreCase(correct_password_hint) + && !user_message.equalsIgnoreCase(riseup_user_message) + && !user_message.isEmpty(); + } } -- cgit v1.2.3