package com.kanshu.kanshu.test.activity;
import android.test.ActivityInstrumentationTestCase2;
import com.kanshu.kanshu.LoginActivity;
import com.kanshu.kanshu.test.screen.LoginScreen;
import com.robotium.solo.Solo;
import junit.framework.Assert;
/**
* LoginActivity instrumentation test
* @author Victor Sima
*/
public class LoginActivityTest extends ActivityInstrumentationTestCase2<LoginActivity> {
public LoginActivityTest() {
super(LoginActivity.class);
}
private static final int DEFAULT_TIMEOUT = 2000; //2 secs
private Solo solo;
private LoginActivity loginActivity;
private LoginScreen loginScreen;
public void setUp() throws Exception {
super.setUp();
loginActivity = getActivity();
solo = new Solo(getInstrumentation(), loginActivity);
loginScreen = new LoginScreen(loginActivity);
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
super.tearDown();
}
public void testLoginScreenAppeared() throws Exception {
Assert.assertTrue(solo.waitForActivity(LoginActivity.class, DEFAULT_TIMEOUT));
Assert.assertTrue(solo.waitForView(loginScreen.getEmailEditText(), DEFAULT_TIMEOUT, true));
Assert.assertTrue(solo.waitForView(loginScreen.getPasswordEditText(), DEFAULT_TIMEOUT, true));
Assert.assertTrue(solo.waitForView(loginScreen.getLoginButton(), DEFAULT_TIMEOUT, true));
}
public void testUserLogin() throws Exception {
solo.typeText(loginScreen.getEmailEditText(), "test_email@kansu.com");
solo.typeText(loginScreen.getPasswordEditText(), "my_password");
solo.clickOnView(loginScreen.getLoginButton());
}
}