Files
briar/briar-android/test/java/briarproject/activity/SetupActivityTest.java
Ernir Erlingsson 8bb1d444c6 interlude
2016-05-11 11:52:56 +02:00

104 lines
3.3 KiB
Java

package briarproject.activity;
import android.support.design.widget.TextInputLayout;
import android.widget.Button;
import android.widget.EditText;
import com.google.common.base.Strings;
import org.briarproject.BuildConfig;
import org.briarproject.R;
import org.briarproject.android.ActivityModule;
import org.briarproject.android.SetupActivity;
import org.briarproject.android.controller.SetupController;
import org.briarproject.android.controller.SetupControllerImp;
import org.briarproject.android.util.StrengthMeter;
import org.briarproject.api.crypto.PasswordStrengthEstimator;
import org.briarproject.api.identity.AuthorConstants;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricGradleTestRunner;
import org.robolectric.annotation.Config;
import static junit.framework.Assert.assertEquals;
@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 21)
public class SetupActivityTest {
private SetupActivity setupActivity;
TextInputLayout nicknameEntryWrapper;
TextInputLayout passwordEntryWrapper;
TextInputLayout passwordConfirmationWrapper;
EditText nicknameEntry;
EditText passwordEntry;
EditText passwordConfirmation;
StrengthMeter strengthMeter;
Button createAccountButton;
class TestSetupActivity extends SetupActivity {
@Override
protected ActivityModule getActivityModule() {
return new ActivityModule(this) {
@Override
protected SetupController provideSetupController(
SetupControllerImp setupControllerImp) {
SetupController setupController =
Mockito.mock(SetupControllerImp.class);
Mockito.when(
setupController.estimatePasswordStrength("strong"))
.thenReturn(PasswordStrengthEstimator.STRONG);
// Mockito.when(
// setupController.estimatePasswordStrength("qstrong"))
// .thenReturn(PasswordStrengthEstimator.QUITE_STRONG);
return setupController;
}
};
}
}
@Before
public void setUp() {
setupActivity = Robolectric.setupActivity(SetupActivity.class);
nicknameEntryWrapper = (TextInputLayout) setupActivity
.findViewById(R.id.nickname_entry_wrapper);
passwordEntryWrapper = (TextInputLayout) setupActivity
.findViewById(R.id.password_entry_wrapper);
passwordConfirmationWrapper = (TextInputLayout) setupActivity
.findViewById(R.id.password_confirm_wrapper);
nicknameEntry =
(EditText) setupActivity.findViewById(R.id.nickname_entry);
passwordEntry =
(EditText) setupActivity.findViewById(R.id.password_entry);
passwordConfirmation =
(EditText) setupActivity.findViewById(R.id.password_confirm);
strengthMeter =
(StrengthMeter) setupActivity.findViewById(R.id.strength_meter);
createAccountButton =
(Button) setupActivity.findViewById(R.id.create_account);
}
@Test
public void test() {
String longNick =
Strings.padEnd("*", AuthorConstants.MAX_AUTHOR_NAME_LENGTH + 1,
'*');
nicknameEntry.setText(longNick);
assertEquals(nicknameEntryWrapper.getError(),
setupActivity.getString(R.string.name_too_long));
passwordEntry.setText("strong");
assertEquals(strengthMeter.getProgress(),
strengthMeter.getMax() * PasswordStrengthEstimator.STRONG);
// passwordEntry.setText("strong");
// assertEquals(StrengthMeter.GREEN, strengthMeter.getColor());
// setupActivity.
}
}