Skip to content

Instantly share code, notes, and snippets.

View heitorcolangelo's full-sized avatar

Heitor Colangelo heitorcolangelo

View GitHub Profile
@heitorcolangelo
heitorcolangelo / MainActivityTest.java
Created August 4, 2016 16:50
MainActivityTest - configuring MockWebServer
@RunWith(AndroidJUnit4.class)
public class MainActivityTest {
private MockWebServer server;
@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(MainActivity.class, false, false);
@Before
public void setUp() throws Exception {
@heitorcolangelo
heitorcolangelo / MainActivityTest.java
Last active August 4, 2016 18:11
MainActivityTest - configuring mirror
@RunWith(AndroidJUnit4.class)
public class MainActivityTest {
private MockWebServer server;
@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(MainActivity.class, false, false);
@Before
public void setUp() throws Exception {
@heitorcolangelo
heitorcolangelo / MainActivityTest.java
Created August 4, 2016 19:14
MainActivityTeste - first test
@Test
public void whenResultIsOk_shouldDisplayListWithUsers() {
server.enqueue(new MockResponse().setResponseCode(200).setBody(Mocks.SUCCESS));
mActivityRule.launchActivity(new Intent());
onView(withId(R.id.recycler_view)).check(matches(isDisplayed()));
}
@heitorcolangelo
heitorcolangelo / MainActivityTest.java
Created August 12, 2016 01:26
MainActivityTest - recycler view layout item WRONG
@Test
public void checkUserItemView_isDisplayed() {
server.enqueue(new MockResponse().setResponseCode(200).setBody(Mocks.SUCCESS));
mActivityRule.launchActivity(new Intent());
onView(withId(R.id.user_view_image)).check(matches(isDisplayed()));
onView(withId(R.id.user_view_name)).check(matches(isDisplayed()));
}
@heitorcolangelo
heitorcolangelo / MainActivityTest.java
Created August 12, 2016 01:41
MainActivityTest - recycler view item layout CORRECT
@Test
public void checkUserItemView_isDisplayed() {
server.enqueue(new MockResponse().setResponseCode(200).setBody(Mocks.SUCCESS_SINGLE_ITEM));
mActivityRule.launchActivity(new Intent());
onView(withId(R.id.user_view_image)).check(matches(isDisplayed()));
onView(withId(R.id.user_view_name)).check(matches(isDisplayed()));
}
@heitorcolangelo
heitorcolangelo / MainActivityTest.java
Created August 18, 2016 01:28
MainActivityTest - testing list item no tricks
@Test
public void checkUserItemView_isDisplayed_noTricks() {
server.enqueue(new MockResponse().setResponseCode(200).setBody(Mocks.SUCCESS));
mActivityRule.launchActivity(new Intent());
onView(allOf(withId(R.id.user_view_image), hasSibling(withText("Eddie Dunn")))).check(matches(isDisplayed()));
onView(allOf(withId(R.id.user_view_name), withText("Eddie Dunn"))).check(matches(isDisplayed()));
}
@heitorcolangelo
heitorcolangelo / MainActivityTest.java
Last active August 20, 2016 13:53
MainActivityTest.java - click on item scenario
@Test
public void whenClickOnItemList_shouldStartUserDetailsActivity_withExtra() {
server.enqueue(new MockResponse().setResponseCode(200).setBody(Mocks.SUCCESS));
mActivityRule.launchActivity(new Intent());
Intents.init();
Matcher<Intent> matcher = allOf(
hasComponent(UserDetailsActivity.class.getName()),
hasExtraWithKey(UserDetailsActivity.CLICKED_USER)
);
@heitorcolangelo
heitorcolangelo / UserDetailsActivity.java
Last active September 3, 2016 18:29
UserDetailsActivity - check no info text
@Test
public void whenEmailIsMissing_shouldDisplay_noInfoMessage() {
mActivityRule.launchActivity(createIntent(true));
onView(withId(R.id.user_details_image)).check(matches(isDisplayed()));
onView(withId(R.id.user_details_name)).check(matches(isDisplayed()));
onView(allOf(
withId(R.id.image_and_text_image),
hasSibling(withText("No info available."))))
.check(matches(isDisplayed()));
}
@heitorcolangelo
heitorcolangelo / TextColorMatcher.java
Last active September 6, 2016 01:51
To match textColor of a TextView
public class TextColorMatcher {
private TextColorMatcher(){}
public static Matcher<View> withTextColor(@ColorInt final int expectedColor) {
return new BoundedMatcher<View, TextView>(TextView.class) {
int currentColor = 0;
@Override
public void describeTo(Description description) {
description.appendText("expected TextColor: ")
@heitorcolangelo
heitorcolangelo / UserDetailsActivity.java
Created September 6, 2016 20:53
UserDetailsActivity - testing text color
@Test
public void whenEmailIsMissing_shouldDisplay_noInfoMessage() {
mActivityRule.launchActivity(createIntent(true));
onView(withId(R.id.user_details_image)).check(matches(isDisplayed()));
onView(withId(R.id.user_details_name)).check(matches(isDisplayed()));
onView(allOf(
withId(R.id.image_and_text_image),
hasSibling(withText("No info available.")))
).check(matches(isDisplayed()));