Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Registers qa #1007

Merged
merged 5 commits into from
Jul 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions reference-app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ dependencies {
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.3.0'
androidTestImplementation 'androidx.test.espresso:espresso-intents:3.4.0'
androidTestImplementation project(':reference-app')
debugImplementation "androidx.test:monitor:1.6.0"
androidTestImplementation 'androidx.test:core:1.4.0'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,25 +1,18 @@
package org.smartregister.anc.activity.anc;

import static androidx.test.espresso.Espresso.closeSoftKeyboard;

import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.action.ViewActions.click;
import static androidx.test.espresso.action.ViewActions.scrollTo;
import static androidx.test.espresso.action.ViewActions.typeText;
import static androidx.test.espresso.assertion.ViewAssertions.matches;
import static androidx.test.espresso.matcher.RootMatchers.withDecorView;
import static androidx.test.espresso.matcher.ViewMatchers.hasDescendant;
import static androidx.test.espresso.matcher.ViewMatchers.isClickable;

import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
import static androidx.test.espresso.matcher.ViewMatchers.withContentDescription;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static androidx.test.espresso.matcher.ViewMatchers.withSubstring;
import static androidx.test.espresso.matcher.ViewMatchers.withText;

//import static org.smartregister.anc.activity.utils.Utils.withRecyclerViewId;

import static androidx.test.espresso.matcher.ViewMatchers.withText;
import static org.hamcrest.CoreMatchers.allOf;
import static org.hamcrest.CoreMatchers.is;

import androidx.test.espresso.action.ViewActions;
import androidx.test.espresso.contrib.RecyclerViewActions;
import androidx.test.ext.junit.rules.ActivityScenarioRule;
Expand Down Expand Up @@ -48,18 +41,18 @@ public class HomePageActivityTest {
private Utils utils = new Utils();

@Test
public void A_setUp() throws InterruptedException {
public void asetUp() throws InterruptedException {
utils.logIn(Constants.ancConstants.ancUsername, Constants.ancConstants.ancPassword);
}

@Test
public void B_SearchBarPresent() {
public void bSearchBarPresent() {
onView(withId(R.id.search_bar_layout)).check(matches(isDisplayed()));

}

@Test
public void C_SearchPatientByName() throws InterruptedException {
public void cSearchPatientByName() throws InterruptedException {

onView(withId(R.id.edt_search)).perform(typeText(Configs.TestDataConfigs.clientName), ViewActions.closeSoftKeyboard());
onView(withId(R.id.patient_name)).check(matches(isDisplayed()));
Expand All @@ -68,7 +61,7 @@ public void C_SearchPatientByName() throws InterruptedException {
}

@Test
public void C_SearchPatientByID() throws InterruptedException {
public void dSearchPatientByID() throws InterruptedException {

onView(withId(R.id.edt_search)).perform(typeText(Configs.TestDataConfigs.clientID), ViewActions.closeSoftKeyboard());
onView(withId(R.id.patient_name)).check(matches(isDisplayed()));
Expand All @@ -77,7 +70,7 @@ public void C_SearchPatientByID() throws InterruptedException {
}

@Test
public void D_AdvancedSearch() throws InterruptedException {
public void eAdvancedSearch() throws InterruptedException {
onView(withId(R.id.action_search)).perform(click());
onView(withId(R.id.qrCodeButton)).check(matches(isDisplayed()));
Thread.sleep(1000);
Expand All @@ -87,7 +80,7 @@ public void D_AdvancedSearch() throws InterruptedException {
}

@Test
public void E_OpenLibrary() throws InterruptedException {
public void fOpenLibrary() throws InterruptedException {
onView(withId(R.id.action_library)).perform(click());
onView(withId(R.id.library_toolbar_title)).check(matches(isDisplayed()));
Thread.sleep(1000);
Expand All @@ -96,28 +89,28 @@ public void E_OpenLibrary() throws InterruptedException {

}
@Test
public void userCanAccessANCRegistrationForm() throws InterruptedException {
public void guserCanAccessANCRegistrationForm() throws InterruptedException {
onView(withContentDescription("Register")).perform(click());
Thread.sleep(1500);
onView(withId(R.id.scan_button)).check(matches(isDisplayed()));
}
@Test
public void userCanAccessProfile() throws InterruptedException {
public void huserCanAccessProfile() throws InterruptedException {
onView(withContentDescription("Me")).perform(click());
Thread.sleep(1500);
onView(withId(R.id.locationImageView)).check(matches(isDisplayed()));
}

@Test
public void userCanClickOnAPatient() throws InterruptedException {
public void iuserCanClickOnAPatient() throws InterruptedException {
onView(allOf(withId(R.id.recycler_view), isDisplayed()))
.perform(RecyclerViewActions.actionOnItemAtPosition(0, click()));
Thread.sleep(2000);
onView(withId(R.id.btn_profile_registration_info)).check(matches(isDisplayed()));
}

@Test
public void userCanClickOnNextButtonOnRegister() throws InterruptedException {
public void juserCanClickOnNextButtonOnRegister() throws InterruptedException {
Thread.sleep(2000);
onView(allOf(withId(R.id.recycler_view), isDisplayed()))
.perform(RecyclerViewActions.scrollToPosition(20));
Expand All @@ -126,7 +119,7 @@ public void userCanClickOnNextButtonOnRegister() throws InterruptedException {
onView(withId(R.id.btn_previous_page)).check(matches(isDisplayed()));
}
@Test
public void userCanClickOnThePreviousBtnOnRegister() throws InterruptedException {
public void kuserCanClickOnThePreviousBtnOnRegister() throws InterruptedException {
Thread.sleep(2000);
onView(allOf(withId(R.id.recycler_view), isDisplayed()))
.perform(RecyclerViewActions.scrollToPosition(20));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,23 @@
import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.action.ViewActions.click;
import static androidx.test.espresso.action.ViewActions.closeSoftKeyboard;
import static androidx.test.espresso.action.ViewActions.replaceText;
import static androidx.test.espresso.action.ViewActions.scrollTo;

import static androidx.test.espresso.action.ViewActions.typeText;
import static androidx.test.espresso.assertion.ViewAssertions.matches;
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
import static androidx.test.espresso.matcher.ViewMatchers.withContentDescription;

import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static androidx.test.espresso.matcher.ViewMatchers.withParent;

import static androidx.test.espresso.matcher.ViewMatchers.withText;
import org.smartregister.anc.activity.LoginActivity;



import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;

import androidx.test.espresso.ViewInteraction;
import androidx.test.espresso.action.TypeTextAction;
import androidx.test.ext.junit.rules.ActivityScenarioRule;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;

import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeMatcher;

import org.junit.FixMethodOrder;
import org.junit.Rule;
import org.junit.Test;
Expand All @@ -39,29 +30,31 @@
import org.smartregister.anc.activity.utils.Constants;
import org.smartregister.anc.activity.utils.Utils;


@LargeTest
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
@RunWith(AndroidJUnit4.class)
public class LoginActivityTest {
Utils utils = new Utils();

@Rule
public ActivityScenarioRule<LoginActivity> mActivityScenario = new ActivityScenarioRule<>(LoginActivity.class);
public String correctPassword = "Amani123";




@Test
public void E_testShowPassword(){
onView(withId(R.id.login_password_edit_text)).perform(typeText(correctPassword),closeSoftKeyboard());
public void eTestShowPassword(){
onView(withId(R.id.login_password_edit_text)).perform(typeText(Constants.ancConstants.ancPassword),closeSoftKeyboard());
onView(withId(R.id.login_show_password_checkbox)).perform(click(),closeSoftKeyboard());
onView(withId(R.id.login_password_edit_text)).check(matches(withText(correctPassword)));
onView(withId(R.id.login_password_edit_text)).check(matches(withText(Constants.ancConstants.ancPassword)));

}

@Test
public void F_testSuccessfulLogin() throws InterruptedException {
onView(withId(R.id.login_user_name_edit_text)).perform(typeText("demo"), closeSoftKeyboard());
onView(withId(R.id.login_password_edit_text)).perform(typeText(correctPassword), closeSoftKeyboard());
public void fTestSuccessfulLogin() throws InterruptedException {
onView(withId(R.id.login_user_name_edit_text)).perform(typeText(Constants.ancConstants.ancUsername), closeSoftKeyboard());
onView(withId(R.id.login_password_edit_text)).perform(typeText(Constants.ancConstants.ancPassword), closeSoftKeyboard());
onView(withId(R.id.login_login_btn)).perform(click());
Thread.sleep(30000);
//fix error caused by the id edt_search
Expand All @@ -70,9 +63,9 @@ public void F_testSuccessfulLogin() throws InterruptedException {
}

@Test
public void C_testIncorrectUsername() throws InterruptedException {
public void cTestIncorrectUsername() throws InterruptedException {
onView(withId(R.id.login_user_name_edit_text)).perform(typeText("Beba"),closeSoftKeyboard());
onView(withId(R.id.login_password_edit_text)).perform(typeText(correctPassword),closeSoftKeyboard());
onView(withId(R.id.login_password_edit_text)).perform(typeText(Constants.ancConstants.ancPassword),closeSoftKeyboard());
onView(withId(R.id.login_login_btn)).perform(click());
Thread.sleep(20000);
onView(withText("Please check the credentials")).check(matches(isDisplayed()));
Expand All @@ -83,9 +76,9 @@ public void C_testIncorrectUsername() throws InterruptedException {


@Test
public void D_testIncorrectPassword() throws InterruptedException {
onView(withId(R.id.login_user_name_edit_text)).perform(typeText("demo"),closeSoftKeyboard());
onView(withId(R.id.login_password_edit_text)).perform(typeText("mani"),closeSoftKeyboard());
public void dTestIncorrectPassword() throws InterruptedException {
onView(withId(R.id.login_user_name_edit_text)).perform(typeText(Constants.ancConstants.ancUsername),closeSoftKeyboard());
onView(withId(R.id.login_password_edit_text)).perform(typeText("koko"),closeSoftKeyboard());
onView(withId(R.id.login_login_btn)).perform(click());
Thread.sleep(20000);
onView(withText("Please check the credentials")).check(matches(isDisplayed()));
Expand All @@ -94,9 +87,9 @@ public void D_testIncorrectPassword() throws InterruptedException {
}

@Test
public void A_testEmptyUsername() throws InterruptedException {
public void aTestEmptyUsername() throws InterruptedException {
onView(withId(R.id.login_user_name_edit_text)).perform(typeText(" "),closeSoftKeyboard());
onView(withId(R.id.login_password_edit_text)).perform(typeText(correctPassword),closeSoftKeyboard());
onView(withId(R.id.login_password_edit_text)).perform(typeText(Constants.ancConstants.ancPassword),closeSoftKeyboard());
onView(withId(R.id.login_login_btn)).perform(click());
Thread.sleep(20000);
onView(withText("Please check the credentials")).check(matches(isDisplayed()));
Expand All @@ -105,8 +98,8 @@ public void A_testEmptyUsername() throws InterruptedException {
}

@Test
public void B_testEmptyPassword() throws InterruptedException {
onView(withId(R.id.login_user_name_edit_text)).perform(typeText("Beba"),closeSoftKeyboard());
public void bTestEmptyPassword() throws InterruptedException {
onView(withId(R.id.login_user_name_edit_text)).perform(typeText(Constants.ancConstants.ancPassword),closeSoftKeyboard());
onView(withId(R.id.login_password_edit_text)).perform(typeText(" "),closeSoftKeyboard());
onView(withId(R.id.login_login_btn)).perform(click());
Thread.sleep(20000);
Expand Down
Loading
Loading