package com.onemore.karungguniapp.test; import android.content.Context; import android.test.ActivityInstrumentationTestCase2; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Spinner; import com.jayway.android.robotium.solo.Solo; import com.onemore.karungguniapp.AccountManager; import com.onemore.karungguniapp.KarungGuniActivity; import com.onemore.karungguniapp.SignupActivity; import com.onemore.karungguniapp.Main; import com.onemore.karungguniapp.SellerActivity; // TODO Not working // Test cases for successful logins public class SignupActivityTest extends ActivityInstrumentationTestCase2<Main>{ Solo solo; Context context; EditText username; EditText email; EditText password ; Spinner role; View submit; String[] TestName={"NEW","NEW","NEW"} ; String[] testEmail = {"kgtest@domain.com", "NEW@domain.com", "newKGtest@domain.com"}; public SignupActivityTest() { super(Main.class); } protected void setUp() throws Exception { super.setUp(); AccountManager.clearCurrentUser(getInstrumentation().getTargetContext()); solo = new Solo(getInstrumentation(),getActivity()); } public void testSignu_Invalid1(){ solo.assertCurrentActivity("Current activity not Main", Main.class); solo.clickOnView(solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.signup)); assertTrue("SignupActivity not launched", solo.waitForActivity(SignupActivity.class, 10000)); solo.assertCurrentActivity("Current activity not SignupActivity", SignupActivity.class); username = (EditText)solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.reuname); email = (EditText)solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.eemail); password = (EditText)solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.repass); role = (Spinner)solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.spinner1); submit = solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.submit); assertNotNull(username); assertNotNull(email); assertNotNull(password); assertNotNull(role); assertNotNull(submit); int i = 0; solo.enterText(username, TestName[i]); solo.enterText(email, testEmail[i]); solo.enterText(password, "password"); solo.clickOnView(submit); assertFalse("KarungGuniActivity launched", solo.waitForActivity(KarungGuniActivity.class, 2000)); assertFalse("SellerActivity launched", solo.waitForActivity(SellerActivity.class, 2000)); solo.assertCurrentActivity("Current activity SignupActivity", SignupActivity.class); } public void testSignupInvalid2(){ solo.assertCurrentActivity("Current activity not Main", Main.class); solo.clickOnView(solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.signup)); assertTrue("SignupActivity not launched", solo.waitForActivity(SignupActivity.class, 10000)); solo.assertCurrentActivity("Current activity not SignupActivity", SignupActivity.class); username = (EditText)solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.reuname); email = (EditText)solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.eemail); password = (EditText)solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.repass); role = (Spinner)solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.spinner1); submit = solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.submit); assertNotNull(username); assertNotNull(email); assertNotNull(password); assertNotNull(role); assertNotNull(submit); int i = 1; solo.enterText(username, TestName[i]); solo.enterText(password, "password"); solo.clickOnView(submit); assertFalse("KarungGuniActivity launched", solo.waitForActivity(KarungGuniActivity.class, 2000)); assertFalse("SellerActivity launched", solo.waitForActivity(SellerActivity.class, 2000)); solo.assertCurrentActivity("Current activity LoginActivity", SignupActivity.class); } public void testSignup_Kg(){ solo.assertCurrentActivity("Current activity not Main", Main.class); solo.clickOnView(solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.signup)); assertTrue("SignupActivity not launched", solo.waitForActivity(SignupActivity.class, 10000)); solo.assertCurrentActivity("Current activity not SignupActivity", SignupActivity.class); username = (EditText)solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.reuname); email = (EditText)solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.eemail); password = (EditText)solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.repass); role = (Spinner)solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.spinner1); submit = solo.getCurrentActivity().findViewById(com.onemore.karungguniapp.R.id.submit); assertNotNull(username); assertNotNull(email); assertNotNull(password); assertNotNull(role); assertNotNull(submit); int i = 2; solo.enterText(username, TestName[i]); solo.enterText(email, testEmail[i]); solo.enterText(password, "password"); solo.clickOnView(submit); assertTrue("KarungGuniActivity not launched", solo.waitForActivity(KarungGuniActivity.class, 10000)); solo.assertCurrentActivity("Current activity not KarungGuniActivity", KarungGuniActivity.class); } protected void tearDown() throws Exception { AccountManager.clearCurrentUser(getInstrumentation().getTargetContext()); solo.finishOpenedActivities(); super.tearDown(); } }